]> matita.cs.unibo.it Git - pkg-cerco/acc-trusted.git/blobdiff - extracted/aSM.ml
Merge tag 'upstream/0.2'
[pkg-cerco/acc-trusted.git] / extracted / aSM.ml
index e7665c57dc8840db85455a16b775f2ad5a4832c3..79ec03a881628a1ca8ce77405af5ebc0f08b1455 100644 (file)
@@ -112,25 +112,25 @@ type addressing_mode =
     (BitVector.byte -> 'a1) -> (BitVector.word11 -> 'a1) -> (BitVector.word
     -> 'a1) -> addressing_mode -> 'a1 **)
 let rec addressing_mode_rect_Type4 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
-| DIRECT x_19160 -> h_DIRECT x_19160
-| INDIRECT x_19161 -> h_INDIRECT x_19161
-| EXT_INDIRECT x_19162 -> h_EXT_INDIRECT x_19162
-| REGISTER x_19163 -> h_REGISTER x_19163
+| DIRECT x_33 -> h_DIRECT x_33
+| INDIRECT x_34 -> h_INDIRECT x_34
+| EXT_INDIRECT x_35 -> h_EXT_INDIRECT x_35
+| REGISTER x_36 -> h_REGISTER x_36
 | ACC_A -> h_ACC_A
 | ACC_B -> h_ACC_B
 | DPTR -> h_DPTR
-| DATA x_19164 -> h_DATA x_19164
-| DATA16 x_19165 -> h_DATA16 x_19165
+| DATA x_37 -> h_DATA x_37
+| DATA16 x_38 -> h_DATA16 x_38
 | ACC_DPTR -> h_ACC_DPTR
 | ACC_PC -> h_ACC_PC
 | EXT_INDIRECT_DPTR -> h_EXT_INDIRECT_DPTR
 | INDIRECT_DPTR -> h_INDIRECT_DPTR
 | CARRY -> h_CARRY
