Submitted, awaiting the pre-agent gates.
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.35;
/* ===ARENA-MANIFEST===
{
"deploy": {
"contract": "T",
"args": []
},
"entry": {
"function": "run",
"args": []
},
"feature": "narrow-overflow-in-short-circuit",
"note": "Narrow multiplication overflow in a short-circuit operand misses Panic(0x11). solc+EVM observable is revert|panic:17##EVT####STO##; solidity-lean computes success|[w:0]##EVT####STO##0:1 (differing component: revert-vs-success)."
}
===END-ARENA-MANIFEST=== */
contract T {
bool internal cflag;
uint256 internal trace;
constructor() {
cflag = true;
}
function p0() internal returns (uint256) {
uint64 ma0 = uint64(4294967296); uint64 mb0 = uint64(4294967296);
bool bb0 = cflag && (((ma0 * mb0 << 0)) != 0);
return (bb0 ? uint256(1) : uint256(0));
}
function run() public returns (uint256[1] memory out) {
out[0] = p0();
out[0] = out[0] + trace * 0;
}
}