solidity/test/libyul/yulOptimizerTests/reasoningBasedSimplifier/mulcheck.yul
2022-02-16 22:11:47 +01:00

32 lines
822 B
Plaintext

{
let vloc_x := calldataload(0)
let vloc_y := calldataload(1)
if lt(vloc_x, 0x1000000000000000) {
if lt(vloc_y, 0x1000000000000000) {
if iszero(and(iszero(iszero(vloc_x)), gt(vloc_y, div(not(0), vloc_x)))) {
let vloc := mul(vloc_x, vloc_y)
sstore(0, vloc)
}
}
}
}
// ====
// EVMVersion: >=constantinople
// ----
// step: reasoningBasedSimplifier
//
// {
// let vloc_x := calldataload(0)
// let vloc_y := calldataload(1)
// if lt(vloc_x, 0x1000000000000000)
// {
// if lt(vloc_y, 0x1000000000000000)
// {
// if iszero(and(iszero(iszero(vloc_x)), gt(vloc_y, div(not(0), vloc_x))))
// {
// sstore(0, mul(vloc_x, vloc_y))
// }
// }
// }
// }