-| BIT_ADDR x_19166 -> h_BIT_ADDR x_19166
-| N_BIT_ADDR x_19167 -> h_N_BIT_ADDR x_19167
-| RELATIVE x_19168 -> h_RELATIVE x_19168
-| ADDR11 x_19169 -> h_ADDR11 x_19169
-| ADDR16 x_19170 -> h_ADDR16 x_19170
+| BIT_ADDR x_39 -> h_BIT_ADDR x_39
+| N_BIT_ADDR x_40 -> h_N_BIT_ADDR x_40
+| RELATIVE x_41 -> h_RELATIVE x_41
+| ADDR11 x_42 -> h_ADDR11 x_42
+| ADDR16 x_43 -> h_ADDR16 x_43
 
 (** val addressing_mode_rect_Type5 :
     (BitVector.byte -> 'a1) -> (BitVector.bit -> 'a1) -> (BitVector.bit ->
@@ -140,25 +140,25 @@ let rec addressing_mode_rect_Type4 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER
     (BitVector.byte -> 'a1) -> (BitVector.word11 -> 'a1) -> (BitVector.word
     -> 'a1) -> addressing_mode -> 'a1 **)
 let rec addressing_mode_rect_Type5 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
-| DIRECT x_19191 -> h_DIRECT x_19191
-| INDIRECT x_19192 -> h_INDIRECT x_19192
-| EXT_INDIRECT x_19193 -> h_EXT_INDIRECT x_19193
-| REGISTER x_19194 -> h_REGISTER x_19194
+| DIRECT x_64 -> h_DIRECT x_64
+| INDIRECT x_65 -> h_INDIRECT x_65
+| EXT_INDIRECT x_66 -> h_EXT_INDIRECT x_66
+| REGISTER x_67 -> h_REGISTER x_67
 | ACC_A -> h_ACC_A
 | ACC_B -> h_ACC_B
 | DPTR -> h_DPTR
-| DATA x_19195 -> h_DATA x_19195
-| DATA16 x_19196 -> h_DATA16 x_19196
+| DATA x_68 -> h_DATA x_68
+| DATA16 x_69 -> h_DATA16 x_69
 | ACC_DPTR -> h_ACC_DPTR
 | ACC_PC -> h_ACC_PC
 | EXT_INDIRECT_DPTR -> h_EXT_INDIRECT_DPTR
 | INDIRECT_DPTR -> h_INDIRECT_DPTR
 | CARRY -> h_CARRY
-| BIT_ADDR x_19197 -> h_BIT_ADDR x_19197
-| N_BIT_ADDR x_19198 -> h_N_BIT_ADDR x_19198
-| RELATIVE x_19199 -> h_RELATIVE x_19199
-| ADDR11 x_19200 -> h_ADDR11 x_19200
-| ADDR16 x_19201 -> h_ADDR16 x_19201
+| BIT_ADDR x_70 -> h_BIT_ADDR x_70
+| N_BIT_ADDR x_71 -> h_N_BIT_ADDR x_71
+| RELATIVE x_72 -> h_RELATIVE x_72
+| ADDR11 x_73 -> h_ADDR11 x_73
+| ADDR16 x_74 -> h_ADDR16 x_74
 
 (** val addressing_mode_rect_Type3 :
     (BitVector.byte -> 'a1) -> (BitVector.bit -> 'a1) -> (BitVector.bit ->
@@ -168,25 +168,25 @@ let rec addressing_mode_rect_Type5 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER
     (BitVector.byte -> 'a1) -> (BitVector.word11 -> 'a1) -> (BitVector.word
     -> 'a1) -> addressing_mode -> 'a1 **)
 let rec addressing_mode_rect_Type3 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
-| DIRECT x_19222 -> h_DIRECT x_19222
-| INDIRECT x_19223 -> h_INDIRECT x_19223
-| EXT_INDIRECT x_19224 -> h_EXT_INDIRECT x_19224
-| REGISTER x_19225 -> h_REGISTER x_19225
+| DIRECT x_95 -> h_DIRECT x_95
+| INDIRECT x_96 -> h_INDIRECT x_96
+| EXT_INDIRECT x_97 -> h_EXT_INDIRECT x_97
+| REGISTER x_98 -> h_REGISTER x_98
 | ACC_A -> h_ACC_A
 | ACC_B -> h_ACC_B
 | DPTR -> h_DPTR
-| DATA x_19226 -> h_DATA x_19226
-| DATA16 x_19227 -> h_DATA16 x_19227
+| DATA x_99 -> h_DATA x_99
+| DATA16 x_100 -> h_DATA16 x_100
 | ACC_DPTR -> h_ACC_DPTR
 | ACC_PC -> h_ACC_PC
 | EXT_INDIRECT_DPTR -> h_EXT_INDIRECT_DPTR
 | INDIRECT_DPTR -> h_INDIRECT_DPTR
 | CARRY -> h_CARRY
-| BIT_ADDR x_19228 -> h_BIT_ADDR x_19228
-| N_BIT_ADDR x_19229 -> h_N_BIT_ADDR x_19229
-| RELATIVE x_19230 -> h_RELATIVE x_19230
-| ADDR11 x_19231 -> h_ADDR11 x_19231
-| ADDR16 x_19232 -> h_ADDR16 x_19232
+| BIT_ADDR x_101 -> h_BIT_ADDR x_101
+| N_BIT_ADDR x_102 -> h_N_BIT_ADDR x_102
+| RELATIVE x_103 -> h_RELATIVE x_103
+| ADDR11 x_104 -> h_ADDR11 x_104
+| ADDR16 x_105 -> h_ADDR16 x_105
 
 (** val addressing_mode_rect_Type2 :
     (BitVector.byte -> 'a1) -> (BitVector.bit -> 'a1) -> (BitVector.bit ->
@@ -196,25 +196,25 @@ let rec addressing_mode_rect_Type3 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER
     (BitVector.byte -> 'a1) -> (BitVector.word11 -> 'a1) -> (BitVector.word
     -> 'a1) -> addressing_mode -> 'a1 **)
 let rec addressing_mode_rect_Type2 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
-| DIRECT x_19253 -> h_DIRECT x_19253
-| INDIRECT x_19254 -> h_INDIRECT x_19254
-| EXT_INDIRECT x_19255 -> h_EXT_INDIRECT x_19255
-| REGISTER x_19256 -> h_REGISTER x_19256
+| DIRECT x_126 -> h_DIRECT x_126
+| INDIRECT x_127 -> h_INDIRECT x_127
+| EXT_INDIRECT x_128 -> h_EXT_INDIRECT x_128
+| REGISTER x_129 -> h_REGISTER x_129
 | ACC_A -> h_ACC_A
 | ACC_B -> h_ACC_B
 | DPTR -> h_DPTR
-| DATA x_19257 -> h_DATA x_19257
-| DATA16 x_19258 -> h_DATA16 x_19258
+| DATA x_130 -> h_DATA x_130
+| DATA16 x_131 -> h_DATA16 x_131
 | ACC_DPTR -> h_ACC_DPTR
 | ACC_PC -> h_ACC_PC
 | EXT_INDIRECT_DPTR -> h_EXT_INDIRECT_DPTR
 | INDIRECT_DPTR -> h_INDIRECT_DPTR
 | CARRY -> h_CARRY
-| BIT_ADDR x_19259 -> h_BIT_ADDR x_19259
-| N_BIT_ADDR x_19260 -> h_N_BIT_ADDR x_19260
-| RELATIVE x_19261 -> h_RELATIVE x_19261
-| ADDR11 x_19262 -> h_ADDR11 x_19262
-| ADDR16 x_19263 -> h_ADDR16 x_19263
+| BIT_ADDR x_132 -> h_BIT_ADDR x_132
+| N_BIT_ADDR x_133 -> h_N_BIT_ADDR x_133
+| RELATIVE x_134 -> h_RELATIVE x_134
+| ADDR11 x_135 -> h_ADDR11 x_135
+| ADDR16 x_136 -> h_ADDR16 x_136
 
 (** val addressing_mode_rect_Type1 :
     (BitVector.byte -> 'a1) -> (BitVector.bit -> 'a1) -> (BitVector.bit ->
@@ -224,25 +224,25 @@ let rec addressing_mode_rect_Type2 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER
     (BitVector.byte -> 'a1) -> (BitVector.word11 -> 'a1) -> (BitVector.word
     -> 'a1) -> addressing_mode -> 'a1 **)
 let rec addressing_mode_rect_Type1 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
-| DIRECT x_19284 -> h_DIRECT x_19284
-| INDIRECT x_19285 -> h_INDIRECT x_19285
-| EXT_INDIRECT x_19286 -> h_EXT_INDIRECT x_19286
-| REGISTER x_19287 -> h_REGISTER x_19287
+| DIRECT x_157 -> h_DIRECT x_157
+| INDIRECT x_158 -> h_INDIRECT x_158
+| EXT_INDIRECT x_159 -> h_EXT_INDIRECT x_159
+| REGISTER x_160 -> h_REGISTER x_160
 | ACC_A -> h_ACC_A
 | ACC_B -> h_ACC_B
 | DPTR -> h_DPTR
-| DATA x_19288 -> h_DATA x_19288
-| DATA16 x_19289 -> h_DATA16 x_19289
+| DATA x_161 -> h_DATA x_161
+| DATA16 x_162 -> h_DATA16 x_162
 | ACC_DPTR -> h_ACC_DPTR
 | ACC_PC -> h_ACC_PC
 | EXT_INDIRECT_DPTR -> h_EXT_INDIRECT_DPTR
 | INDIRECT_DPTR -> h_INDIRECT_DPTR
 | CARRY -> h_CARRY
-| BIT_ADDR x_19290 -> h_BIT_ADDR x_19290
-| N_BIT_ADDR x_19291 -> h_N_BIT_ADDR x_19291
-| RELATIVE x_19292 -> h_RELATIVE x_19292
-| ADDR11 x_19293 -> h_ADDR11 x_19293
-| ADDR16 x_19294 -> h_ADDR16 x_19294
+| BIT_ADDR x_163 -> h_BIT_ADDR x_163
+| N_BIT_ADDR x_164 -> h_N_BIT_ADDR x_164
+| RELATIVE x_165 -> h_RELATIVE x_165
+| ADDR11 x_166 -> h_ADDR11 x_166
+| ADDR16 x_167 -> h_ADDR16 x_167
 
 (** val addressing_mode_rect_Type0 :
     (BitVector.byte -> 'a1) -> (BitVector.bit -> 'a1) -> (BitVector.bit ->
@@ -252,25 +252,25 @@ let rec addressing_mode_rect_Type1 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER
     (BitVector.byte -> 'a1) -> (BitVector.word11 -> 'a1) -> (BitVector.word
     -> 'a1) -> addressing_mode -> 'a1 **)
 let rec addressing_mode_rect_Type0 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function
-| DIRECT x_19315 -> h_DIRECT x_19315
-| INDIRECT x_19316 -> h_INDIRECT x_19316
-| EXT_INDIRECT x_19317 -> h_EXT_INDIRECT x_19317
-| REGISTER x_19318 -> h_REGISTER x_19318
+| DIRECT x_188 -> h_DIRECT x_188
+| INDIRECT x_189 -> h_INDIRECT x_189
+| EXT_INDIRECT x_190 -> h_EXT_INDIRECT x_190
+| REGISTER x_191 -> h_REGISTER x_191
 | ACC_A -> h_ACC_A
 | ACC_B -> h_ACC_B
 | DPTR -> h_DPTR
-| DATA x_19319 -> h_DATA x_19319
-| DATA16 x_19320 -> h_DATA16 x_19320
+| DATA x_192 -> h_DATA x_192
+| DATA16 x_193 -> h_DATA16 x_193
 | ACC_DPTR -> h_ACC_DPTR
 | ACC_PC -> h_ACC_PC
 | EXT_INDIRECT_DPTR -> h_EXT_INDIRECT_DPTR
 | INDIRECT_DPTR -> h_INDIRECT_DPTR
 | CARRY -> h_CARRY
-| BIT_ADDR x_19321 -> h_BIT_ADDR x_19321
-| N_BIT_ADDR x_19322 -> h_N_BIT_ADDR x_19322
-| RELATIVE x_19323 -> h_RELATIVE x_19323
-| ADDR11 x_19324 -> h_ADDR11 x_19324
-| ADDR16 x_19325 -> h_ADDR16 x_19325
+| BIT_ADDR x_194 -> h_BIT_ADDR x_194
+| N_BIT_ADDR x_195 -> h_N_BIT_ADDR x_195
+| RELATIVE x_196 -> h_RELATIVE x_196
+| ADDR11 x_197 -> h_ADDR11 x_197
+| ADDR16 x_198 -> h_ADDR16 x_198
 
 (** val addressing_mode_inv_rect_Type4 :
     addressing_mode -> (BitVector.byte -> __ -> 'a1) -> (BitVector.bit -> __
@@ -1925,43 +1925,43 @@ type subaddressing_mode =
 (** val subaddressing_mode_rect_Type4 :
     Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
     'a1) -> subaddressing_mode -> 'a1 **)
-let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_19793 =
-  let subaddressing_modeel = x_19793 in
+let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_666 =
+  let subaddressing_modeel = x_666 in
   h_mk_subaddressing_mode subaddressing_modeel __
 
 (** val subaddressing_mode_rect_Type5 :
     Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
     'a1) -> subaddressing_mode -> 'a1 **)
-let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_19795 =
-  let subaddressing_modeel = x_19795 in
+let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_668 =
+  let subaddressing_modeel = x_668 in
   h_mk_subaddressing_mode subaddressing_modeel __
 
 (** val subaddressing_mode_rect_Type3 :
     Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
     'a1) -> subaddressing_mode -> 'a1 **)
-let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_19797 =
-  let subaddressing_modeel = x_19797 in
+let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_670 =
+  let subaddressing_modeel = x_670 in
   h_mk_subaddressing_mode subaddressing_modeel __
 
 (** val subaddressing_mode_rect_Type2 :
     Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
     'a1) -> subaddressing_mode -> 'a1 **)
-let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_19799 =
-  let subaddressing_modeel = x_19799 in
+let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_672 =
+  let subaddressing_modeel = x_672 in
   h_mk_subaddressing_mode subaddressing_modeel __
 
 (** val subaddressing_mode_rect_Type1 :
     Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
     'a1) -> subaddressing_mode -> 'a1 **)
-let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_19801 =
-  let subaddressing_modeel = x_19801 in
+let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_674 =
+  let subaddressing_modeel = x_674 in
   h_mk_subaddressing_mode subaddressing_modeel __
 
 (** val subaddressing_mode_rect_Type0 :
     Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
     'a1) -> subaddressing_mode -> 'a1 **)
-let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_19803 =
-  let subaddressing_modeel = x_19803 in
+let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_676 =
+  let subaddressing_modeel = x_676 in
   h_mk_subaddressing_mode subaddressing_modeel __
 
 (** val subaddressing_modeel :
@@ -2287,44 +2287,44 @@ type 'a preinstruction =
     -> 'a2) -> (subaddressing_mode -> subaddressing_mode -> 'a2) -> 'a2 ->
     'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
 let rec preinstruction_rect_Type4 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
-| ADD (x_19905, x_19904) -> h_ADD x_19905 x_19904
-| ADDC (x_19907, x_19906) -> h_ADDC x_19907 x_19906
-| SUBB (x_19909, x_19908) -> h_SUBB x_19909 x_19908
-| INC x_19910 -> h_INC x_19910
-| DEC x_19911 -> h_DEC x_19911
-| MUL (x_19913, x_19912) -> h_MUL x_19913 x_19912
-| DIV (x_19915, x_19914) -> h_DIV x_19915 x_19914
-| DA x_19916 -> h_DA x_19916
-| JC x_19917 -> h_JC x_19917
-| JNC x_19918 -> h_JNC x_19918
-| JB (x_19920, x_19919) -> h_JB x_19920 x_19919
-| JNB (x_19922, x_19921) -> h_JNB x_19922 x_19921
-| JBC (x_19924, x_19923) -> h_JBC x_19924 x_19923
-| JZ x_19925 -> h_JZ x_19925
-| JNZ x_19926 -> h_JNZ x_19926
-| CJNE (x_19928, x_19927) -> h_CJNE x_19928 x_19927
-| DJNZ (x_19930, x_19929) -> h_DJNZ x_19930 x_19929
-| ANL x_19931 -> h_ANL x_19931
-| ORL x_19932 -> h_ORL x_19932
-| XRL x_19933 -> h_XRL x_19933
-| CLR x_19934 -> h_CLR x_19934
-| CPL x_19935 -> h_CPL x_19935
-| RL x_19936 -> h_RL x_19936
-| RLC x_19937 -> h_RLC x_19937
-| RR x_19938 -> h_RR x_19938
-| RRC x_19939 -> h_RRC x_19939
-| SWAP x_19940 -> h_SWAP x_19940
-| MOV x_19941 -> h_MOV x_19941
-| MOVX x_19942 -> h_MOVX x_19942
-| SETB x_19943 -> h_SETB x_19943
-| PUSH x_19944 -> h_PUSH x_19944
-| POP x_19945 -> h_POP x_19945
-| XCH (x_19947, x_19946) -> h_XCH x_19947 x_19946
-| XCHD (x_19949, x_19948) -> h_XCHD x_19949 x_19948
+| ADD (x_778, x_777) -> h_ADD x_778 x_777
+| ADDC (x_780, x_779) -> h_ADDC x_780 x_779
+| SUBB (x_782, x_781) -> h_SUBB x_782 x_781
+| INC x_783 -> h_INC x_783
+| DEC x_784 -> h_DEC x_784
+| MUL (x_786, x_785) -> h_MUL x_786 x_785
+| DIV (x_788, x_787) -> h_DIV x_788 x_787
+| DA x_789 -> h_DA x_789
+| JC x_790 -> h_JC x_790
+| JNC x_791 -> h_JNC x_791
+| JB (x_793, x_792) -> h_JB x_793 x_792
+| JNB (x_795, x_794) -> h_JNB x_795 x_794
+| JBC (x_797, x_796) -> h_JBC x_797 x_796
+| JZ x_798 -> h_JZ x_798
+| JNZ x_799 -> h_JNZ x_799
+| CJNE (x_801, x_800) -> h_CJNE x_801 x_800
+| DJNZ (x_803, x_802) -> h_DJNZ x_803 x_802
+| ANL x_804 -> h_ANL x_804
+| ORL x_805 -> h_ORL x_805
+| XRL x_806 -> h_XRL x_806
+| CLR x_807 -> h_CLR x_807
+| CPL x_808 -> h_CPL x_808
+| RL x_809 -> h_RL x_809
+| RLC x_810 -> h_RLC x_810
+| RR x_811 -> h_RR x_811
+| RRC x_812 -> h_RRC x_812
+| SWAP x_813 -> h_SWAP x_813
+| MOV x_814 -> h_MOV x_814
+| MOVX x_815 -> h_MOVX x_815
+| SETB x_816 -> h_SETB x_816
+| PUSH x_817 -> h_PUSH x_817
+| POP x_818 -> h_POP x_818
+| XCH (x_820, x_819) -> h_XCH x_820 x_819
+| XCHD (x_822, x_821) -> h_XCHD x_822 x_821
 | RET -> h_RET
 | RETI -> h_RETI
 | NOP -> h_NOP
-| JMP x_19950 -> h_JMP x_19950
+| JMP x_823 -> h_JMP x_823
 
 (** val preinstruction_rect_Type5 :
     (subaddressing_mode -> subaddressing_mode -> 'a2) -> (subaddressing_mode
@@ -2362,44 +2362,44 @@ let rec preinstruction_rect_Type4 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_
     -> 'a2) -> (subaddressing_mode -> subaddressing_mode -> 'a2) -> 'a2 ->
     'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
 let rec preinstruction_rect_Type5 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
-| ADD (x_19991, x_19990) -> h_ADD x_19991 x_19990
-| ADDC (x_19993, x_19992) -> h_ADDC x_19993 x_19992
-| SUBB (x_19995, x_19994) -> h_SUBB x_19995 x_19994
-| INC x_19996 -> h_INC x_19996
-| DEC x_19997 -> h_DEC x_19997
-| MUL (x_19999, x_19998) -> h_MUL x_19999 x_19998
-| DIV (x_20001, x_20000) -> h_DIV x_20001 x_20000
-| DA x_20002 -> h_DA x_20002
-| JC x_20003 -> h_JC x_20003
-| JNC x_20004 -> h_JNC x_20004
-| JB (x_20006, x_20005) -> h_JB x_20006 x_20005
-| JNB (x_20008, x_20007) -> h_JNB x_20008 x_20007
-| JBC (x_20010, x_20009) -> h_JBC x_20010 x_20009
-| JZ x_20011 -> h_JZ x_20011
-| JNZ x_20012 -> h_JNZ x_20012
-| CJNE (x_20014, x_20013) -> h_CJNE x_20014 x_20013
-| DJNZ (x_20016, x_20015) -> h_DJNZ x_20016 x_20015
-| ANL x_20017 -> h_ANL x_20017
-| ORL x_20018 -> h_ORL x_20018
-| XRL x_20019 -> h_XRL x_20019
-| CLR x_20020 -> h_CLR x_20020
-| CPL x_20021 -> h_CPL x_20021
-| RL x_20022 -> h_RL x_20022
-| RLC x_20023 -> h_RLC x_20023
-| RR x_20024 -> h_RR x_20024
-| RRC x_20025 -> h_RRC x_20025
-| SWAP x_20026 -> h_SWAP x_20026
-| MOV x_20027 -> h_MOV x_20027
-| MOVX x_20028 -> h_MOVX x_20028
-| SETB x_20029 -> h_SETB x_20029
-| PUSH x_20030 -> h_PUSH x_20030
-| POP x_20031 -> h_POP x_20031
-| XCH (x_20033, x_20032) -> h_XCH x_20033 x_20032
-| XCHD (x_20035, x_20034) -> h_XCHD x_20035 x_20034
+| ADD (x_864, x_863) -> h_ADD x_864 x_863
+| ADDC (x_866, x_865) -> h_ADDC x_866 x_865
+| SUBB (x_868, x_867) -> h_SUBB x_868 x_867
+| INC x_869 -> h_INC x_869
+| DEC x_870 -> h_DEC x_870
+| MUL (x_872, x_871) -> h_MUL x_872 x_871
+| DIV (x_874, x_873) -> h_DIV x_874 x_873
+| DA x_875 -> h_DA x_875
+| JC x_876 -> h_JC x_876
+| JNC x_877 -> h_JNC x_877
+| JB (x_879, x_878) -> h_JB x_879 x_878
+| JNB (x_881, x_880) -> h_JNB x_881 x_880
+| JBC (x_883, x_882) -> h_JBC x_883 x_882
+| JZ x_884 -> h_JZ x_884
+| JNZ x_885 -> h_JNZ x_885
+| CJNE (x_887, x_886) -> h_CJNE x_887 x_886
+| DJNZ (x_889, x_888) -> h_DJNZ x_889 x_888
+| ANL x_890 -> h_ANL x_890
+| ORL x_891 -> h_ORL x_891
+| XRL x_892 -> h_XRL x_892
+| CLR x_893 -> h_CLR x_893
+| CPL x_894 -> h_CPL x_894
+| RL x_895 -> h_RL x_895
+| RLC x_896 -> h_RLC x_896
+| RR x_897 -> h_RR x_897
+| RRC x_898 -> h_RRC x_898
+| SWAP x_899 -> h_SWAP x_899
+| MOV x_900 -> h_MOV x_900
+| MOVX x_901 -> h_MOVX x_901
+| SETB x_902 -> h_SETB x_902
+| PUSH x_903 -> h_PUSH x_903
+| POP x_904 -> h_POP x_904
+| XCH (x_906, x_905) -> h_XCH x_906 x_905
+| XCHD (x_908, x_907) -> h_XCHD x_908 x_907
 | RET -> h_RET
 | RETI -> h_RETI
 | NOP -> h_NOP
-| JMP x_20036 -> h_JMP x_20036
+| JMP x_909 -> h_JMP x_909
 
 (** val preinstruction_rect_Type3 :
     (subaddressing_mode -> subaddressing_mode -> 'a2) -> (subaddressing_mode
@@ -2437,44 +2437,44 @@ let rec preinstruction_rect_Type5 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_
     -> 'a2) -> (subaddressing_mode -> subaddressing_mode -> 'a2) -> 'a2 ->
     'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
 let rec preinstruction_rect_Type3 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
-| ADD (x_20077, x_20076) -> h_ADD x_20077 x_20076
-| ADDC (x_20079, x_20078) -> h_ADDC x_20079 x_20078
-| SUBB (x_20081, x_20080) -> h_SUBB x_20081 x_20080
-| INC x_20082 -> h_INC x_20082
-| DEC x_20083 -> h_DEC x_20083
-| MUL (x_20085, x_20084) -> h_MUL x_20085 x_20084
-| DIV (x_20087, x_20086) -> h_DIV x_20087 x_20086
-| DA x_20088 -> h_DA x_20088
-| JC x_20089 -> h_JC x_20089
-| JNC x_20090 -> h_JNC x_20090
-| JB (x_20092, x_20091) -> h_JB x_20092 x_20091
-| JNB (x_20094, x_20093) -> h_JNB x_20094 x_20093
-| JBC (x_20096, x_20095) -> h_JBC x_20096 x_20095
-| JZ x_20097 -> h_JZ x_20097
-| JNZ x_20098 -> h_JNZ x_20098
-| CJNE (x_20100, x_20099) -> h_CJNE x_20100 x_20099
-| DJNZ (x_20102, x_20101) -> h_DJNZ x_20102 x_20101
-| ANL x_20103 -> h_ANL x_20103
-| ORL x_20104 -> h_ORL x_20104
-| XRL x_20105 -> h_XRL x_20105
-| CLR x_20106 -> h_CLR x_20106
-| CPL x_20107 -> h_CPL x_20107
-| RL x_20108 -> h_RL x_20108
-| RLC x_20109 -> h_RLC x_20109
-| RR x_20110 -> h_RR x_20110
-| RRC x_20111 -> h_RRC x_20111
-| SWAP x_20112 -> h_SWAP x_20112
-| MOV x_20113 -> h_MOV x_20113
-| MOVX x_20114 -> h_MOVX x_20114
-| SETB x_20115 -> h_SETB x_20115
-| PUSH x_20116 -> h_PUSH x_20116
-| POP x_20117 -> h_POP x_20117
-| XCH (x_20119, x_20118) -> h_XCH x_20119 x_20118
-| XCHD (x_20121, x_20120) -> h_XCHD x_20121 x_20120
+| ADD (x_950, x_949) -> h_ADD x_950 x_949
+| ADDC (x_952, x_951) -> h_ADDC x_952 x_951
+| SUBB (x_954, x_953) -> h_SUBB x_954 x_953
+| INC x_955 -> h_INC x_955
+| DEC x_956 -> h_DEC x_956
+| MUL (x_958, x_957) -> h_MUL x_958 x_957
+| DIV (x_960, x_959) -> h_DIV x_960 x_959
+| DA x_961 -> h_DA x_961
+| JC x_962 -> h_JC x_962
+| JNC x_963 -> h_JNC x_963
+| JB (x_965, x_964) -> h_JB x_965 x_964
+| JNB (x_967, x_966) -> h_JNB x_967 x_966
+| JBC (x_969, x_968) -> h_JBC x_969 x_968
+| JZ x_970 -> h_JZ x_970
+| JNZ x_971 -> h_JNZ x_971
+| CJNE (x_973, x_972) -> h_CJNE x_973 x_972
+| DJNZ (x_975, x_974) -> h_DJNZ x_975 x_974
+| ANL x_976 -> h_ANL x_976
+| ORL x_977 -> h_ORL x_977
+| XRL x_978 -> h_XRL x_978
+| CLR x_979 -> h_CLR x_979
+| CPL x_980 -> h_CPL x_980
+| RL x_981 -> h_RL x_981
+| RLC x_982 -> h_RLC x_982
+| RR x_983 -> h_RR x_983
+| RRC x_984 -> h_RRC x_984
+| SWAP x_985 -> h_SWAP x_985
+| MOV x_986 -> h_MOV x_986
+| MOVX x_987 -> h_MOVX x_987
+| SETB x_988 -> h_SETB x_988
+| PUSH x_989 -> h_PUSH x_989
+| POP x_990 -> h_POP x_990
+| XCH (x_992, x_991) -> h_XCH x_992 x_991
+| XCHD (x_994, x_993) -> h_XCHD x_994 x_993
 | RET -> h_RET
 | RETI -> h_RETI
 | NOP -> h_NOP
-| JMP x_20122 -> h_JMP x_20122
+| JMP x_995 -> h_JMP x_995
 
 (** val preinstruction_rect_Type2 :
     (subaddressing_mode -> subaddressing_mode -> 'a2) -> (subaddressing_mode
@@ -2512,44 +2512,44 @@ let rec preinstruction_rect_Type3 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_
     -> 'a2) -> (subaddressing_mode -> subaddressing_mode -> 'a2) -> 'a2 ->
     'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
 let rec preinstruction_rect_Type2 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
-| ADD (x_20163, x_20162) -> h_ADD x_20163 x_20162
-| ADDC (x_20165, x_20164) -> h_ADDC x_20165 x_20164
-| SUBB (x_20167, x_20166) -> h_SUBB x_20167 x_20166
-| INC x_20168 -> h_INC x_20168
-| DEC x_20169 -> h_DEC x_20169
-| MUL (x_20171, x_20170) -> h_MUL x_20171 x_20170
-| DIV (x_20173, x_20172) -> h_DIV x_20173 x_20172
-| DA x_20174 -> h_DA x_20174
-| JC x_20175 -> h_JC x_20175
-| JNC x_20176 -> h_JNC x_20176
-| JB (x_20178, x_20177) -> h_JB x_20178 x_20177
-| JNB (x_20180, x_20179) -> h_JNB x_20180 x_20179
-| JBC (x_20182, x_20181) -> h_JBC x_20182 x_20181
-| JZ x_20183 -> h_JZ x_20183
-| JNZ x_20184 -> h_JNZ x_20184
-| CJNE (x_20186, x_20185) -> h_CJNE x_20186 x_20185
-| DJNZ (x_20188, x_20187) -> h_DJNZ x_20188 x_20187
-| ANL x_20189 -> h_ANL x_20189
-| ORL x_20190 -> h_ORL x_20190
-| XRL x_20191 -> h_XRL x_20191
-| CLR x_20192 -> h_CLR x_20192
-| CPL x_20193 -> h_CPL x_20193
-| RL x_20194 -> h_RL x_20194
-| RLC x_20195 -> h_RLC x_20195
-| RR x_20196 -> h_RR x_20196
-| RRC x_20197 -> h_RRC x_20197
-| SWAP x_20198 -> h_SWAP x_20198
-| MOV x_20199 -> h_MOV x_20199
-| MOVX x_20200 -> h_MOVX x_20200
-| SETB x_20201 -> h_SETB x_20201
-| PUSH x_20202 -> h_PUSH x_20202
-| POP x_20203 -> h_POP x_20203
-| XCH (x_20205, x_20204) -> h_XCH x_20205 x_20204
-| XCHD (x_20207, x_20206) -> h_XCHD x_20207 x_20206
+| ADD (x_1036, x_1035) -> h_ADD x_1036 x_1035
+| ADDC (x_1038, x_1037) -> h_ADDC x_1038 x_1037
+| SUBB (x_1040, x_1039) -> h_SUBB x_1040 x_1039
+| INC x_1041 -> h_INC x_1041
+| DEC x_1042 -> h_DEC x_1042
+| MUL (x_1044, x_1043) -> h_MUL x_1044 x_1043
+| DIV (x_1046, x_1045) -> h_DIV x_1046 x_1045
+| DA x_1047 -> h_DA x_1047
+| JC x_1048 -> h_JC x_1048
+| JNC x_1049 -> h_JNC x_1049
+| JB (x_1051, x_1050) -> h_JB x_1051 x_1050
+| JNB (x_1053, x_1052) -> h_JNB x_1053 x_1052
+| JBC (x_1055, x_1054) -> h_JBC x_1055 x_1054
+| JZ x_1056 -> h_JZ x_1056
+| JNZ x_1057 -> h_JNZ x_1057
+| CJNE (x_1059, x_1058) -> h_CJNE x_1059 x_1058
+| DJNZ (x_1061, x_1060) -> h_DJNZ x_1061 x_1060
+| ANL x_1062 -> h_ANL x_1062
+| ORL x_1063 -> h_ORL x_1063
+| XRL x_1064 -> h_XRL x_1064
+| CLR x_1065 -> h_CLR x_1065
+| CPL x_1066 -> h_CPL x_1066
+| RL x_1067 -> h_RL x_1067
+| RLC x_1068 -> h_RLC x_1068
+| RR x_1069 -> h_RR x_1069
+| RRC x_1070 -> h_RRC x_1070
+| SWAP x_1071 -> h_SWAP x_1071
+| MOV x_1072 -> h_MOV x_1072
+| MOVX x_1073 -> h_MOVX x_1073
+| SETB x_1074 -> h_SETB x_1074
+| PUSH x_1075 -> h_PUSH x_1075
+| POP x_1076 -> h_POP x_1076
+| XCH (x_1078, x_1077) -> h_XCH x_1078 x_1077
+| XCHD (x_1080, x_1079) -> h_XCHD x_1080 x_1079
 | RET -> h_RET
 | RETI -> h_RETI
 | NOP -> h_NOP
-| JMP x_20208 -> h_JMP x_20208
+| JMP x_1081 -> h_JMP x_1081
 
 (** val preinstruction_rect_Type1 :
     (subaddressing_mode -> subaddressing_mode -> 'a2) -> (subaddressing_mode
@@ -2587,44 +2587,44 @@ let rec preinstruction_rect_Type2 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_
     -> 'a2) -> (subaddressing_mode -> subaddressing_mode -> 'a2) -> 'a2 ->
     'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
 let rec preinstruction_rect_Type1 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
-| ADD (x_20249, x_20248) -> h_ADD x_20249 x_20248
-| ADDC (x_20251, x_20250) -> h_ADDC x_20251 x_20250
-| SUBB (x_20253, x_20252) -> h_SUBB x_20253 x_20252
-| INC x_20254 -> h_INC x_20254
-| DEC x_20255 -> h_DEC x_20255
-| MUL (x_20257, x_20256) -> h_MUL x_20257 x_20256
-| DIV (x_20259, x_20258) -> h_DIV x_20259 x_20258
-| DA x_20260 -> h_DA x_20260
-| JC x_20261 -> h_JC x_20261
-| JNC x_20262 -> h_JNC x_20262
-| JB (x_20264, x_20263) -> h_JB x_20264 x_20263
-| JNB (x_20266, x_20265) -> h_JNB x_20266 x_20265
-| JBC (x_20268, x_20267) -> h_JBC x_20268 x_20267
-| JZ x_20269 -> h_JZ x_20269
-| JNZ x_20270 -> h_JNZ x_20270
-| CJNE (x_20272, x_20271) -> h_CJNE x_20272 x_20271
-| DJNZ (x_20274, x_20273) -> h_DJNZ x_20274 x_20273
-| ANL x_20275 -> h_ANL x_20275
-| ORL x_20276 -> h_ORL x_20276
-| XRL x_20277 -> h_XRL x_20277
-| CLR x_20278 -> h_CLR x_20278
-| CPL x_20279 -> h_CPL x_20279
-| RL x_20280 -> h_RL x_20280
-| RLC x_20281 -> h_RLC x_20281
-| RR x_20282 -> h_RR x_20282
-| RRC x_20283 -> h_RRC x_20283
-| SWAP x_20284 -> h_SWAP x_20284
-| MOV x_20285 -> h_MOV x_20285
-| MOVX x_20286 -> h_MOVX x_20286
-| SETB x_20287 -> h_SETB x_20287
-| PUSH x_20288 -> h_PUSH x_20288
-| POP x_20289 -> h_POP x_20289
-| XCH (x_20291, x_20290) -> h_XCH x_20291 x_20290
-| XCHD (x_20293, x_20292) -> h_XCHD x_20293 x_20292
+| ADD (x_1122, x_1121) -> h_ADD x_1122 x_1121
+| ADDC (x_1124, x_1123) -> h_ADDC x_1124 x_1123
+| SUBB (x_1126, x_1125) -> h_SUBB x_1126 x_1125
+| INC x_1127 -> h_INC x_1127
+| DEC x_1128 -> h_DEC x_1128
+| MUL (x_1130, x_1129) -> h_MUL x_1130 x_1129
+| DIV (x_1132, x_1131) -> h_DIV x_1132 x_1131
+| DA x_1133 -> h_DA x_1133
+| JC x_1134 -> h_JC x_1134
+| JNC x_1135 -> h_JNC x_1135
+| JB (x_1137, x_1136) -> h_JB x_1137 x_1136
+| JNB (x_1139, x_1138) -> h_JNB x_1139 x_1138
+| JBC (x_1141, x_1140) -> h_JBC x_1141 x_1140
+| JZ x_1142 -> h_JZ x_1142
+| JNZ x_1143 -> h_JNZ x_1143
+| CJNE (x_1145, x_1144) -> h_CJNE x_1145 x_1144
+| DJNZ (x_1147, x_1146) -> h_DJNZ x_1147 x_1146
+| ANL x_1148 -> h_ANL x_1148
+| ORL x_1149 -> h_ORL x_1149
+| XRL x_1150 -> h_XRL x_1150
+| CLR x_1151 -> h_CLR x_1151
+| CPL x_1152 -> h_CPL x_1152
+| RL x_1153 -> h_RL x_1153
+| RLC x_1154 -> h_RLC x_1154
+| RR x_1155 -> h_RR x_1155
+| RRC x_1156 -> h_RRC x_1156
+| SWAP x_1157 -> h_SWAP x_1157
+| MOV x_1158 -> h_MOV x_1158
+| MOVX x_1159 -> h_MOVX x_1159
+| SETB x_1160 -> h_SETB x_1160
+| PUSH x_1161 -> h_PUSH x_1161
+| POP x_1162 -> h_POP x_1162
+| XCH (x_1164, x_1163) -> h_XCH x_1164 x_1163
+| XCHD (x_1166, x_1165) -> h_XCHD x_1166 x_1165
 | RET -> h_RET
 | RETI -> h_RETI
 | NOP -> h_NOP
-| JMP x_20294 -> h_JMP x_20294
+| JMP x_1167 -> h_JMP x_1167
 
 (** val preinstruction_rect_Type0 :
     (subaddressing_mode -> subaddressing_mode -> 'a2) -> (subaddressing_mode
@@ -2662,44 +2662,44 @@ let rec preinstruction_rect_Type1 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_
     -> 'a2) -> (subaddressing_mode -> subaddressing_mode -> 'a2) -> 'a2 ->
     'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
 let rec preinstruction_rect_Type0 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function
-| ADD (x_20335, x_20334) -> h_ADD x_20335 x_20334
-| ADDC (x_20337, x_20336) -> h_ADDC x_20337 x_20336
-| SUBB (x_20339, x_20338) -> h_SUBB x_20339 x_20338
-| INC x_20340 -> h_INC x_20340
-| DEC x_20341 -> h_DEC x_20341
-| MUL (x_20343, x_20342) -> h_MUL x_20343 x_20342
-| DIV (x_20345, x_20344) -> h_DIV x_20345 x_20344
-| DA x_20346 -> h_DA x_20346
-| JC x_20347 -> h_JC x_20347
-| JNC x_20348 -> h_JNC x_20348
-| JB (x_20350, x_20349) -> h_JB x_20350 x_20349
-| JNB (x_20352, x_20351) -> h_JNB x_20352 x_20351
-| JBC (x_20354, x_20353) -> h_JBC x_20354 x_20353
-| JZ x_20355 -> h_JZ x_20355
-| JNZ x_20356 -> h_JNZ x_20356
-| CJNE (x_20358, x_20357) -> h_CJNE x_20358 x_20357
-| DJNZ (x_20360, x_20359) -> h_DJNZ x_20360 x_20359
-| ANL x_20361 -> h_ANL x_20361
-| ORL x_20362 -> h_ORL x_20362
-| XRL x_20363 -> h_XRL x_20363
-| CLR x_20364 -> h_CLR x_20364
-| CPL x_20365 -> h_CPL x_20365
-| RL x_20366 -> h_RL x_20366
-| RLC x_20367 -> h_RLC x_20367
-| RR x_20368 -> h_RR x_20368
-| RRC x_20369 -> h_RRC x_20369
-| SWAP x_20370 -> h_SWAP x_20370
-| MOV x_20371 -> h_MOV x_20371
-| MOVX x_20372 -> h_MOVX x_20372
-| SETB x_20373 -> h_SETB x_20373
-| PUSH x_20374 -> h_PUSH x_20374
-| POP x_20375 -> h_POP x_20375
-| XCH (x_20377, x_20376) -> h_XCH x_20377 x_20376
-| XCHD (x_20379, x_20378) -> h_XCHD x_20379 x_20378
+| ADD (x_1208, x_1207) -> h_ADD x_1208 x_1207
+| ADDC (x_1210, x_1209) -> h_ADDC x_1210 x_1209
+| SUBB (x_1212, x_1211) -> h_SUBB x_1212 x_1211
+| INC x_1213 -> h_INC x_1213
+| DEC x_1214 -> h_DEC x_1214
+| MUL (x_1216, x_1215) -> h_MUL x_1216 x_1215
+| DIV (x_1218, x_1217) -> h_DIV x_1218 x_1217
+| DA x_1219 -> h_DA x_1219
+| JC x_1220 -> h_JC x_1220
+| JNC x_1221 -> h_JNC x_1221
+| JB (x_1223, x_1222) -> h_JB x_1223 x_1222
+| JNB (x_1225, x_1224) -> h_JNB x_1225 x_1224
+| JBC (x_1227, x_1226) -> h_JBC x_1227 x_1226
+| JZ x_1228 -> h_JZ x_1228
+| JNZ x_1229 -> h_JNZ x_1229
+| CJNE (x_1231, x_1230) -> h_CJNE x_1231 x_1230
+| DJNZ (x_1233, x_1232) -> h_DJNZ x_1233 x_1232
+| ANL x_1234 -> h_ANL x_1234
+| ORL x_1235 -> h_ORL x_1235
+| XRL x_1236 -> h_XRL x_1236
+| CLR x_1237 -> h_CLR x_1237
+| CPL x_1238 -> h_CPL x_1238
+| RL x_1239 -> h_RL x_1239
+| RLC x_1240 -> h_RLC x_1240
+| RR x_1241 -> h_RR x_1241
+| RRC x_1242 -> h_RRC x_1242
+| SWAP x_1243 -> h_SWAP x_1243
+| MOV x_1244 -> h_MOV x_1244
+| MOVX x_1245 -> h_MOVX x_1245
+| SETB x_1246 -> h_SETB x_1246
+| PUSH x_1247 -> h_PUSH x_1247
+| POP x_1248 -> h_POP x_1248
+| XCH (x_1250, x_1249) -> h_XCH x_1250 x_1249
+| XCHD (x_1252, x_1251) -> h_XCHD x_1252 x_1251
 | RET -> h_RET
 | RETI -> h_RETI
 | NOP -> h_NOP
-| JMP x_20380 -> h_JMP x_20380
+| JMP x_1253 -> h_JMP x_1253
 
 (** val preinstruction_inv_rect_Type4 :
     'a1 preinstruction -> (subaddressing_mode -> subaddressing_mode -> __ ->
@@ -5103,13 +5103,13 @@ type instruction =
     -> 'a1) -> (subaddressing_mode preinstruction -> 'a1) -> instruction ->
     'a1 **)
 let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
-| ACALL x_20952 -> h_ACALL x_20952
-| LCALL x_20953 -> h_LCALL x_20953
-| AJMP x_20954 -> h_AJMP x_20954
-| LJMP x_20955 -> h_LJMP x_20955
-| SJMP x_20956 -> h_SJMP x_20956
-| MOVC (x_20958, x_20957) -> h_MOVC x_20958 x_20957
-| RealInstruction x_20959 -> h_RealInstruction x_20959
+| ACALL x_1825 -> h_ACALL x_1825
+| LCALL x_1826 -> h_LCALL x_1826
+| AJMP x_1827 -> h_AJMP x_1827
+| LJMP x_1828 -> h_LJMP x_1828
+| SJMP x_1829 -> h_SJMP x_1829
+| MOVC (x_1831, x_1830) -> h_MOVC x_1831 x_1830
+| RealInstruction x_1832 -> h_RealInstruction x_1832
 
 (** val instruction_rect_Type5 :
     (subaddressing_mode -> 'a1) -> (subaddressing_mode -> 'a1) ->
@@ -5118,13 +5118,13 @@ let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_Rea
     -> 'a1) -> (subaddressing_mode preinstruction -> 'a1) -> instruction ->
     'a1 **)
 let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
-| ACALL x_20968 -> h_ACALL x_20968
-| LCALL x_20969 -> h_LCALL x_20969
-| AJMP x_20970 -> h_AJMP x_20970
-| LJMP x_20971 -> h_LJMP x_20971
-| SJMP x_20972 -> h_SJMP x_20972
-| MOVC (x_20974, x_20973) -> h_MOVC x_20974 x_20973
-| RealInstruction x_20975 -> h_RealInstruction x_20975
+| ACALL x_1841 -> h_ACALL x_1841
+| LCALL x_1842 -> h_LCALL x_1842
+| AJMP x_1843 -> h_AJMP x_1843
+| LJMP x_1844 -> h_LJMP x_1844
+| SJMP x_1845 -> h_SJMP x_1845
+| MOVC (x_1847, x_1846) -> h_MOVC x_1847 x_1846
+| RealInstruction x_1848 -> h_RealInstruction x_1848
 
 (** val instruction_rect_Type3 :
     (subaddressing_mode -> 'a1) -> (subaddressing_mode -> 'a1) ->
@@ -5133,13 +5133,13 @@ let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_Rea
     -> 'a1) -> (subaddressing_mode preinstruction -> 'a1) -> instruction ->
     'a1 **)
 let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
-| ACALL x_20984 -> h_ACALL x_20984
-| LCALL x_20985 -> h_LCALL x_20985
-| AJMP x_20986 -> h_AJMP x_20986
-| LJMP x_20987 -> h_LJMP x_20987
-| SJMP x_20988 -> h_SJMP x_20988
-| MOVC (x_20990, x_20989) -> h_MOVC x_20990 x_20989
-| RealInstruction x_20991 -> h_RealInstruction x_20991
+| ACALL x_1857 -> h_ACALL x_1857
+| LCALL x_1858 -> h_LCALL x_1858
+| AJMP x_1859 -> h_AJMP x_1859
+| LJMP x_1860 -> h_LJMP x_1860
+| SJMP x_1861 -> h_SJMP x_1861
+| MOVC (x_1863, x_1862) -> h_MOVC x_1863 x_1862
+| RealInstruction x_1864 -> h_RealInstruction x_1864
 
 (** val instruction_rect_Type2 :
     (subaddressing_mode -> 'a1) -> (subaddressing_mode -> 'a1) ->
@@ -5148,13 +5148,13 @@ let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_Rea
     -> 'a1) -> (subaddressing_mode preinstruction -> 'a1) -> instruction ->
     'a1 **)
 let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
-| ACALL x_21000 -> h_ACALL x_21000
-| LCALL x_21001 -> h_LCALL x_21001
-| AJMP x_21002 -> h_AJMP x_21002
-| LJMP x_21003 -> h_LJMP x_21003
-| SJMP x_21004 -> h_SJMP x_21004
-| MOVC (x_21006, x_21005) -> h_MOVC x_21006 x_21005
-| RealInstruction x_21007 -> h_RealInstruction x_21007
+| ACALL x_1873 -> h_ACALL x_1873
+| LCALL x_1874 -> h_LCALL x_1874
+| AJMP x_1875 -> h_AJMP x_1875
+| LJMP x_1876 -> h_LJMP x_1876
+| SJMP x_1877 -> h_SJMP x_1877
+| MOVC (x_1879, x_1878) -> h_MOVC x_1879 x_1878
+| RealInstruction x_1880 -> h_RealInstruction x_1880
 
 (** val instruction_rect_Type1 :
     (subaddressing_mode -> 'a1) -> (subaddressing_mode -> 'a1) ->
@@ -5163,13 +5163,13 @@ let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_Rea
     -> 'a1) -> (subaddressing_mode preinstruction -> 'a1) -> instruction ->
     'a1 **)
 let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
-| ACALL x_21016 -> h_ACALL x_21016
-| LCALL x_21017 -> h_LCALL x_21017
-| AJMP x_21018 -> h_AJMP x_21018
-| LJMP x_21019 -> h_LJMP x_21019
-| SJMP x_21020 -> h_SJMP x_21020
-| MOVC (x_21022, x_21021) -> h_MOVC x_21022 x_21021
-| RealInstruction x_21023 -> h_RealInstruction x_21023
+| ACALL x_1889 -> h_ACALL x_1889
+| LCALL x_1890 -> h_LCALL x_1890
+| AJMP x_1891 -> h_AJMP x_1891
+| LJMP x_1892 -> h_LJMP x_1892
+| SJMP x_1893 -> h_SJMP x_1893
+| MOVC (x_1895, x_1894) -> h_MOVC x_1895 x_1894
+| RealInstruction x_1896 -> h_RealInstruction x_1896
 
 (** val instruction_rect_Type0 :
     (subaddressing_mode -> 'a1) -> (subaddressing_mode -> 'a1) ->
@@ -5178,13 +5178,13 @@ let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_Rea
     -> 'a1) -> (subaddressing_mode preinstruction -> 'a1) -> instruction ->
     'a1 **)
 let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
-| ACALL x_21032 -> h_ACALL x_21032
-| LCALL x_21033 -> h_LCALL x_21033
-| AJMP x_21034 -> h_AJMP x_21034
-| LJMP x_21035 -> h_LJMP x_21035
-| SJMP x_21036 -> h_SJMP x_21036
-| MOVC (x_21038, x_21037) -> h_MOVC x_21038 x_21037
-| RealInstruction x_21039 -> h_RealInstruction x_21039
+| ACALL x_1905 -> h_ACALL x_1905
+| LCALL x_1906 -> h_LCALL x_1906
+| AJMP x_1907 -> h_AJMP x_1907
+| LJMP x_1908 -> h_LJMP x_1908
+| SJMP x_1909 -> h_SJMP x_1909
+| MOVC (x_1911, x_1910) -> h_MOVC x_1911 x_1910
+| RealInstruction x_1912 -> h_RealInstruction x_1912
 
 (** val instruction_inv_rect_Type4 :
     instruction -> (subaddressing_mode -> __ -> 'a1) -> (subaddressing_mode
@@ -5475,13 +5475,13 @@ type pseudo_instruction =
     Types.sum -> identifier -> BitVector.word -> 'a1) -> pseudo_instruction
     -> 'a1 **)
 let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
-| Instruction x_21202 -> h_Instruction x_21202
-| Comment x_21203 -> h_Comment x_21203
-| Cost x_21204 -> h_Cost x_21204
-| Jmp x_21205 -> h_Jmp x_21205
-| Jnz (x_21208, x_21207, x_21206) -> h_Jnz x_21208 x_21207 x_21206
-| Call x_21209 -> h_Call x_21209
-| Mov (x_21212, x_21211, x_21210) -> h_Mov x_21212 x_21211 x_21210
+| Instruction x_2075 -> h_Instruction x_2075
+| Comment x_2076 -> h_Comment x_2076
+| Cost x_2077 -> h_Cost x_2077
+| Jmp x_2078 -> h_Jmp x_2078
+| Jnz (x_2081, x_2080, x_2079) -> h_Jnz x_2081 x_2080 x_2079
+| Call x_2082 -> h_Call x_2082
+| Mov (x_2085, x_2084, x_2083) -> h_Mov x_2085 x_2084 x_2083
 
 (** val pseudo_instruction_rect_Type5 :
     (identifier preinstruction -> 'a1) -> (String.string -> 'a1) ->
@@ -5491,13 +5491,13 @@ let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz
     Types.sum -> identifier -> BitVector.word -> 'a1) -> pseudo_instruction
     -> 'a1 **)
 let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
-| Instruction x_21221 -> h_Instruction x_21221
-| Comment x_21222 -> h_Comment x_21222
-| Cost x_21223 -> h_Cost x_21223
-| Jmp x_21224 -> h_Jmp x_21224
-| Jnz (x_21227, x_21226, x_21225) -> h_Jnz x_21227 x_21226 x_21225
-| Call x_21228 -> h_Call x_21228
-| Mov (x_21231, x_21230, x_21229) -> h_Mov x_21231 x_21230 x_21229
+| Instruction x_2094 -> h_Instruction x_2094
+| Comment x_2095 -> h_Comment x_2095
+| Cost x_2096 -> h_Cost x_2096
+| Jmp x_2097 -> h_Jmp x_2097
+| Jnz (x_2100, x_2099, x_2098) -> h_Jnz x_2100 x_2099 x_2098
+| Call x_2101 -> h_Call x_2101
+| Mov (x_2104, x_2103, x_2102) -> h_Mov x_2104 x_2103 x_2102
 
 (** val pseudo_instruction_rect_Type3 :
     (identifier preinstruction -> 'a1) -> (String.string -> 'a1) ->
@@ -5507,13 +5507,13 @@ let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz
     Types.sum -> identifier -> BitVector.word -> 'a1) -> pseudo_instruction
     -> 'a1 **)
 let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
-| Instruction x_21240 -> h_Instruction x_21240
-| Comment x_21241 -> h_Comment x_21241
-| Cost x_21242 -> h_Cost x_21242
-| Jmp x_21243 -> h_Jmp x_21243
-| Jnz (x_21246, x_21245, x_21244) -> h_Jnz x_21246 x_21245 x_21244
-| Call x_21247 -> h_Call x_21247
-| Mov (x_21250, x_21249, x_21248) -> h_Mov x_21250 x_21249 x_21248
+| Instruction x_2113 -> h_Instruction x_2113
+| Comment x_2114 -> h_Comment x_2114
+| Cost x_2115 -> h_Cost x_2115
+| Jmp x_2116 -> h_Jmp x_2116
+| Jnz (x_2119, x_2118, x_2117) -> h_Jnz x_2119 x_2118 x_2117
+| Call x_2120 -> h_Call x_2120
+| Mov (x_2123, x_2122, x_2121) -> h_Mov x_2123 x_2122 x_2121
 
 (** val pseudo_instruction_rect_Type2 :
     (identifier preinstruction -> 'a1) -> (String.string -> 'a1) ->
@@ -5523,13 +5523,13 @@ let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz
     Types.sum -> identifier -> BitVector.word -> 'a1) -> pseudo_instruction
     -> 'a1 **)
 let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
-| Instruction x_21259 -> h_Instruction x_21259
-| Comment x_21260 -> h_Comment x_21260
-| Cost x_21261 -> h_Cost x_21261
-| Jmp x_21262 -> h_Jmp x_21262
-| Jnz (x_21265, x_21264, x_21263) -> h_Jnz x_21265 x_21264 x_21263
-| Call x_21266 -> h_Call x_21266
-| Mov (x_21269, x_21268, x_21267) -> h_Mov x_21269 x_21268 x_21267
+| Instruction x_2132 -> h_Instruction x_2132
+| Comment x_2133 -> h_Comment x_2133
+| Cost x_2134 -> h_Cost x_2134
+| Jmp x_2135 -> h_Jmp x_2135
+| Jnz (x_2138, x_2137, x_2136) -> h_Jnz x_2138 x_2137 x_2136
+| Call x_2139 -> h_Call x_2139
+| Mov (x_2142, x_2141, x_2140) -> h_Mov x_2142 x_2141 x_2140
 
 (** val pseudo_instruction_rect_Type1 :
     (identifier preinstruction -> 'a1) -> (String.string -> 'a1) ->
@@ -5539,13 +5539,13 @@ let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz
     Types.sum -> identifier -> BitVector.word -> 'a1) -> pseudo_instruction
     -> 'a1 **)
 let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
-| Instruction x_21278 -> h_Instruction x_21278
-| Comment x_21279 -> h_Comment x_21279
-| Cost x_21280 -> h_Cost x_21280
-| Jmp x_21281 -> h_Jmp x_21281
-| Jnz (x_21284, x_21283, x_21282) -> h_Jnz x_21284 x_21283 x_21282
-| Call x_21285 -> h_Call x_21285
-| Mov (x_21288, x_21287, x_21286) -> h_Mov x_21288 x_21287 x_21286
+| Instruction x_2151 -> h_Instruction x_2151
+| Comment x_2152 -> h_Comment x_2152
+| Cost x_2153 -> h_Cost x_2153
+| Jmp x_2154 -> h_Jmp x_2154
+| Jnz (x_2157, x_2156, x_2155) -> h_Jnz x_2157 x_2156 x_2155
+| Call x_2158 -> h_Call x_2158
+| Mov (x_2161, x_2160, x_2159) -> h_Mov x_2161 x_2160 x_2159
 
 (** val pseudo_instruction_rect_Type0 :
     (identifier preinstruction -> 'a1) -> (String.string -> 'a1) ->
@@ -5555,13 +5555,13 @@ let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz
     Types.sum -> identifier -> BitVector.word -> 'a1) -> pseudo_instruction
     -> 'a1 **)
 let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_Call h_Mov = function
-| Instruction x_21297 -> h_Instruction x_21297
-| Comment x_21298 -> h_Comment x_21298
-| Cost x_21299 -> h_Cost x_21299
-| Jmp x_21300 -> h_Jmp x_21300
-| Jnz (x_21303, x_21302, x_21301) -> h_Jnz x_21303 x_21302 x_21301
-| Call x_21304 -> h_Call x_21304
-| Mov (x_21307, x_21306, x_21305) -> h_Mov x_21307 x_21306 x_21305
+| Instruction x_2170 -> h_Instruction x_2170
+| Comment x_2171 -> h_Comment x_2171
+| Cost x_2172 -> h_Cost x_2172
+| Jmp x_2173 -> h_Jmp x_2173
+| Jnz (x_2176, x_2175, x_2174) -> h_Jnz x_2176 x_2175 x_2174
+| Call x_2177 -> h_Call x_2177
+| Mov (x_2180, x_2179, x_2178) -> h_Mov x_2180 x_2179 x_2178
 
 (** val pseudo_instruction_inv_rect_Type4 :
     pseudo_instruction -> (identifier preinstruction -> __ -> 'a1) ->
@@ -5777,9 +5777,9 @@ type pseudo_assembly_program = { preamble : (identifier, BitVector.word)
     labelled_instruction List.list -> __ -> (identifier, AST.ident)
     Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
     pseudo_assembly_program -> 'a1 **)
-let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_21431 =
+let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_2304 =
   let { preamble = preamble0; code = code0; renamed_symbols =
-    renamed_symbols0; final_label = final_label0 } = x_21431
+    renamed_symbols0; final_label = final_label0 } = x_2304
   in
   h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     final_label0 __ __
@@ -5789,9 +5789,9 @@ let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_21431
     labelled_instruction List.list -> __ -> (identifier, AST.ident)
     Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
     pseudo_assembly_program -> 'a1 **)
-let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_21433 =
+let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_2306 =
   let { preamble = preamble0; code = code0; renamed_symbols =
-    renamed_symbols0; final_label = final_label0 } = x_21433
+    renamed_symbols0; final_label = final_label0 } = x_2306
   in
   h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     final_label0 __ __
@@ -5801,9 +5801,9 @@ let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_21433
     labelled_instruction List.list -> __ -> (identifier, AST.ident)
     Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
     pseudo_assembly_program -> 'a1 **)
-let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_21435 =
+let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_2308 =
   let { preamble = preamble0; code = code0; renamed_symbols =
-    renamed_symbols0; final_label = final_label0 } = x_21435
+    renamed_symbols0; final_label = final_label0 } = x_2308
   in
   h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     final_label0 __ __
@@ -5813,9 +5813,9 @@ let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_21435
     labelled_instruction List.list -> __ -> (identifier, AST.ident)
     Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
     pseudo_assembly_program -> 'a1 **)
-let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_21437 =
+let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_2310 =
   let { preamble = preamble0; code = code0; renamed_symbols =
-    renamed_symbols0; final_label = final_label0 } = x_21437
+    renamed_symbols0; final_label = final_label0 } = x_2310
   in
   h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     final_label0 __ __
@@ -5825,9 +5825,9 @@ let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_21437
     labelled_instruction List.list -> __ -> (identifier, AST.ident)
     Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
     pseudo_assembly_program -> 'a1 **)
-let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_21439 =
+let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_2312 =
   let { preamble = preamble0; code = code0; renamed_symbols =
-    renamed_symbols0; final_label = final_label0 } = x_21439
+    renamed_symbols0; final_label = final_label0 } = x_2312
   in
   h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     final_label0 __ __
@@ -5837,9 +5837,9 @@ let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_21439
     labelled_instruction List.list -> __ -> (identifier, AST.ident)
     Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
     pseudo_assembly_program -> 'a1 **)
-let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_21441 =
+let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_2314 =
   let { preamble = preamble0; code = code0; renamed_symbols =
-    renamed_symbols0; final_label = final_label0 } = x_21441
+    renamed_symbols0; final_label = final_label0 } = x_2314
   in
   h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     final_label0 __ __
@@ -5936,17 +5936,22 @@ let next pmem pc =
 let load_code_memory0 program =
   (Types.pi1
     (FoldStuff.foldl_strong program (fun prefix v tl _ i_mem ->
-      (let { Types.fst = i; Types.snd = mem } = Types.pi1 i_mem in
-      (fun _ -> { Types.fst = (Nat.S i); Types.snd =
+      (let { Types.fst = eta24568; Types.snd = mem } = Types.pi1 i_mem in
+      (fun _ ->
+      (let { Types.fst = i; Types.snd = bvi } = eta24568 in
+      (fun _ -> { Types.fst = { Types.fst = (Nat.S i); Types.snd =
+      (Arithmetic.increment (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
+        (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
+        Nat.O)))))))))))))))) bvi) }; Types.snd =
       (BitVectorTrie.insert (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
         (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
-        Nat.O))))))))))))))))
-        (Arithmetic.bitvector_of_nat (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
-          (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
-          (Nat.S (Nat.S Nat.O)))))))))))))))) i) v mem) })) __) { Types.fst =
-      Nat.O; Types.snd = (BitVectorTrie.Stub (Nat.S (Nat.S (Nat.S (Nat.S
+        Nat.O)))))))))))))))) bvi v mem) })) __)) __) { Types.fst =
+      { Types.fst = Nat.O; Types.snd =
+      (BitVector.zero (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
+        (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
+        Nat.O))))))))))))))))) }; Types.snd = (BitVectorTrie.Stub (Nat.S
       (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
-      (Nat.S (Nat.S Nat.O))))))))))))))))) })).Types.snd
+      (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S Nat.O))))))))))))))))) })).Types.snd
 
 (** val load_code_memory :
     object_code -> BitVector.byte BitVectorTrie.bitVectorTrie **)
