a>abasec1
CfaNila=V3V2aConswVV0Ia=V0aConsV1V2FIavalidV0F
variant decrease
avalidV2Ia=V0aConsV1V2FIavalidV0F
precondition
a>=avalueV0c0ICtaNila>=avalueV2c0aConsVVV0IavalidV0F
postcondition
a>=avalueV0c0ICtaNila>=avalueV1c0aConswVV0ACtaNilavalidV2ACfaNila=V3V2aConswVV0aConswVV0IavalidV0F
VC for nonneg
a>=avalueV0c0IavalidV0F
CfaNila=V4V3aConswVV1Ia=V1aConsV2V3FIavalidV1F
avalidV3Ia=V1aConsV2V3FIavalidV1F
a=V1aNilqa=avalueV1c0ICtaNila=V3aNilqa=avalueV3c0aConsVVV1IavalidV1F
a=V1aNilqa=avalueV1c0ICtaNila=V2aNilqa=avalueV2c0aConswVV1ACtaNilavalidV3ACfaNila=V4V3aConswVV1aConswVV1IavalidV1F
VC for msd
a=V1aNilqa=avalueV1c0IavalidV1F
CfaNila=V6V5aConswVV2INa<a+V3V4abaseIa=V2aConsV4V5FIa<V3abaseAa<=c0V3AavalidV2F
avalidV5INa<a+V3V4abaseIa=V2aConsV4V5FIa<V3abaseAa<=c0V3AavalidV2F
a<c1abaseAa<=c0c1IavalidV5INa<a+V3V4abaseIa=V2aConsV4V5FIa<V3abaseAa<=c0V3AavalidV2F
avalidV4ICia=V4aConsV3aNila=V4aNila=V3c0aNilia=V4aConsa-a+V3V5abaseV7Aa=avalueV7a+avalueV6c1AavalidV7Ea=V4aConsa+V3V5V6a<a+V3V5abaseaConsVVV2FIa<V3abaseAa<=c0V3AavalidV2F
a=avalueV4a+avalueV2V3IavalidV4ICia=V4aConsV3aNila=V4aNila=V3c0aNilia=V4aConsa-a+V3V5abaseV7Aa=avalueV7a+avalueV6c1AavalidV7Ea=V4aConsa+V3V5V6a<a+V3V5abaseaConsVVV2FIa<V3abaseAa<=c0V3AavalidV2F
a=avalueV4a+avalueV2V3AavalidV4ICia=V4aConsV3aNila=V4aNila=V3c0aNilia=V4aConsa-a+V3V5abaseV7Aa=avalueV7a+avalueV6c1AavalidV7Ea=V4aConsa+V3V5V6a<a+V3V5abaseaConsVVV2FACtaNila<c1abaseAa<=c0c1AavalidV9ACfaNila=V10V9aConswVV2INa<a+V3V8abaseaConsVVV2Ia<V3abaseAa<=c0V3AavalidV2F
VC for add_digit
avalidV3Ia=V2aNilIa=V3aNilIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
a<V4abaseAa<=c0V4IavalidV3Ia=V2aNilIa=V3aNilIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV2Ia=V2aConsV5V6FIa=V3aNilIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
a<V4abaseAa<=c0V4IavalidV2Ia=V2aConsV5V6FIa=V3aNilIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV3Ia=V2aNilIa=V3aConsV5V6FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
a<V4abaseAa<=c0V4IavalidV3Ia=V2aNilIa=V3aConsV5V6FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
CfaNila=V9V8aConswVV2Ia<a+a+V4V7V5abaseIa=V2aConsV7V8FIa=V3aConsV5V6FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
a<=c0c1Aa<=c0c0AavalidV6AavalidV8Ia<a+a+V4V7V5abaseIa=V2aConsV7V8FIa=V3aConsV5V6FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
CfaNila=V9V8aConswVV2INa<a+a+V4V7V5abaseIa=V2aConsV7V8FIa=V3aConsV5V6FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
a<=c1c1Aa<=c0c1AavalidV6AavalidV8INa<a+a+V4V7V5abaseIa=V2aConsV7V8FIa=V3aConsV5V6FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV5Ia=avalueV5a+avalueV3V4AavalidV5Aa=V2aNilAa=V3aNilFIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV5Ia=avalueV5a+avalueV2V4AavalidV5Aa=V2aConsV6V7EAa=V3aNilFIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV5Ia=avalueV5a+avalueV3V4AavalidV5Aa=V2aNilAa=V3aConsV6V7EFIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV5Ia=V5aConsV10V11Aa=avalueV11a+a+avalueV9avalueV7c0AavalidV11EAa<V10abaseLa+a+V4V8V6Aa=V2aConsV8V9EAa=V3aConsV6V7EFIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV5Ia=V5aConsa-V10abaseV11Aa=avalueV11a+a+avalueV9avalueV7c1AavalidV11EANa<V10abaseLa+a+V4V8V6Aa=V2aConsV8V9EAa=V3aConsV6V7EFIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
avalidV5ICCa=avalueV5a+avalueV3V4AavalidV5aNila=avalueV5a+avalueV2V4AavalidV5aConsVVV2aNilCa=avalueV5a+avalueV3V4AavalidV5aNilia=V5aConsa-V12abaseV13Aa=avalueV13a+a+avalueV11avalueV9c1AavalidV13Ea=V5aConsV12V14Aa=avalueV14a+a+avalueV11avalueV9c0AavalidV14Ea<V12abaseLa+a+V4V10V8aConsVVV2aConsVVV3FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
a=avalueV5a+a+avalueV2avalueV3V4IavalidV5ICCa=avalueV5a+avalueV3V4AavalidV5aNila=avalueV5a+avalueV2V4AavalidV5aConsVVV2aNilCa=avalueV5a+avalueV3V4AavalidV5aNilia=V5aConsa-V12abaseV13Aa=avalueV13a+a+avalueV11avalueV9c1AavalidV13Ea=V5aConsV12V14Aa=avalueV14a+a+avalueV11avalueV9c0AavalidV14Ea<V12abaseLa+a+V4V10V8aConsVVV2aConsVVV3FIa<=V4c1Aa<=c0V4AavalidV3AavalidV2F
a=avalueV5a+a+avalueV2avalueV3V4AavalidV5ICCa=avalueV5a+avalueV3V4AavalidV5aNila=avalueV5a+avalueV2V4AavalidV5aConsVVV2aNilCa=avalueV5a+avalueV3V4AavalidV5aNilia=V5aConsa-V12abaseV13Aa=avalueV13a+a+avalueV11avalueV9c1AavalidV13Ea=V5aConsV12V14Aa=avalueV14a+a+avalueV11avalueV9c0AavalidV14Ea<V12abaseLa+a+V4V10V8aConsVVV2aConsVVV3FACCa<V4abaseAa<=c0V4AavalidV3aNila<V4abaseAa<=c0V4AavalidV2aConsVVV2aNilCa<V4abaseAa<=c0V4AavalidV3aNilia<=c1c1Aa<=c0c1AavalidV18AavalidV20ACfaNila=V21V20aConswVV2a<=c0c1Aa<=c0c0AavalidV18AavalidV20ACfaNila=V22V20aConswVV2a<a+a+V4V19V17abaseaConsVVV2aConsVVV3Ia<=V4c1Aa<=c0V4AavalidV3AavalidV2F
VC for add_cin
a=avalueV4a+avalueV2avalueV3AavalidV4Ia=avalueV4a+a+avalueV2avalueV3c0AavalidV4FAa<=c0c1Aa<=c0c0AavalidV3AavalidV2IavalidV3AavalidV2F
VC for add

