iais_conjugateV0V4Aa=aV0V3c0ianumofgtV0aV4V10V10Ia<V10alengthV4Aa<=aV0V7V10FAa<V7alengthV0Aa<=c0V7Aa<a-alengthV0V7a-alengthV0V3Aa<=c0a-alengthV0V3Ia>V9a+V8c1AanumofgtV0aV11V12V12Ia<V12alengthV11Aa<=aV0V7V12FAa<V7alengthV0Aa<=c0V7Aa<a-alengthV0V7a-alengthV0V3Aa<=c0a-alengthV0V3Ia=aV11V13V7Ia<V13a+V8c1Aa<=aV0V7V13FAa=aV11V14aV4V14Ia<V14alengthV11Aa<=V5V14FAa=aV16V17V7Ia<V17a+V15c1Aa<=aV0V7V17FAa=aV16V18aV4V18Ia<V18alengthV16Aa<=V5V18FIa=V16aV11V15V7Aa=aeltsV16asetaeltsV11V15V7Ia=alengthV16alengthV11FAa<V15alengthV11Aa<=c0V15Ia=aV11V19V7Ia<V19V15Aa<=aV0V7V19FAa=aV11V20aV4V20Ia<V20alengthV11Aa<=V5V20FAa<=V15V8Aa<=V9V15FIa=alengthV11alengthV4FAa=aV4V21V7Ia<V21V9Aa<=aV0V7V21FAtIa<V22alengthV4Aa<=V5V22FIa<=V9a+V8c1LaV0V7Aa<V7alengthV0Aa<=c0V7La-V5c1a=aV0V24V5Ia<V24V23Aa<=V3V24FAa<V23alengthV0Aa<=V3V23Aa<a-alengthV0V23a-alengthV0V7Aa<=c0a-alengthV0V7Ia=V23a+V7c1Fa=aV0V7V5Aa<V7alengthV0Aa<=c0V7Ia=aV0V25V5Ia<V25V7Aa<=V3V25FAa<V7alengthV0Aa<=V3V7FAa=aV0V26V5Ia<V26V6Aa<=V3V26FAa<V6alengthV0Aa<=V3V6Ia=V6a+V3c1FLaV0V3Aa<V3
VC for conjugate
ais_partitionaa
a=aint32'intalengthaba+aint32'intaaac0c1
a=aint32'intaabV0c0Ia<V0aint32'intalengthabAa<=c0V0F
a<c0aint32'intalengthaaAa<=c0c0
loop invariant init
a<=aint32'intaaac0aj
a<ajaint32'intalengthab
anumofgtaaaint32'intaabajaj
a=alengthab1alengthab
a<=c0aint32'intapartc
a<aint32'intapartcaint32'intalengthaa
anumofgtaaaint32'intaab1V1V1Ia<V1aint32'intalengthab1Aa<=aint32'intaaaaint32'intapartcV1F
a<aint32'intapartcaint32'intalengthaaAa<=c0aint32'intapartc
index in array bounds
a=aoaTrueIa=aint32'intaaaaint32'intapartcc0
a=aaaaint32'intapartcc0Ia=aoaTrue
Na=aoaTrue
ain_boundsa+aint32'intapartcc1
integer overflow
a=aint32'intapartc1a+aint32'intapartcc1
a<aint32'intapartc1aint32'intalengthaaAa<=aint32'intapartcaint32'intapartc1
a<=aint32'intapartcaj
a<ajaint32'intapartc1
a=aaaajaedge
a<=aint32'intapartcaint32'intapartc2
a<aint32'intapartc2aint32'intalengthaa
a=aaaV2aedgeIa<V2aint32'intapartc2Aa<=aint32'intapartcV2F
a<aint32'intapartc2aint32'intalengthaaAa<=c0aint32'intapartc2
a=aTrueaTrueIa=aint32'intaaaaint32'intapartc2aint32'intaedge
a=aaaaint32'intapartc2aedgeIa=aTrueaTrue
ain_boundsa+aint32'intapartc2c1
a=aint32'intapartc3a+aint32'intapartc2c1
a<a-aint32'intalengthaaaint32'intapartc3a-aint32'intalengthaaaint32'intapartc2Aa<=c0a-aint32'intalengthaaaint32'intapartc2
loop variant decrease
a<aint32'intapartc3aint32'intalengthaaAa<=aint32'intapartcaint32'intapartc3
loop invariant preservation
a<ajaint32'intapartc3
a=ao1aTrueIa=aint32'intaaaaint32'intapartc2aint32'intaedge
a=aaaaint32'intapartc2aedgeIa=ao1aTrue
Na=ao1aTrue
ain_boundsa-aint32'intaedgec1
a=aint32'intao2a-aint32'intaedgec1
a<=aint32'intaaaaint32'intapartc2a+aint32'intao2c1
a<=aint32'intaedgeaj
a<ajaint32'intalengthab1
t
tIa<V3aint32'intalengthab1Aa<=aint32'intaedgeV3F
a<=aint32'intaaaaint32'intapartc2aj
a<ajaint32'intaaaaint32'intapartc2
a=aab1ajapartc2
a=alengthab2alengthab1
a<=aint32'intaaaaint32'intapartc2ai
a<=aiaint32'intao2
a=aab2V3aab1V3Ia<V3aint32'intalengthab2Aa<=aint32'intaedgeV3F
a=aab2V4apartc2Ia<V4aiAa<=aint32'intaaaaint32'intapartc2V4F
a<aint32'intai1aint32'intalengthab2Aa<=c0aint32'intai1
a=alengthab3alengthab2
a=aeltsab3asetaeltsab2aint32'intai1apartc2
a<ajaint32'intalengthab3
a=aab3ajaab1aj
a=aab3V5aab1V5Ia<V5aint32'intalengthab3Aa<=aint32'intaedgeV5F
a<aja+aic1
a=aab3ajapartc2
a=aab2V4apartc2Ia<V4a+aint32'intao2c1Aa<=aint32'intaaaaint32'intapartc2V4F
a<a-aint32'intalengthaaaint32'intapartc2a-aint32'intalengthaaaint32'intapartcAa<=c0a-aint32'intalengthaaaint32'intapartc
a<ajaint32'intalengthab2
anumofgtaaaint32'intaab2ajaj
a>aint32'intaaaaint32'intapartc2a+aint32'intao2c1
anumofgtaaaint32'intaab1V3V3Ia<V3aint32'intalengthab1Aa<=aint32'intaaaaint32'intapartc2V3FAa<aint32'intapartc2aint32'intalengthaaAa<=c0aint32'intapartc2Aa<a-aint32'intalengthaaaint32'intapartc2a-aint32'intalengthaaaint32'intapartcAa<=c0a-aint32'intalengthaaaint32'intapartc
out of loop bounds
NNa=aoaTrue
a=aint32'intaaaaint32'intapartcc0
assertion
ais_conjugateaaab1
postcondition
iais_conjugateV0V3Aa=aint32'intaV0aint32'intV2c0ianumofgtV0aint32'intaV3V14V14Ia<V14aint32'intalengthV3Aa<=aint32'intaV0aint32'intV9V14FAa<aint32'intV9aint32'intalengthV0Aa<=c0aint32'intV9Aa<a-aint32'intalengthV0aint32'intV9a-aint32'intalengthV0aint32'intV2Aa<=c0a-aint32'intalengthV0aint32'intV2Ia>aint32'intV13a+aint32'intV12c1AanumofgtV0aint32'intaV15V16V16Ia<V16aint32'intalengthV15Aa<=aint32'intaV0aint32'intV9V16FAa<aint32'intV9aint32'intalengthV0Aa<=c0aint32'intV9Aa<a-aint32'intalengthV0aint32'intV9a-aint32'intalengthV0aint32'intV2Aa<=c0a-aint32'intalengthV0aint32'intV2Ia=aV15V17V9Ia<V17a+aint32'intV12c1Aa<=aint32'intaV0aint32'intV9V17FAa=aV15V18aV3V18Ia<V18aint32'intalengthV15Aa<=aint32'intV6V18FAa=aV21V22V9Ia<V22a+V20c1Aa<=aint32'intaV0aint32'intV9V22FAa=aV21V23aV3V23Ia<V23aint32'intalengthV21Aa<=aint32'intV6V23FIa=aeltsV21asetaeltsV15aint32'intV19V9Ia=alengthV21alengthV15FAa<aint32'intV19aint32'intalengthV15Aa<=c0aint32'intV19Ia=aV15V24V9Ia<V24V20Aa<=aint32'intaV0aint32'intV9V24FAa=aV15V25aV3V25Ia<V25aint32'int
a>=alengthV5c4Iais_conjugateV4V5FAais_partitionV4Ia=V4aV3c3c1Aa=aeltsV4asetaeltsV3c3c1Ia=alengthV4alengthV3FAa<c3alengthV3Aa<=c0c3Ia=V3aV2c2c2Aa=aeltsV3asetaeltsV2c2c2Ia=alengthV3alengthV2FAa<c2alengthV2Aa<=c0c2Ia=V2aV1c1c2Aa=aeltsV2asetaeltsV1c1c2Ia=alengthV2alengthV1FAa<c1alengthV1Aa<=c0c1Ia=V1aV0c0c3Aa=aeltsV1asetaeltsV0c0c3Ia=alengthV1alengthV0FAa<c0alengthV0Aa<=c0c0Ia=alengthV0c5Aa=aV0V6c0Ia<V6c5Aa<=c0V6FFAa>=c5c0
VC for test
iiitAa<c3alengthV0Aa<=c0c3tNa=aV0c2c1Aa<c2alengthV0Aa<=c0c2tNa=aV0c1c3Aa<c1alengthV0Aa<=c0c1tNa=aV0c0c4Aa<c0alengthV0Aa<=c0c0Ia>=alengthV0c4F
VC for bench

