ia=V2a*V0V1ia=a+V2a*V5V6a*V0V1Aa<=c0V6Aa<V6V3Aa<=c0V3Ia=V6adivV3c2FANa=c2c0Ia=V5a*c2V4Fa=a+V7a*V8V9a*V0V1Aa<=c0V9Aa<V9V3Aa<=c0V3Ia=V9adivV3c2FANa=c2c0Ia=V8a*c2V4FIa=V7a+V2V4Fa=amodV3c2c1ANa=c2c0Na=V3c0Ia=a+V2a*V4V3a*V0V1Aa<=c0V3FAa=a+c0a*V0V1a*V0V1Aa<=c0V1Ia>=V1c0F
VC for binary_mult
a<aint63'intamin_inta*aint63'intaaaint63'intab
a<=a*aint63'intaaaint63'intabaint63'intamax_int
ia<=c0c0Aa<=a*aint63'intaaaint63'intabc0a>=c0c0Aa>=a*aint63'intaaaint63'intabc0a>=a*aint63'intaaaint63'intabc0
loop invariant init
a=a+c0a*aint63'intaaaint63'intaba*aint63'intaaaint63'intab
ia<=aint63'intazc0Aa<=a*aint63'intaxaint63'intayc0a>=aint63'intazc0Aa>=a*aint63'intaxaint63'intayc0a>=a*aint63'intaaaint63'intabc0
a=a+aint63'intaza*aint63'intaxaint63'intaya*aint63'intaaaint63'intab
a=aoaTrueIa=aint63'intayc0
a=ayc0Ia=aoaTrue
Na=aoaTrue
Na=c2c0
division by zero
ain_boundsamodaint63'intayc2
integer overflow
a=aint63'intao1amodaint63'intayc2
ain_boundsa*aint63'intaxaint63'intao1
a=aint63'intao2a*aint63'intaxaint63'intao1
ain_boundsa+aint63'intazaint63'intao2
a=aint63'intaz1a+aint63'intazaint63'intao2
ain_boundsadivaint63'intayc2
a=aint63'intay1adivaint63'intayc2
a=ao3aTrueIa=aint63'intay1c0
a=ay1c0Ia=ao3aTrue
Na=ao3aTrue
ain_boundsa*c2aint63'intax
a=aint63'intax1a*c2aint63'intax
a<aabsaint63'intay1aabsaint63'intayAa<=c0aabsaint63'intay
loop variant decrease
ia<=aint63'intaz1c0Aa<=a*aint63'intax1aint63'intay1c0a>=aint63'intaz1c0Aa>=a*aint63'intax1aint63'intay1c0a>=a*aint63'intaaaint63'intabc0
loop invariant preservation
a=a+aint63'intaz1a*aint63'intax1aint63'intay1a*aint63'intaaaint63'intab
NNa=ao3aTrue
ia<=aint63'intaz1c0Aa<=a*aint63'intaxaint63'intay1c0a>=aint63'intaz1c0Aa>=a*aint63'intaxaint63'intay1c0a>=a*aint63'intaaaint63'intabc0
a=a+aint63'intaz1a*aint63'intaxaint63'intay1a*aint63'intaaaint63'intab
NNa=aoaTrue
a=aint63'intaza*aint63'intaaaint63'intab
postcondition
ia=aint63'intV2a*aint63'intV0aint63'intV1ia=a+aint63'intV9a*aint63'intV4aint63'intV11a*aint63'intV0aint63'intV1Aia<=aint63'intV9c0Aa<=a*aint63'intV4aint63'intV11c0a>=aint63'intV9c0Aa>=a*aint63'intV4aint63'intV11c0a>=a*aint63'intV0aint63'intV1c0Aa<aabsaint63'intV11aabsaint63'intV3Aa<=c0aabsaint63'intV3a=a+aint63'intV9a*aint63'intV14aint63'intV11a*aint63'intV0aint63'intV1Aia<=aint63'intV9c0Aa<=a*aint63'intV14aint63'intV11c0a>=aint63'intV9c0Aa>=a*aint63'intV14aint63'intV11c0a>=a*aint63'intV0aint63'intV1c0Aa<aabsaint63'intV11aabsaint63'intV3Aa<=c0aabsaint63'intV3Ia=V14V13FIa=aint63'intV13a*c2aint63'intV4FAain_boundsa*c2aint63'intV4Na=V12aTrueIa=V11c0Ia=V12aTrueAa=V12aTrueIa=aint63'intV11c0FIa=V11V10FIa=aint63'intV10adivaint63'intV3c2FAain_boundsadivaint63'intV3c2ANa=c2c0Ia=V9V8FIa=aint63'intV8a+aint63'intV2aint63'intV7FAain_boundsa+aint63'intV2aint63'intV7Ia=aint63'intV7a*aint63'intV4aint63'intV6FAain_boundsa*aint63'intV4aint63'intV6Ia=aint63'intV6amodaint63'intV3c2FAain_boundsamodaint63'intV3c2ANa=c2c0Na=V5aTrue

834d8cb2656f186ca58bd35bfc873c5e 1H0
682285a8dcca4263744d406b98441b01 1H39
c4f7038b42dafe44dbd4d19475aa2fbf 5H4H3H2
d042c5bd170073ddb5082fbf6c4a11df 5H6H4H3H2
6a79a40de4104e5b13096bf4931cc97c 13H12H11H10H9H8H7H3H2
3eadd26ea37624c3526ea473705c54d5 15H14H12H11H10H9H8H7H3H2
68494460c9a4fa7db7693e71ac4c8caa 15H17H16H11H10H9H8H7H3H2
1b5b4a7f06e0926d6184b51c00e131e1 15H19H18H16H11H10H9H8H7H3H2
44541dc8ed7e153db7e08b1e95c1dd07 13H12H20H18H16H11H10H9H8H7H3H2
2e04cb172489db9e39a8f56ff2c39002 15H21H12H20H18H16H11H10H9H8H7H3H2
f2b270bcc8a21a49904a0e99558b39c9 15H26H25H24H23H22H20H18H16H11H10H9H8H7H3H2
7709cb6bd9af76f69bcb6191e5480dd6 29H28H27H25H24H23H22H20H18H16H11H10H9H8H7H3H2
fdb0ad49ff0990bc9415f625466a9b26 31H30H27H25H24H23H22H20H18H16H11H10H9H8H7H3H2
be08c1c43239eb8ebe904548899cbcc6 31H32H30H27H25H24H23H22H20H18H16H11H10H9H8H7H3H2
f5ff89a92ab5bf3e2b6398f7ec11120e 29H28H33H24H23H22H20H18H16H11H10H9H8H7H3H2
2924e409f4404cd239102c6dbbce2714 31H34H33H24H23H22H20H18H16H11H10H9H8H7H3H2
36eae45633938c4f82e8243c11ac4b8c 31H35H34H33H24H23H22H20H18H16H11H10H9H8H7H3H2
ed5b36f6a3cd844b7b02fba1241c525f 38H37H36H10H9H8H7H3H2