@@ -5967,9 +5972,9 @@ type labelled_object_code = { oc : object_code;
     (object_code -> BitVector.byte BitVectorTrie.bitVectorTrie -> __ ->
     costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
     labelled_object_code -> 'a1 **)
-let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_21457 =
+let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_2330 =
   let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
-    symboltable0; final_pc = final_pc0 } = x_21457
+    symboltable0; final_pc = final_pc0 } = x_2330
   in
   h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
 
@@ -5977,9 +5982,9 @@ let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_21457 =
     (object_code -> BitVector.byte BitVectorTrie.bitVectorTrie -> __ ->
     costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
     labelled_object_code -> 'a1 **)
-let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_21459 =
+let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_2332 =
   let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
-    symboltable0; final_pc = final_pc0 } = x_21459
+    symboltable0; final_pc = final_pc0 } = x_2332
   in
   h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
 
@@ -5987,9 +5992,9 @@ let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_21459 =
     (object_code -> BitVector.byte BitVectorTrie.bitVectorTrie -> __ ->
     costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
     labelled_object_code -> 'a1 **)
-let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_21461 =
+let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_2334 =
   let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
-    symboltable0; final_pc = final_pc0 } = x_21461
+    symboltable0; final_pc = final_pc0 } = x_2334
   in
   h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
 