1cfe0a33c48c57f574b8ae6d7de5371a 1H0
54f633e464aac58414feac61ea9b6660 1H77
4ef09c5a96e983f7e3ee87d925dbaa7d 6H5H4H3H2
b26a77d3203a9aa48e557754151b080d 6H9H8H7H5H4H3H2
3850a0f81bf60e5ff45bb459e365d429 15H14H13H12H11H10H4H3H2
dbbc4295f5a88b5c3b8434580327fd76 15H14H18H17H16H13H12H11H10H4H3H2
d4dccdc97f78faee1aef3e5d88e828f6 20H19H18H17H16H13H12H11H10H4H3H2
a50f49b4ea08af228ff5af1e8ee6e338 6H22H21H18H17H16H13H12H11H10H4H3H2
87352fab4da614c8ba553cc3baa5ef41 6H25H24H23H22H21H18H17H16H13H12H11H10H4H3H2
9bcdfbc6c9f87f25d213cd6e573e54d7 15H29H28H27H26H21H18H17H16H13H12H11H10H4H3H2
caee6390b7520846616eb47b14362e79 20H32H31H30H28H27H26H21H18H17H16H13H12H11H10H4H3H2
034a142c0faf8a11b7dae16ed5b0bc41 35H34H33H31H30H28H27H26H21H18H17H16H13H12H11H10H4H3H2
74e9a3feccde4135632b5007eee05d89 37H36H33H31H30H28H27H26H21H18H17H16H13H12H11H10H4H3H2
94e9cb4d6515f156e49b3b4c5993e21c 37H25H38H23H36H33H31H30H28H27H26H21H18H17H16H13H12H11H10H4H3H2
2eba458fe7907c5f74ea4025bdc3a17f 20H42H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
b7895e3910014d4f8e167d5cc6c36f66 15H29H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
86505fd0c37dd1a9f78e8e9fcdac17bf 6H47H46H45H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
309f0703d2bf4d307077ab158cf23586 6H51H50H49H48H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
abd1c27586cf2e4cca6ac16341fd69cf 15H57H56H55H54H53H52H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
169664bf13cc4af65a839fa51eb633b1 37H61H60H45H59H58H56H55H54H53H52H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
5787e847043b009b442ee248e715b843 37H64H63H49H62H59H58H56H55H54H53H52H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
5c5ee69f83e17a701d5703091ab82c50 35H66H65H55H52H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
dab7043d64465633a428741cd9fd34d7 37H29H65H55H52H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
cb12a43feed0aa885cc445d8d91d986f 37H68H67H49H29H65H55H52H44H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
cbb022dc68592b39932845f287470f07 71H70H69H43H41H40H39H28H27H26H21H18H17H16H13H12H11H10H4H3H2
60291f029411189fc5f17288897b209d 74H73H72H17H16H13H12H11H10H4H3H2
136c8bfb57059e523ac2c55742f2c250 76H75H73H72H17H16H13H12H11H10H4H3H2
3f06fd75499f8f7ebab01de6178287b5 79H78
8a083baf552048f92b46633c86fe6296 81H80