6a9eb9e46b3c004c70061271d6724fe2 8H7H0
2be5d36ac8bbee286db255b3efdc588e 2H1H0
9832cadc8bca7fed3f4a4f8c3494071b 4H3H0
a0a1c3f32ec48c3dca8aa40f0419015e 6H5H0
476e6a29d7a0a6fbd3a4d4ac004dfdee 14H13H9H0
b422aa3f735a7e8a0ca687fbdd479494 2H10H9H0
e9dab3d1b5ae3bd3178e37a7c54dfbbc 4H11H9H0
9d368de400f491321713f0c183504330 6H12H9H0
8f1efed5e2edca1f6ffed303a10da8a3 22H21H15H9H0
1421cf991fedbb7ebdbe145bca30260e 2H16H15H9H0
7bfb7fcb74c9ce6dfc0ab4edeaa416c8 4H17H15H9H0
65eb2ececb5b435b4fccbcf0786bb96d 4H18H15H9H0
6632a4749f08fce888c9b44fae4a4291 6H19H15H9H0
15af6935bc1f6f24a65f56875d509129 6H20H15H9H0
573dab9847907433f2a36bb34ce37e81 41H40H15H9H0
569a50b63b1e64c454e468a99508470d 4H23H15H9H0
0a64e4461b18051bc539b7033608385c 4H24H15H9H0
37eec53df81cf864c01bb6985673a2ae 4H25H15H9H0
40289ab5d794a43df1a81d687fe799bf 4H26H15H9H0
ee06727bd748535857bfdc77b07479bb 4H27H15H9H0
1634e55807cff5b8892ef49379eea2e0 4H28H15H9H0
b2c0e42a2cd98f8c0bc82168d9321515 2H29H15H9H0
d05b50480bec9b8621050594d908af64 4H30H15H9H0
a56b4b1f9c8627d1e22a54c3c9b5c54e 2H31H15H9H0
ad2f5607a0c4761735d2e0785bf893d9 4H32H15H9H0
1a7f7ed4089e559582fad673b5df0585 6H38H15H9H0
4f658b7c7eb8943f8c494f189f0d588b 6H33H15H9H0
1708da1da2544545d72fc6c52038e75d 6H34H15H9H0
4de996d5466d9f798a327f596920f517 6H35H15H9H0
b73f2687b688a48f6f97a860ed676477 6H36H15H9H0
8509107df224191a4739f586fc3ebe87 6H37H15H9H0
dc28c6e1683077d2cf037fa5541e3e4a 6H39H15H9H0
89defa024880edca339ca4356b686a5c 43H42H15H9H0