@@ -5997,9 +6002,9 @@ let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_21461 =
     (object_code -> BitVector.byte BitVectorTrie.bitVectorTrie -> __ ->
     costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
     labelled_object_code -> 'a1 **)
-let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_21463 =
+let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_2336 =
   let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
-    symboltable0; final_pc = final_pc0 } = x_21463
+    symboltable0; final_pc = final_pc0 } = x_2336
   in
   h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
 
@@ -6007,9 +6012,9 @@ let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_21463 =
     (object_code -> BitVector.byte BitVectorTrie.bitVectorTrie -> __ ->
     costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
     labelled_object_code -> 'a1 **)
-let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_21465 =
+let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_2338 =
   let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
-    symboltable0; final_pc = final_pc0 } = x_21465
+    symboltable0; final_pc = final_pc0 } = x_2338
   in
   h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __
 
@@ -6017,9 +6022,9 @@ let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_21465 =
     (object_code -> BitVector.byte BitVectorTrie.bitVectorTrie -> __ ->
     costlabel_map -> symboltable_type -> BitVector.word -> __ -> 'a1) ->
     labelled_object_code -> 'a1 **)
-let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_21467 =
+let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_2340 =
   let { oc = oc0; cm = cm0; costlabels = costlabels0; symboltable =
-    symboltable0; final_pc = final_pc0 } = x_21467
+    symboltable0; final_pc = final_pc0 } = x_2340
   in
   h_mk_labelled_object_code oc0 cm0 __ costlabels0 symboltable0 final_pc0 __