a=V2agcdV0V1Iia=V2agcdV1amodV0V1a=V2V0a=V1c0FAa>=V3c0Aa>=V1c0Aa<V3V1Aa<=c0V1LamodV0V1ANa=V1c0INa=V1c0Ia>=V1c0Aa>=V0c0F
VC for euclid
ia=V2agcdV0V1a=agcdV5V4agcdV0V1Aa>=V4c0Aa>=V5c0Aa<V4V3Aa<=c0V3Ia=V5V3FIa=V4amodV2V3FANa=V3c0Na=V3c0Ia=agcdV2V3agcdV0V1Aa>=V3c0Aa>=V2c0FAtAa>=V1c0Aa>=V0c0Ia>=V1c0Aa>=V0c0F
a=V0a*c2adivV0c2qaevenV0Ia<=c0V0F
empty_shape
a=V1a+a*c2adivV1c2c1qNaevenV1Ia<=c0V1F
a<=c0adivV2c2Ia<=c0V2F
a=agcda*c2V3a*c2V4a*c2agcdV3V4Ia<=c0V3Ia<=c0V4F
a=agcda*c2V5a+a*c2V6c1agcdV5a+a*c2V6c1Ia<=c0V5Ia<=c0V6F
a=agcdV7V8agcdadivV7c2V8IaoddV8IaevenV7Ia<=c0V7Ia<=c0V8F
a=adiva-a+a*c2V9c1a+a*c2V10c1c2a-V9V10Ia<=c0V9Ia<=c0V10F
a=agcda+a*c2V11c1a+a*c2V12c1agcda-V11V12a+a*c2V12c1Aa=agcda+a*c2V11c1a+a*c2V12c1agcda-a+a*c2V11c1a*c1a+a*c2V12c1a+a*c2V12c1Ia<=V12V11Aa<=c0V12F
VC for gcd_odd_odd
a=agcda+a*c2V11c1a+a*c2V12c1agcda-V11V12a+a*c2V12c1Ia<=V12V11Aa<=c0V12F
a=agcdV13V14agcdadiva-V13V14c2V14IaoddV14IaoddV13Ia<=V14V13Aa<=c0V14F
a<V16V15Aa<=c0V15Aa=V16V15Oa<V15V16Aa<=c0V16Ia>V16V15Ia>=V16c0Aa>=V15c0F
variant decrease
a>=V15c0Aa>=V16c0Ia>V16V15Ia>=V16c0Aa>=V15c0F
precondition
Na=c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
Na=c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
Na=c2c0Ia=amodV16c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
check division by zero
Na=c2c0LadivV16c2Ia=amodV16c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a<V18V15Aa<=c0V15Aa=V16V17Oa<V17V16Aa<=c0V16LadivV15c2LadivV16c2Ia=amodV16c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a>=V17c0Aa>=V18c0LadivV15c2LadivV16c2Ia=amodV16c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
Na=c2c0INa=amodV16c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a<V17V15Aa<=c0V15LadivV15c2INa=amodV16c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a>=V16c0Aa>=V17c0LadivV15c2INa=amodV16c2c0Ia=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
Na=c2c0INa=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
Na=c2c0Ia=amodV16c2c0INa=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a<V17V16Aa<=c0V16LadivV16c2Ia=amodV16c2c0INa=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a>=V17c0Aa>=V15c0LadivV16c2Ia=amodV16c2c0INa=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
Na=c2c0INa=amodV16c2c0INa=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a<V17V15Aa<=c0V15Ladiva-V15V16c2INa=amodV16c2c0INa=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a>=V16c0Aa>=V17c0Ladiva-V15V16c2INa=amodV16c2c0INa=amodV15c2c0INa=V16c0INa>V16V15Ia>=V16c0Aa>=V15c0F
a=V17agcdV15V16Ia=V17agcdV16V15Aa>V16V15FIa>=V16c0Aa>=V15c0F
postcondition
a=V17agcdV15V16Ia=V17V15Aa=V16c0ANa>V16V15FIa>=V16c0Aa>=V15c0F
a=V17agcdV15V16Ia=V17a*c2agcdadivV15c2adivV16c2Aa=amodV16c2c0Aa=amodV15c2c0ANa=V16c0ANa>V16V15FIa>=V16c0Aa>=V15c0F
a=V17agcdV15V16Ia=V17agcdadivV15c2V16ANa=amodV16c2c0Aa=amodV15c2c0ANa=V16c0ANa>V16V15FIa>=V16c0Aa>=V15c0F
a=V17agcdV15V16Ia=V17agcdV15adivV16c2Aa=amodV16c2c0ANa=amodV15c2c0ANa=V16c0ANa>V16V15FIa>=V16c0Aa>=V15c0F
a=V17agcdV15V16Ia=V17agcdadiva-V15V16c2V16ANa=amodV16c2c0ANa=amodV15c2c0ANa=V16c0ANa>V16V15FIa>=V16c0Aa>=V15c0F
a=V17agcdV15V16Iiiiia=V17agcdadiva-V15V16c2V16a=V17agcdV15adivV16c2a=amodV16c2c0ia=V17agcdadivV15c2V16a=V17a*c2agcdadivV15c2adivV16c2a=amodV16c2c0a=amodV15c2c0a=V17V15a=V16c0a=V17agcdV16V15a>V16V15FIa>=V16c0Aa>=V15c0F
a=V17agcdV15V16Iiiiia=V17agcdadiva-V15V16c2V16a=V17agcdV15adivV16c2a=amodV16c2c0ia=V17agcdadivV15c2V16a=V17a*c2agcdadivV15c2adivV16c2a=amodV16c2c0a=amodV15c2c0a=V17V15a=V16c0a=V17agcdV16V15a>V16V15FAiiia>=V16c0Aa>=V18c0Aa<V18V15Aa<=c0V15Ladiva-V15V16c2ANa=c2c0a>=V19c0Aa>=V15c0Aa<V19V16Aa<=c0V16LadivV16c2ANa=c2c0a=amodV16c2c0ANa=c2c0ia>=V16c0Aa>=V20c0Aa<V20V15Aa<=c0V15LadivV15c2ANa=c2c0a>=V21c0Aa>=V22c0Aa<V22V15Aa<=c0V15Aa=V16V21Oa<V21V16Aa<=c0V16LadivV15c2ANa=c2c0LadivV16c2ANa=c2c0a=amodV16c2c0ANa=c2c0a=amodV15c2c0ANa=c2c0INa=V16c0a>=V15c0Aa>=V16c0Aa<V16V15Aa<=c0V15Aa=V16V15Oa<V15V16Aa<=c0V16a>V16V15Ia>=V16c0Aa>=V15c0F
VC for binary_gcd
a=aint63'intV2agcdaint63'intV0aint63'intV1Iia=aint63'intV2agcdaint63'intV1aint63'intV4Aa=aint63'intV4amodaint63'intV0aint63'intV1Ea=V2V0a=V3aTrueAa=V1c0Ia=V3aTrueAa=V3aTrueIa=aint63'intV1c0EFAa>=aint63'intV6c0Aa>=aint63'intV1c0Aa<ato_intV6ato_intV1Aa<=c0ato_intV1Ia=aint63'intV6amodaint63'intV0aint63'intV1FAain_boundsamodaint63'intV0aint63'intV1ANa=aint63'intV1c0INa=V5aTrueIa=V1c0Ia=V5aTrueAa=V5aTrueIa=aint63'intV1c0FIa>=aint63'intV1c0Aa>=aint63'intV0c0F

