a<=c0an
Na=anc0
Na=c2c0
precondition
a<adivanc2anAa<=c0an
variant decrease
a<=c0adivanc2
iia=aresulta*a*V0V0axa=aresulta*V0V0a=amodanc2c0Lapoweraxadivanc2a=aresultc1a=anc0
a=aresultapoweraxan
postcondition
a=V2apowerV0V1Iiia=V2a*a*V3V3V0a=V2a*V3V3a=amodV1c2c0LapowerV0adivV1c2a=V2c1a=V1c0FANa=c2c0Aa<=c0V4Aa<V4V1Aa<=c0V1LadivV1c2ANa=c2c0INa=V1c0Ia<=c0V1F
VC for fast_exp
a=a*c1apoweraxanapoweraxanAa<=c0an
loop invariant init
a<=c0ae
a=a*arapowerapaeapoweraxan
a>aec0
ia=ar1ara=ar1a*arapa=amodaec2c1
a=ap1a*apap
a=ae1adivaec2
a=apowerap1ae1a*V0V0Lapowerapae1
assertion
a<ae1aeAa<=c0ae
loop variant decrease
a=a*ar1apowerap1ae1apoweraxanAa<=c0ae1
loop invariant preservation
Na>aec0
a=arapoweraxan
ia=V2apowerV0V1a=a*V5apowerV6V7apowerV0V1Aa<=c0V7Aa<V7V4Aa<=c0V4Ia=apowerV6V7a*V8V8LapowerV3V7Aa=apowerV6V7a*V9V9LapowerV3V7Ia=V7adivV4c2FANa=c2c0Ia=V6a*V3V3FIia=V5V2a=V5a*V2V3a=amodV4c2c1FANa=c2c0a>V4c0Ia=a*V2apowerV3V4apowerV0V1Aa<=c0V4FAa=a*c1apowerV0V1apowerV0V1Aa<=c0V1Ia<=c0V1F
VC for fast_exp_imperative

77148d143ac7c90990badcca601348cf 11H10
982b5a004ca001abc1a1ead276137bfe 3H2H1H0
2f1be114c9a14082cf8ec48a4f85dc6d 5H4H1H0
d4f1a1085ada0dbe5266706e9794621c 3H6H1H0
982b5a004ca001abc1a1ead276137bfe 3H2H1H0
c5c2f07d1c15beddba618cb0a96cee71 9H8H7H0
9f1e59d93faf2a86e5295fa6cc65bb4d 29H28
064dfdd6c8509aed5b8d9200345a48d6 13H12H0
c503f185864e3f784aeb032251fce0d6 3H2H16H15H14H0
f93f77d29302dbb1b9392aecbf4dd2aa 3H2H18H17H16H15H14H0
1a5774071b761434c7c42d6a75af96a2 21H20H19H18H17H16H15H14H0
c3dcd1539320e2a1f239e81b3cc2ce3b 23H22H20H19H18H17H16H15H14H0
fc00875d2b73b4e62cb7bedad4543885 25H24H20H19H18H17H16H15H14H0
ffb8143bf5f24a00245f87e5a2c6c82e 9H27H26H15H14H0
