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-addmod-through-fnptr-arg",
"note": "Narrow addmod overflow passed through an internal function-pointer call misses Panic(0x11). solc+EVM observable is revert|panic:17##EVT####STO##; solidity-lean computes success|[w:6]##EVT####STO##0:1 (differing component: revert-vs-success)."
}
===END-ARENA-MANIFEST=== */
contract T {
bool internal cflag;
uint256 internal trace;
function fpt0(uint128 x) internal pure returns (uint128) { return x; }
constructor() {
cflag = true;
}
function p0() internal returns (uint256) {
uint128 am0 = uint128(340282366920938463463374607431768211455); uint128 an0 = uint128(9);
function(uint128) internal pure returns (uint128) fp0 = fpt0;
return uint256(fp0(uint128(uint128(addmod(uint256(am0 + an0), 1, 7)))));
}
function run() public returns (uint256[1] memory out) {
out[0] = p0();
out[0] = out[0] + trace * 0;
}
}