3b4cd6e7c771cee6242cff4d20c8b868 1H0
98c78abdb6e15e71d159f9982025891c 1H2
73e0e11ebaa8f48821845af61250f5a3 4H3
38054e7af2d9c79551449e90f15c10ff 4H5H3
f3d3736f83f76217a5c7130c02c4cb9d 4H6H5H3
36d73b6337ae00a54ba358adc6782f55 4H7H6H5H3
ddd0bc76f063405a85bd700b6a940a37 4H8H7H6H5H3
0d54ed1a4d8a0bbb3a9c44ce0166dd1c 4H9H8H7H6H5H3
310494a4c37009b9923139e7f9511f35 4H10H9H8H7H6H5H3
c95e5007c0150767e75701ece940ab48 12H11H10H9H8H7H6H5H3
577654bb8c81a1b070bccf7723089dfc 4H14H13H10H9H8H7H6H5H3
a31dcca7ece74d88e9fd383ad43c1a73 45H44H14H13H10H9H8H7H6H5H3
52c7ad399ec7d1e161982793916b641d 16H15H14H13H10H9H8H7H6H5H3
3511e77566609c80a4de17bca16d4128 18H17H14H13H10H9H8H7H6H5H3
18481298e40624c0c5cb92328dd86525 18H19H14H13H10H9H8H7H6H5H3
82fbacd57ce491d3917c24147649392a 18H20H14H13H10H9H8H7H6H5H3
4029d219d127b479c21027bc1966cf6b 22H21H14H13H10H9H8H7H6H5H3
a238220f74cde63a6c1f11507a2168b5 22H23H14H13H10H9H8H7H6H5H3
45367ee64fb3ea575871bd9477f2f15f 16H24H14H13H10H9H8H7H6H5H3
673830f21c5d72b97202cace72edab2d 18H25H14H13H10H9H8H7H6H5H3
5b11cd080c9cd5b3ba4ddf1cce0df887 22H26H14H13H10H9H8H7H6H5H3
60a8fee23b34b1a9a27de47854c348c6 16H27H14H13H10H9H8H7H6H5H3
ca794a1a4caef32654cd6e4ce014f132 18H28H14H13H10H9H8H7H6H5H3
1ebf3e1879e8dd7aaf153a6acd326467 18H29H14H13H10H9H8H7H6H5H3
84141ece165b469d5be660842ac84bce 22H30H14H13H10H9H8H7H6H5H3
38425baa55ca83a9762e40d4305a075b 16H31H14H13H10H9H8H7H6H5H3
da68f976e56ffec49fae1d09ce04f0f2 18H32H14H13H10H9H8H7H6H5H3
6715afee2e0b6dbd00157dfd7b75bc02 22H33H14H13H10H9H8H7H6H5H3
66d6aee6353d029288ea6182ffd37e44 16H34H14H13H10H9H8H7H6H5H3
afba2514f5a373dfd5ea53414c661fb4 18H35H14H13H10H9H8H7H6H5H3
8756f9668b864e68b4ce85bd6053a5be 37H43H14H13H10H9H8H7H6H5H3
8fe44f9e8cdf4de550510c425374e11c 37H36H14H13H10H9H8H7H6H5H3
c8f1730559cddddb0385775960db3a52 37H38H14H13H10H9H8H7H6H5H3
89fa902b36a02002c807b1759696d0a6 37H39H14H13H10H9H8H7H6H5H3
556b856903461a94658158ad1f44523e 37H40H14H13H10H9H8H7H6H5H3
6ed536b610aa26980f2223409f363719 37H41H14H13H10H9H8H7H6H5H3
39ee8fa0138fa48149e34ca2f69e3154 37H42H14H13H10H9H8H7H6H5H3
1f11bd3736857ac63377b84e5c46a50d 1H46
