Changeset 2867


Ignore:
Timestamp:
Mar 13, 2013, 11:12:29 PM (4 years ago)
Author:
sacerdot
Message:

New extraction after indianess bug fixes by Paolo.

Location:
extracted
Files:
33 edited

Legend:

Unmodified
Added
Removed
  • extracted/aSM.ml

    r2827 r2867  
    113113    -> 'a1) -> addressing_mode -> 'a1 **)
    114114let 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
    115 | DIRECT x_22051 -> h_DIRECT x_22051
    116 | INDIRECT x_22052 -> h_INDIRECT x_22052
    117 | EXT_INDIRECT x_22053 -> h_EXT_INDIRECT x_22053
    118 | REGISTER x_22054 -> h_REGISTER x_22054
     115| DIRECT x_22052 -> h_DIRECT x_22052
     116| INDIRECT x_22053 -> h_INDIRECT x_22053
     117| EXT_INDIRECT x_22054 -> h_EXT_INDIRECT x_22054
     118| REGISTER x_22055 -> h_REGISTER x_22055
    119119| ACC_A -> h_ACC_A
    120120| ACC_B -> h_ACC_B
    121121| DPTR -> h_DPTR
    122 | DATA x_22055 -> h_DATA x_22055
    123 | DATA16 x_22056 -> h_DATA16 x_22056
     122| DATA x_22056 -> h_DATA x_22056
     123| DATA16 x_22057 -> h_DATA16 x_22057
    124124| ACC_DPTR -> h_ACC_DPTR
    125125| ACC_PC -> h_ACC_PC
     
    127127| INDIRECT_DPTR -> h_INDIRECT_DPTR
    128128| CARRY -> h_CARRY
    129 | BIT_ADDR x_22057 -> h_BIT_ADDR x_22057
    130 | N_BIT_ADDR x_22058 -> h_N_BIT_ADDR x_22058
    131 | RELATIVE x_22059 -> h_RELATIVE x_22059
    132 | ADDR11 x_22060 -> h_ADDR11 x_22060
    133 | ADDR16 x_22061 -> h_ADDR16 x_22061
     129| BIT_ADDR x_22058 -> h_BIT_ADDR x_22058
     130| N_BIT_ADDR x_22059 -> h_N_BIT_ADDR x_22059
     131| RELATIVE x_22060 -> h_RELATIVE x_22060
     132| ADDR11 x_22061 -> h_ADDR11 x_22061
     133| ADDR16 x_22062 -> h_ADDR16 x_22062
    134134
    135135(** val addressing_mode_rect_Type5 :
     
    141141    -> 'a1) -> addressing_mode -> 'a1 **)
    142142let 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
    143 | DIRECT x_22082 -> h_DIRECT x_22082
    144 | INDIRECT x_22083 -> h_INDIRECT x_22083
    145 | EXT_INDIRECT x_22084 -> h_EXT_INDIRECT x_22084
    146 | REGISTER x_22085 -> h_REGISTER x_22085
     143| DIRECT x_22083 -> h_DIRECT x_22083
     144| INDIRECT x_22084 -> h_INDIRECT x_22084
     145| EXT_INDIRECT x_22085 -> h_EXT_INDIRECT x_22085
     146| REGISTER x_22086 -> h_REGISTER x_22086
    147147| ACC_A -> h_ACC_A
    148148| ACC_B -> h_ACC_B
    149149| DPTR -> h_DPTR
    150 | DATA x_22086 -> h_DATA x_22086
    151 | DATA16 x_22087 -> h_DATA16 x_22087
     150| DATA x_22087 -> h_DATA x_22087
     151| DATA16 x_22088 -> h_DATA16 x_22088
    152152| ACC_DPTR -> h_ACC_DPTR
    153153| ACC_PC -> h_ACC_PC
     
    155155| INDIRECT_DPTR -> h_INDIRECT_DPTR
    156156| CARRY -> h_CARRY
    157 | BIT_ADDR x_22088 -> h_BIT_ADDR x_22088
    158 | N_BIT_ADDR x_22089 -> h_N_BIT_ADDR x_22089
    159 | RELATIVE x_22090 -> h_RELATIVE x_22090
    160 | ADDR11 x_22091 -> h_ADDR11 x_22091
    161 | ADDR16 x_22092 -> h_ADDR16 x_22092
     157| BIT_ADDR x_22089 -> h_BIT_ADDR x_22089
     158| N_BIT_ADDR x_22090 -> h_N_BIT_ADDR x_22090
     159| RELATIVE x_22091 -> h_RELATIVE x_22091
     160| ADDR11 x_22092 -> h_ADDR11 x_22092
     161| ADDR16 x_22093 -> h_ADDR16 x_22093
    162162
    163163(** val addressing_mode_rect_Type3 :
     
    169169    -> 'a1) -> addressing_mode -> 'a1 **)
    170170let 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
    171 | DIRECT x_22113 -> h_DIRECT x_22113
    172 | INDIRECT x_22114 -> h_INDIRECT x_22114
    173 | EXT_INDIRECT x_22115 -> h_EXT_INDIRECT x_22115
    174 | REGISTER x_22116 -> h_REGISTER x_22116
     171| DIRECT x_22114 -> h_DIRECT x_22114
     172| INDIRECT x_22115 -> h_INDIRECT x_22115
     173| EXT_INDIRECT x_22116 -> h_EXT_INDIRECT x_22116
     174| REGISTER x_22117 -> h_REGISTER x_22117
    175175| ACC_A -> h_ACC_A
    176176| ACC_B -> h_ACC_B
    177177| DPTR -> h_DPTR
    178 | DATA x_22117 -> h_DATA x_22117
    179 | DATA16 x_22118 -> h_DATA16 x_22118
     178| DATA x_22118 -> h_DATA x_22118
     179| DATA16 x_22119 -> h_DATA16 x_22119
    180180| ACC_DPTR -> h_ACC_DPTR
    181181| ACC_PC -> h_ACC_PC
     
    183183| INDIRECT_DPTR -> h_INDIRECT_DPTR
    184184| CARRY -> h_CARRY
    185 | BIT_ADDR x_22119 -> h_BIT_ADDR x_22119
    186 | N_BIT_ADDR x_22120 -> h_N_BIT_ADDR x_22120
    187 | RELATIVE x_22121 -> h_RELATIVE x_22121
    188 | ADDR11 x_22122 -> h_ADDR11 x_22122
    189 | ADDR16 x_22123 -> h_ADDR16 x_22123
     185| BIT_ADDR x_22120 -> h_BIT_ADDR x_22120
     186| N_BIT_ADDR x_22121 -> h_N_BIT_ADDR x_22121
     187| RELATIVE x_22122 -> h_RELATIVE x_22122
     188| ADDR11 x_22123 -> h_ADDR11 x_22123
     189| ADDR16 x_22124 -> h_ADDR16 x_22124
    190190
    191191(** val addressing_mode_rect_Type2 :
     
    197197    -> 'a1) -> addressing_mode -> 'a1 **)
    198198let 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
    199 | DIRECT x_22144 -> h_DIRECT x_22144
    200 | INDIRECT x_22145 -> h_INDIRECT x_22145
    201 | EXT_INDIRECT x_22146 -> h_EXT_INDIRECT x_22146
    202 | REGISTER x_22147 -> h_REGISTER x_22147
     199| DIRECT x_22145 -> h_DIRECT x_22145
     200| INDIRECT x_22146 -> h_INDIRECT x_22146
     201| EXT_INDIRECT x_22147 -> h_EXT_INDIRECT x_22147
     202| REGISTER x_22148 -> h_REGISTER x_22148
    203203| ACC_A -> h_ACC_A
    204204| ACC_B -> h_ACC_B
    205205| DPTR -> h_DPTR
    206 | DATA x_22148 -> h_DATA x_22148
    207 | DATA16 x_22149 -> h_DATA16 x_22149
     206| DATA x_22149 -> h_DATA x_22149
     207| DATA16 x_22150 -> h_DATA16 x_22150
    208208| ACC_DPTR -> h_ACC_DPTR
    209209| ACC_PC -> h_ACC_PC
     
    211211| INDIRECT_DPTR -> h_INDIRECT_DPTR
    212212| CARRY -> h_CARRY
    213 | BIT_ADDR x_22150 -> h_BIT_ADDR x_22150
    214 | N_BIT_ADDR x_22151 -> h_N_BIT_ADDR x_22151
    215 | RELATIVE x_22152 -> h_RELATIVE x_22152
    216 | ADDR11 x_22153 -> h_ADDR11 x_22153
    217 | ADDR16 x_22154 -> h_ADDR16 x_22154
     213| BIT_ADDR x_22151 -> h_BIT_ADDR x_22151
     214| N_BIT_ADDR x_22152 -> h_N_BIT_ADDR x_22152
     215| RELATIVE x_22153 -> h_RELATIVE x_22153
     216| ADDR11 x_22154 -> h_ADDR11 x_22154
     217| ADDR16 x_22155 -> h_ADDR16 x_22155
    218218
    219219(** val addressing_mode_rect_Type1 :
     
    225225    -> 'a1) -> addressing_mode -> 'a1 **)
    226226let 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
    227 | DIRECT x_22175 -> h_DIRECT x_22175
    228 | INDIRECT x_22176 -> h_INDIRECT x_22176
    229 | EXT_INDIRECT x_22177 -> h_EXT_INDIRECT x_22177
    230 | REGISTER x_22178 -> h_REGISTER x_22178
     227| DIRECT x_22176 -> h_DIRECT x_22176
     228| INDIRECT x_22177 -> h_INDIRECT x_22177
     229| EXT_INDIRECT x_22178 -> h_EXT_INDIRECT x_22178
     230| REGISTER x_22179 -> h_REGISTER x_22179
    231231| ACC_A -> h_ACC_A
    232232| ACC_B -> h_ACC_B
    233233| DPTR -> h_DPTR
    234 | DATA x_22179 -> h_DATA x_22179
    235 | DATA16 x_22180 -> h_DATA16 x_22180
     234| DATA x_22180 -> h_DATA x_22180
     235| DATA16 x_22181 -> h_DATA16 x_22181
    236236| ACC_DPTR -> h_ACC_DPTR
    237237| ACC_PC -> h_ACC_PC
     
    239239| INDIRECT_DPTR -> h_INDIRECT_DPTR
    240240| CARRY -> h_CARRY
    241 | BIT_ADDR x_22181 -> h_BIT_ADDR x_22181
    242 | N_BIT_ADDR x_22182 -> h_N_BIT_ADDR x_22182
    243 | RELATIVE x_22183 -> h_RELATIVE x_22183
    244 | ADDR11 x_22184 -> h_ADDR11 x_22184
    245 | ADDR16 x_22185 -> h_ADDR16 x_22185
     241| BIT_ADDR x_22182 -> h_BIT_ADDR x_22182
     242| N_BIT_ADDR x_22183 -> h_N_BIT_ADDR x_22183
     243| RELATIVE x_22184 -> h_RELATIVE x_22184
     244| ADDR11 x_22185 -> h_ADDR11 x_22185
     245| ADDR16 x_22186 -> h_ADDR16 x_22186
    246246
    247247(** val addressing_mode_rect_Type0 :
     
    253253    -> 'a1) -> addressing_mode -> 'a1 **)
    254254let 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
    255 | DIRECT x_22206 -> h_DIRECT x_22206
    256 | INDIRECT x_22207 -> h_INDIRECT x_22207
    257 | EXT_INDIRECT x_22208 -> h_EXT_INDIRECT x_22208
    258 | REGISTER x_22209 -> h_REGISTER x_22209
     255| DIRECT x_22207 -> h_DIRECT x_22207
     256| INDIRECT x_22208 -> h_INDIRECT x_22208
     257| EXT_INDIRECT x_22209 -> h_EXT_INDIRECT x_22209
     258| REGISTER x_22210 -> h_REGISTER x_22210
    259259| ACC_A -> h_ACC_A
    260260| ACC_B -> h_ACC_B
    261261| DPTR -> h_DPTR
    262 | DATA x_22210 -> h_DATA x_22210
    263 | DATA16 x_22211 -> h_DATA16 x_22211
     262| DATA x_22211 -> h_DATA x_22211
     263| DATA16 x_22212 -> h_DATA16 x_22212
    264264| ACC_DPTR -> h_ACC_DPTR
    265265| ACC_PC -> h_ACC_PC
     
    267267| INDIRECT_DPTR -> h_INDIRECT_DPTR
    268268| CARRY -> h_CARRY
    269 | BIT_ADDR x_22212 -> h_BIT_ADDR x_22212
    270 | N_BIT_ADDR x_22213 -> h_N_BIT_ADDR x_22213
    271 | RELATIVE x_22214 -> h_RELATIVE x_22214
    272 | ADDR11 x_22215 -> h_ADDR11 x_22215
    273 | ADDR16 x_22216 -> h_ADDR16 x_22216
     269| BIT_ADDR x_22213 -> h_BIT_ADDR x_22213
     270| N_BIT_ADDR x_22214 -> h_N_BIT_ADDR x_22214
     271| RELATIVE x_22215 -> h_RELATIVE x_22215
     272| ADDR11 x_22216 -> h_ADDR11 x_22216
     273| ADDR16 x_22217 -> h_ADDR16 x_22217
    274274
    275275(** val addressing_mode_inv_rect_Type4 :
     
    19261926    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19271927    'a1) -> subaddressing_mode -> 'a1 **)
    1928 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22684 =
    1929   let subaddressing_modeel = x_22684 in
     1928let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22685 =
     1929  let subaddressing_modeel = x_22685 in
    19301930  h_mk_subaddressing_mode subaddressing_modeel __
    19311931
     
    19331933    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19341934    'a1) -> subaddressing_mode -> 'a1 **)
    1935 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22686 =
    1936   let subaddressing_modeel = x_22686 in
     1935let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22687 =
     1936  let subaddressing_modeel = x_22687 in
    19371937  h_mk_subaddressing_mode subaddressing_modeel __
    19381938
     
    19401940    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19411941    'a1) -> subaddressing_mode -> 'a1 **)
    1942 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22688 =
    1943   let subaddressing_modeel = x_22688 in
     1942let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22689 =
     1943  let subaddressing_modeel = x_22689 in
    19441944  h_mk_subaddressing_mode subaddressing_modeel __
    19451945
     
    19471947    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19481948    'a1) -> subaddressing_mode -> 'a1 **)
    1949 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22690 =
    1950   let subaddressing_modeel = x_22690 in
     1949let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22691 =
     1950  let subaddressing_modeel = x_22691 in
    19511951  h_mk_subaddressing_mode subaddressing_modeel __
    19521952
     
    19541954    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19551955    'a1) -> subaddressing_mode -> 'a1 **)
    1956 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22692 =
    1957   let subaddressing_modeel = x_22692 in
     1956let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22693 =
     1957  let subaddressing_modeel = x_22693 in
    19581958  h_mk_subaddressing_mode subaddressing_modeel __
    19591959
     
    19611961    Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ ->
    19621962    'a1) -> subaddressing_mode -> 'a1 **)
    1963 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22694 =
    1964   let subaddressing_modeel = x_22694 in
     1963let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22695 =
     1964  let subaddressing_modeel = x_22695 in
    19651965  h_mk_subaddressing_mode subaddressing_modeel __
    19661966
     
    22882288    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    22892289let 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
    2290 | ADD (x_22796, x_22795) -> h_ADD x_22796 x_22795
    2291 | ADDC (x_22798, x_22797) -> h_ADDC x_22798 x_22797
    2292 | SUBB (x_22800, x_22799) -> h_SUBB x_22800 x_22799
    2293 | INC x_22801 -> h_INC x_22801
    2294 | DEC x_22802 -> h_DEC x_22802
    2295 | MUL (x_22804, x_22803) -> h_MUL x_22804 x_22803
    2296 | DIV (x_22806, x_22805) -> h_DIV x_22806 x_22805
    2297 | DA x_22807 -> h_DA x_22807
    2298 | JC x_22808 -> h_JC x_22808
    2299 | JNC x_22809 -> h_JNC x_22809
    2300 | JB (x_22811, x_22810) -> h_JB x_22811 x_22810
    2301 | JNB (x_22813, x_22812) -> h_JNB x_22813 x_22812
    2302 | JBC (x_22815, x_22814) -> h_JBC x_22815 x_22814
    2303 | JZ x_22816 -> h_JZ x_22816
    2304 | JNZ x_22817 -> h_JNZ x_22817
    2305 | CJNE (x_22819, x_22818) -> h_CJNE x_22819 x_22818
    2306 | DJNZ (x_22821, x_22820) -> h_DJNZ x_22821 x_22820
    2307 | ANL x_22822 -> h_ANL x_22822
    2308 | ORL x_22823 -> h_ORL x_22823
    2309 | XRL x_22824 -> h_XRL x_22824
    2310 | CLR x_22825 -> h_CLR x_22825
    2311 | CPL x_22826 -> h_CPL x_22826
    2312 | RL x_22827 -> h_RL x_22827
    2313 | RLC x_22828 -> h_RLC x_22828
    2314 | RR x_22829 -> h_RR x_22829
    2315 | RRC x_22830 -> h_RRC x_22830
    2316 | SWAP x_22831 -> h_SWAP x_22831
    2317 | MOV x_22832 -> h_MOV x_22832
    2318 | MOVX x_22833 -> h_MOVX x_22833
    2319 | SETB x_22834 -> h_SETB x_22834
    2320 | PUSH x_22835 -> h_PUSH x_22835
    2321 | POP x_22836 -> h_POP x_22836
    2322 | XCH (x_22838, x_22837) -> h_XCH x_22838 x_22837
    2323 | XCHD (x_22840, x_22839) -> h_XCHD x_22840 x_22839
     2290| ADD (x_22797, x_22796) -> h_ADD x_22797 x_22796
     2291| ADDC (x_22799, x_22798) -> h_ADDC x_22799 x_22798
     2292| SUBB (x_22801, x_22800) -> h_SUBB x_22801 x_22800
     2293| INC x_22802 -> h_INC x_22802
     2294| DEC x_22803 -> h_DEC x_22803
     2295| MUL (x_22805, x_22804) -> h_MUL x_22805 x_22804
     2296| DIV (x_22807, x_22806) -> h_DIV x_22807 x_22806
     2297| DA x_22808 -> h_DA x_22808
     2298| JC x_22809 -> h_JC x_22809
     2299| JNC x_22810 -> h_JNC x_22810
     2300| JB (x_22812, x_22811) -> h_JB x_22812 x_22811
     2301| JNB (x_22814, x_22813) -> h_JNB x_22814 x_22813
     2302| JBC (x_22816, x_22815) -> h_JBC x_22816 x_22815
     2303| JZ x_22817 -> h_JZ x_22817
     2304| JNZ x_22818 -> h_JNZ x_22818
     2305| CJNE (x_22820, x_22819) -> h_CJNE x_22820 x_22819
     2306| DJNZ (x_22822, x_22821) -> h_DJNZ x_22822 x_22821
     2307| ANL x_22823 -> h_ANL x_22823
     2308| ORL x_22824 -> h_ORL x_22824
     2309| XRL x_22825 -> h_XRL x_22825
     2310| CLR x_22826 -> h_CLR x_22826
     2311| CPL x_22827 -> h_CPL x_22827
     2312| RL x_22828 -> h_RL x_22828
     2313| RLC x_22829 -> h_RLC x_22829
     2314| RR x_22830 -> h_RR x_22830
     2315| RRC x_22831 -> h_RRC x_22831
     2316| SWAP x_22832 -> h_SWAP x_22832
     2317| MOV x_22833 -> h_MOV x_22833
     2318| MOVX x_22834 -> h_MOVX x_22834
     2319| SETB x_22835 -> h_SETB x_22835
     2320| PUSH x_22836 -> h_PUSH x_22836
     2321| POP x_22837 -> h_POP x_22837
     2322| XCH (x_22839, x_22838) -> h_XCH x_22839 x_22838
     2323| XCHD (x_22841, x_22840) -> h_XCHD x_22841 x_22840
    23242324| RET -> h_RET
    23252325| RETI -> h_RETI
    23262326| NOP -> h_NOP
    2327 | JMP x_22841 -> h_JMP x_22841
     2327| JMP x_22842 -> h_JMP x_22842
    23282328
    23292329(** val preinstruction_rect_Type5 :
     
    23632363    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    23642364let 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
    2365 | ADD (x_22882, x_22881) -> h_ADD x_22882 x_22881
    2366 | ADDC (x_22884, x_22883) -> h_ADDC x_22884 x_22883
    2367 | SUBB (x_22886, x_22885) -> h_SUBB x_22886 x_22885
    2368 | INC x_22887 -> h_INC x_22887
    2369 | DEC x_22888 -> h_DEC x_22888
    2370 | MUL (x_22890, x_22889) -> h_MUL x_22890 x_22889
    2371 | DIV (x_22892, x_22891) -> h_DIV x_22892 x_22891
    2372 | DA x_22893 -> h_DA x_22893
    2373 | JC x_22894 -> h_JC x_22894
    2374 | JNC x_22895 -> h_JNC x_22895
    2375 | JB (x_22897, x_22896) -> h_JB x_22897 x_22896
    2376 | JNB (x_22899, x_22898) -> h_JNB x_22899 x_22898
    2377 | JBC (x_22901, x_22900) -> h_JBC x_22901 x_22900
    2378 | JZ x_22902 -> h_JZ x_22902
    2379 | JNZ x_22903 -> h_JNZ x_22903
    2380 | CJNE (x_22905, x_22904) -> h_CJNE x_22905 x_22904
    2381 | DJNZ (x_22907, x_22906) -> h_DJNZ x_22907 x_22906
    2382 | ANL x_22908 -> h_ANL x_22908
    2383 | ORL x_22909 -> h_ORL x_22909
    2384 | XRL x_22910 -> h_XRL x_22910
    2385 | CLR x_22911 -> h_CLR x_22911
    2386 | CPL x_22912 -> h_CPL x_22912
    2387 | RL x_22913 -> h_RL x_22913
    2388 | RLC x_22914 -> h_RLC x_22914
    2389 | RR x_22915 -> h_RR x_22915
    2390 | RRC x_22916 -> h_RRC x_22916
    2391 | SWAP x_22917 -> h_SWAP x_22917
    2392 | MOV x_22918 -> h_MOV x_22918
    2393 | MOVX x_22919 -> h_MOVX x_22919
    2394 | SETB x_22920 -> h_SETB x_22920
    2395 | PUSH x_22921 -> h_PUSH x_22921
    2396 | POP x_22922 -> h_POP x_22922
    2397 | XCH (x_22924, x_22923) -> h_XCH x_22924 x_22923
    2398 | XCHD (x_22926, x_22925) -> h_XCHD x_22926 x_22925
     2365| ADD (x_22883, x_22882) -> h_ADD x_22883 x_22882
     2366| ADDC (x_22885, x_22884) -> h_ADDC x_22885 x_22884
     2367| SUBB (x_22887, x_22886) -> h_SUBB x_22887 x_22886
     2368| INC x_22888 -> h_INC x_22888
     2369| DEC x_22889 -> h_DEC x_22889
     2370| MUL (x_22891, x_22890) -> h_MUL x_22891 x_22890
     2371| DIV (x_22893, x_22892) -> h_DIV x_22893 x_22892
     2372| DA x_22894 -> h_DA x_22894
     2373| JC x_22895 -> h_JC x_22895
     2374| JNC x_22896 -> h_JNC x_22896
     2375| JB (x_22898, x_22897) -> h_JB x_22898 x_22897
     2376| JNB (x_22900, x_22899) -> h_JNB x_22900 x_22899
     2377| JBC (x_22902, x_22901) -> h_JBC x_22902 x_22901
     2378| JZ x_22903 -> h_JZ x_22903
     2379| JNZ x_22904 -> h_JNZ x_22904
     2380| CJNE (x_22906, x_22905) -> h_CJNE x_22906 x_22905
     2381| DJNZ (x_22908, x_22907) -> h_DJNZ x_22908 x_22907
     2382| ANL x_22909 -> h_ANL x_22909
     2383| ORL x_22910 -> h_ORL x_22910
     2384| XRL x_22911 -> h_XRL x_22911
     2385| CLR x_22912 -> h_CLR x_22912
     2386| CPL x_22913 -> h_CPL x_22913
     2387| RL x_22914 -> h_RL x_22914
     2388| RLC x_22915 -> h_RLC x_22915
     2389| RR x_22916 -> h_RR x_22916
     2390| RRC x_22917 -> h_RRC x_22917
     2391| SWAP x_22918 -> h_SWAP x_22918
     2392| MOV x_22919 -> h_MOV x_22919
     2393| MOVX x_22920 -> h_MOVX x_22920
     2394| SETB x_22921 -> h_SETB x_22921
     2395| PUSH x_22922 -> h_PUSH x_22922
     2396| POP x_22923 -> h_POP x_22923
     2397| XCH (x_22925, x_22924) -> h_XCH x_22925 x_22924
     2398| XCHD (x_22927, x_22926) -> h_XCHD x_22927 x_22926
    23992399| RET -> h_RET
    24002400| RETI -> h_RETI
    24012401| NOP -> h_NOP
    2402 | JMP x_22927 -> h_JMP x_22927
     2402| JMP x_22928 -> h_JMP x_22928
    24032403
    24042404(** val preinstruction_rect_Type3 :
     
    24382438    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    24392439let 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
    2440 | ADD (x_22968, x_22967) -> h_ADD x_22968 x_22967
    2441 | ADDC (x_22970, x_22969) -> h_ADDC x_22970 x_22969
    2442 | SUBB (x_22972, x_22971) -> h_SUBB x_22972 x_22971
    2443 | INC x_22973 -> h_INC x_22973
    2444 | DEC x_22974 -> h_DEC x_22974
    2445 | MUL (x_22976, x_22975) -> h_MUL x_22976 x_22975
    2446 | DIV (x_22978, x_22977) -> h_DIV x_22978 x_22977
    2447 | DA x_22979 -> h_DA x_22979
    2448 | JC x_22980 -> h_JC x_22980
    2449 | JNC x_22981 -> h_JNC x_22981
    2450 | JB (x_22983, x_22982) -> h_JB x_22983 x_22982
    2451 | JNB (x_22985, x_22984) -> h_JNB x_22985 x_22984
    2452 | JBC (x_22987, x_22986) -> h_JBC x_22987 x_22986
    2453 | JZ x_22988 -> h_JZ x_22988
    2454 | JNZ x_22989 -> h_JNZ x_22989
    2455 | CJNE (x_22991, x_22990) -> h_CJNE x_22991 x_22990
    2456 | DJNZ (x_22993, x_22992) -> h_DJNZ x_22993 x_22992
    2457 | ANL x_22994 -> h_ANL x_22994
    2458 | ORL x_22995 -> h_ORL x_22995
    2459 | XRL x_22996 -> h_XRL x_22996
    2460 | CLR x_22997 -> h_CLR x_22997
    2461 | CPL x_22998 -> h_CPL x_22998
    2462 | RL x_22999 -> h_RL x_22999
    2463 | RLC x_23000 -> h_RLC x_23000
    2464 | RR x_23001 -> h_RR x_23001
    2465 | RRC x_23002 -> h_RRC x_23002
    2466 | SWAP x_23003 -> h_SWAP x_23003
    2467 | MOV x_23004 -> h_MOV x_23004
    2468 | MOVX x_23005 -> h_MOVX x_23005
    2469 | SETB x_23006 -> h_SETB x_23006
    2470 | PUSH x_23007 -> h_PUSH x_23007
    2471 | POP x_23008 -> h_POP x_23008
    2472 | XCH (x_23010, x_23009) -> h_XCH x_23010 x_23009
    2473 | XCHD (x_23012, x_23011) -> h_XCHD x_23012 x_23011
     2440| ADD (x_22969, x_22968) -> h_ADD x_22969 x_22968
     2441| ADDC (x_22971, x_22970) -> h_ADDC x_22971 x_22970
     2442| SUBB (x_22973, x_22972) -> h_SUBB x_22973 x_22972
     2443| INC x_22974 -> h_INC x_22974
     2444| DEC x_22975 -> h_DEC x_22975
     2445| MUL (x_22977, x_22976) -> h_MUL x_22977 x_22976
     2446| DIV (x_22979, x_22978) -> h_DIV x_22979 x_22978
     2447| DA x_22980 -> h_DA x_22980
     2448| JC x_22981 -> h_JC x_22981
     2449| JNC x_22982 -> h_JNC x_22982
     2450| JB (x_22984, x_22983) -> h_JB x_22984 x_22983
     2451| JNB (x_22986, x_22985) -> h_JNB x_22986 x_22985
     2452| JBC (x_22988, x_22987) -> h_JBC x_22988 x_22987
     2453| JZ x_22989 -> h_JZ x_22989
     2454| JNZ x_22990 -> h_JNZ x_22990
     2455| CJNE (x_22992, x_22991) -> h_CJNE x_22992 x_22991
     2456| DJNZ (x_22994, x_22993) -> h_DJNZ x_22994 x_22993
     2457| ANL x_22995 -> h_ANL x_22995
     2458| ORL x_22996 -> h_ORL x_22996
     2459| XRL x_22997 -> h_XRL x_22997
     2460| CLR x_22998 -> h_CLR x_22998
     2461| CPL x_22999 -> h_CPL x_22999
     2462| RL x_23000 -> h_RL x_23000
     2463| RLC x_23001 -> h_RLC x_23001
     2464| RR x_23002 -> h_RR x_23002
     2465| RRC x_23003 -> h_RRC x_23003
     2466| SWAP x_23004 -> h_SWAP x_23004
     2467| MOV x_23005 -> h_MOV x_23005
     2468| MOVX x_23006 -> h_MOVX x_23006
     2469| SETB x_23007 -> h_SETB x_23007
     2470| PUSH x_23008 -> h_PUSH x_23008
     2471| POP x_23009 -> h_POP x_23009
     2472| XCH (x_23011, x_23010) -> h_XCH x_23011 x_23010
     2473| XCHD (x_23013, x_23012) -> h_XCHD x_23013 x_23012
    24742474| RET -> h_RET
    24752475| RETI -> h_RETI
    24762476| NOP -> h_NOP
    2477 | JMP x_23013 -> h_JMP x_23013
     2477| JMP x_23014 -> h_JMP x_23014
    24782478
    24792479(** val preinstruction_rect_Type2 :
     
    25132513    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25142514let 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
    2515 | ADD (x_23054, x_23053) -> h_ADD x_23054 x_23053
    2516 | ADDC (x_23056, x_23055) -> h_ADDC x_23056 x_23055
    2517 | SUBB (x_23058, x_23057) -> h_SUBB x_23058 x_23057
    2518 | INC x_23059 -> h_INC x_23059
    2519 | DEC x_23060 -> h_DEC x_23060
    2520 | MUL (x_23062, x_23061) -> h_MUL x_23062 x_23061
    2521 | DIV (x_23064, x_23063) -> h_DIV x_23064 x_23063
    2522 | DA x_23065 -> h_DA x_23065
    2523 | JC x_23066 -> h_JC x_23066
    2524 | JNC x_23067 -> h_JNC x_23067
    2525 | JB (x_23069, x_23068) -> h_JB x_23069 x_23068
    2526 | JNB (x_23071, x_23070) -> h_JNB x_23071 x_23070
    2527 | JBC (x_23073, x_23072) -> h_JBC x_23073 x_23072
    2528 | JZ x_23074 -> h_JZ x_23074
    2529 | JNZ x_23075 -> h_JNZ x_23075
    2530 | CJNE (x_23077, x_23076) -> h_CJNE x_23077 x_23076
    2531 | DJNZ (x_23079, x_23078) -> h_DJNZ x_23079 x_23078
    2532 | ANL x_23080 -> h_ANL x_23080
    2533 | ORL x_23081 -> h_ORL x_23081
    2534 | XRL x_23082 -> h_XRL x_23082
    2535 | CLR x_23083 -> h_CLR x_23083
    2536 | CPL x_23084 -> h_CPL x_23084
    2537 | RL x_23085 -> h_RL x_23085
    2538 | RLC x_23086 -> h_RLC x_23086
    2539 | RR x_23087 -> h_RR x_23087
    2540 | RRC x_23088 -> h_RRC x_23088
    2541 | SWAP x_23089 -> h_SWAP x_23089
    2542 | MOV x_23090 -> h_MOV x_23090
    2543 | MOVX x_23091 -> h_MOVX x_23091
    2544 | SETB x_23092 -> h_SETB x_23092
    2545 | PUSH x_23093 -> h_PUSH x_23093
    2546 | POP x_23094 -> h_POP x_23094
    2547 | XCH (x_23096, x_23095) -> h_XCH x_23096 x_23095
    2548 | XCHD (x_23098, x_23097) -> h_XCHD x_23098 x_23097
     2515| ADD (x_23055, x_23054) -> h_ADD x_23055 x_23054
     2516| ADDC (x_23057, x_23056) -> h_ADDC x_23057 x_23056
     2517| SUBB (x_23059, x_23058) -> h_SUBB x_23059 x_23058
     2518| INC x_23060 -> h_INC x_23060
     2519| DEC x_23061 -> h_DEC x_23061
     2520| MUL (x_23063, x_23062) -> h_MUL x_23063 x_23062
     2521| DIV (x_23065, x_23064) -> h_DIV x_23065 x_23064
     2522| DA x_23066 -> h_DA x_23066
     2523| JC x_23067 -> h_JC x_23067
     2524| JNC x_23068 -> h_JNC x_23068
     2525| JB (x_23070, x_23069) -> h_JB x_23070 x_23069
     2526| JNB (x_23072, x_23071) -> h_JNB x_23072 x_23071
     2527| JBC (x_23074, x_23073) -> h_JBC x_23074 x_23073
     2528| JZ x_23075 -> h_JZ x_23075
     2529| JNZ x_23076 -> h_JNZ x_23076
     2530| CJNE (x_23078, x_23077) -> h_CJNE x_23078 x_23077
     2531| DJNZ (x_23080, x_23079) -> h_DJNZ x_23080 x_23079
     2532| ANL x_23081 -> h_ANL x_23081
     2533| ORL x_23082 -> h_ORL x_23082
     2534| XRL x_23083 -> h_XRL x_23083
     2535| CLR x_23084 -> h_CLR x_23084
     2536| CPL x_23085 -> h_CPL x_23085
     2537| RL x_23086 -> h_RL x_23086
     2538| RLC x_23087 -> h_RLC x_23087
     2539| RR x_23088 -> h_RR x_23088
     2540| RRC x_23089 -> h_RRC x_23089
     2541| SWAP x_23090 -> h_SWAP x_23090
     2542| MOV x_23091 -> h_MOV x_23091
     2543| MOVX x_23092 -> h_MOVX x_23092
     2544| SETB x_23093 -> h_SETB x_23093
     2545| PUSH x_23094 -> h_PUSH x_23094
     2546| POP x_23095 -> h_POP x_23095
     2547| XCH (x_23097, x_23096) -> h_XCH x_23097 x_23096
     2548| XCHD (x_23099, x_23098) -> h_XCHD x_23099 x_23098
    25492549| RET -> h_RET
    25502550| RETI -> h_RETI
    25512551| NOP -> h_NOP
    2552 | JMP x_23099 -> h_JMP x_23099
     2552| JMP x_23100 -> h_JMP x_23100
    25532553
    25542554(** val preinstruction_rect_Type1 :
     
    25882588    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    25892589let 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
    2590 | ADD (x_23140, x_23139) -> h_ADD x_23140 x_23139
    2591 | ADDC (x_23142, x_23141) -> h_ADDC x_23142 x_23141
    2592 | SUBB (x_23144, x_23143) -> h_SUBB x_23144 x_23143
    2593 | INC x_23145 -> h_INC x_23145
    2594 | DEC x_23146 -> h_DEC x_23146
    2595 | MUL (x_23148, x_23147) -> h_MUL x_23148 x_23147
    2596 | DIV (x_23150, x_23149) -> h_DIV x_23150 x_23149
    2597 | DA x_23151 -> h_DA x_23151
    2598 | JC x_23152 -> h_JC x_23152
    2599 | JNC x_23153 -> h_JNC x_23153
    2600 | JB (x_23155, x_23154) -> h_JB x_23155 x_23154
    2601 | JNB (x_23157, x_23156) -> h_JNB x_23157 x_23156
    2602 | JBC (x_23159, x_23158) -> h_JBC x_23159 x_23158
    2603 | JZ x_23160 -> h_JZ x_23160
    2604 | JNZ x_23161 -> h_JNZ x_23161
    2605 | CJNE (x_23163, x_23162) -> h_CJNE x_23163 x_23162
    2606 | DJNZ (x_23165, x_23164) -> h_DJNZ x_23165 x_23164
    2607 | ANL x_23166 -> h_ANL x_23166
    2608 | ORL x_23167 -> h_ORL x_23167
    2609 | XRL x_23168 -> h_XRL x_23168
    2610 | CLR x_23169 -> h_CLR x_23169
    2611 | CPL x_23170 -> h_CPL x_23170
    2612 | RL x_23171 -> h_RL x_23171
    2613 | RLC x_23172 -> h_RLC x_23172
    2614 | RR x_23173 -> h_RR x_23173
    2615 | RRC x_23174 -> h_RRC x_23174
    2616 | SWAP x_23175 -> h_SWAP x_23175
    2617 | MOV x_23176 -> h_MOV x_23176
    2618 | MOVX x_23177 -> h_MOVX x_23177
    2619 | SETB x_23178 -> h_SETB x_23178
    2620 | PUSH x_23179 -> h_PUSH x_23179
    2621 | POP x_23180 -> h_POP x_23180
    2622 | XCH (x_23182, x_23181) -> h_XCH x_23182 x_23181
    2623 | XCHD (x_23184, x_23183) -> h_XCHD x_23184 x_23183
     2590| ADD (x_23141, x_23140) -> h_ADD x_23141 x_23140
     2591| ADDC (x_23143, x_23142) -> h_ADDC x_23143 x_23142
     2592| SUBB (x_23145, x_23144) -> h_SUBB x_23145 x_23144
     2593| INC x_23146 -> h_INC x_23146
     2594| DEC x_23147 -> h_DEC x_23147
     2595| MUL (x_23149, x_23148) -> h_MUL x_23149 x_23148
     2596| DIV (x_23151, x_23150) -> h_DIV x_23151 x_23150
     2597| DA x_23152 -> h_DA x_23152
     2598| JC x_23153 -> h_JC x_23153
     2599| JNC x_23154 -> h_JNC x_23154
     2600| JB (x_23156, x_23155) -> h_JB x_23156 x_23155
     2601| JNB (x_23158, x_23157) -> h_JNB x_23158 x_23157
     2602| JBC (x_23160, x_23159) -> h_JBC x_23160 x_23159
     2603| JZ x_23161 -> h_JZ x_23161
     2604| JNZ x_23162 -> h_JNZ x_23162
     2605| CJNE (x_23164, x_23163) -> h_CJNE x_23164 x_23163
     2606| DJNZ (x_23166, x_23165) -> h_DJNZ x_23166 x_23165
     2607| ANL x_23167 -> h_ANL x_23167
     2608| ORL x_23168 -> h_ORL x_23168
     2609| XRL x_23169 -> h_XRL x_23169
     2610| CLR x_23170 -> h_CLR x_23170
     2611| CPL x_23171 -> h_CPL x_23171
     2612| RL x_23172 -> h_RL x_23172
     2613| RLC x_23173 -> h_RLC x_23173
     2614| RR x_23174 -> h_RR x_23174
     2615| RRC x_23175 -> h_RRC x_23175
     2616| SWAP x_23176 -> h_SWAP x_23176
     2617| MOV x_23177 -> h_MOV x_23177
     2618| MOVX x_23178 -> h_MOVX x_23178
     2619| SETB x_23179 -> h_SETB x_23179
     2620| PUSH x_23180 -> h_PUSH x_23180
     2621| POP x_23181 -> h_POP x_23181
     2622| XCH (x_23183, x_23182) -> h_XCH x_23183 x_23182
     2623| XCHD (x_23185, x_23184) -> h_XCHD x_23185 x_23184
    26242624| RET -> h_RET
    26252625| RETI -> h_RETI
    26262626| NOP -> h_NOP
    2627 | JMP x_23185 -> h_JMP x_23185
     2627| JMP x_23186 -> h_JMP x_23186
    26282628
    26292629(** val preinstruction_rect_Type0 :
     
    26632663    'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **)
    26642664let 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
    2665 | ADD (x_23226, x_23225) -> h_ADD x_23226 x_23225
    2666 | ADDC (x_23228, x_23227) -> h_ADDC x_23228 x_23227
    2667 | SUBB (x_23230, x_23229) -> h_SUBB x_23230 x_23229
    2668 | INC x_23231 -> h_INC x_23231
    2669 | DEC x_23232 -> h_DEC x_23232
    2670 | MUL (x_23234, x_23233) -> h_MUL x_23234 x_23233
    2671 | DIV (x_23236, x_23235) -> h_DIV x_23236 x_23235
    2672 | DA x_23237 -> h_DA x_23237
    2673 | JC x_23238 -> h_JC x_23238
    2674 | JNC x_23239 -> h_JNC x_23239
    2675 | JB (x_23241, x_23240) -> h_JB x_23241 x_23240
    2676 | JNB (x_23243, x_23242) -> h_JNB x_23243 x_23242
    2677 | JBC (x_23245, x_23244) -> h_JBC x_23245 x_23244
    2678 | JZ x_23246 -> h_JZ x_23246
    2679 | JNZ x_23247 -> h_JNZ x_23247
    2680 | CJNE (x_23249, x_23248) -> h_CJNE x_23249 x_23248
    2681 | DJNZ (x_23251, x_23250) -> h_DJNZ x_23251 x_23250
    2682 | ANL x_23252 -> h_ANL x_23252
    2683 | ORL x_23253 -> h_ORL x_23253
    2684 | XRL x_23254 -> h_XRL x_23254
    2685 | CLR x_23255 -> h_CLR x_23255
    2686 | CPL x_23256 -> h_CPL x_23256
    2687 | RL x_23257 -> h_RL x_23257
    2688 | RLC x_23258 -> h_RLC x_23258
    2689 | RR x_23259 -> h_RR x_23259
    2690 | RRC x_23260 -> h_RRC x_23260
    2691 | SWAP x_23261 -> h_SWAP x_23261
    2692 | MOV x_23262 -> h_MOV x_23262
    2693 | MOVX x_23263 -> h_MOVX x_23263
    2694 | SETB x_23264 -> h_SETB x_23264
    2695 | PUSH x_23265 -> h_PUSH x_23265
    2696 | POP x_23266 -> h_POP x_23266
    2697 | XCH (x_23268, x_23267) -> h_XCH x_23268 x_23267
    2698 | XCHD (x_23270, x_23269) -> h_XCHD x_23270 x_23269
     2665| ADD (x_23227, x_23226) -> h_ADD x_23227 x_23226
     2666| ADDC (x_23229, x_23228) -> h_ADDC x_23229 x_23228
     2667| SUBB (x_23231, x_23230) -> h_SUBB x_23231 x_23230
     2668| INC x_23232 -> h_INC x_23232
     2669| DEC x_23233 -> h_DEC x_23233
     2670| MUL (x_23235, x_23234) -> h_MUL x_23235 x_23234
     2671| DIV (x_23237, x_23236) -> h_DIV x_23237 x_23236
     2672| DA x_23238 -> h_DA x_23238
     2673| JC x_23239 -> h_JC x_23239
     2674| JNC x_23240 -> h_JNC x_23240
     2675| JB (x_23242, x_23241) -> h_JB x_23242 x_23241
     2676| JNB (x_23244, x_23243) -> h_JNB x_23244 x_23243
     2677| JBC (x_23246, x_23245) -> h_JBC x_23246 x_23245
     2678| JZ x_23247 -> h_JZ x_23247
     2679| JNZ x_23248 -> h_JNZ x_23248
     2680| CJNE (x_23250, x_23249) -> h_CJNE x_23250 x_23249
     2681| DJNZ (x_23252, x_23251) -> h_DJNZ x_23252 x_23251
     2682| ANL x_23253 -> h_ANL x_23253
     2683| ORL x_23254 -> h_ORL x_23254
     2684| XRL x_23255 -> h_XRL x_23255
     2685| CLR x_23256 -> h_CLR x_23256
     2686| CPL x_23257 -> h_CPL x_23257
     2687| RL x_23258 -> h_RL x_23258
     2688| RLC x_23259 -> h_RLC x_23259
     2689| RR x_23260 -> h_RR x_23260
     2690| RRC x_23261 -> h_RRC x_23261
     2691| SWAP x_23262 -> h_SWAP x_23262
     2692| MOV x_23263 -> h_MOV x_23263
     2693| MOVX x_23264 -> h_MOVX x_23264
     2694| SETB x_23265 -> h_SETB x_23265
     2695| PUSH x_23266 -> h_PUSH x_23266
     2696| POP x_23267 -> h_POP x_23267
     2697| XCH (x_23269, x_23268) -> h_XCH x_23269 x_23268
     2698| XCHD (x_23271, x_23270) -> h_XCHD x_23271 x_23270
    26992699| RET -> h_RET
    27002700| RETI -> h_RETI
    27012701| NOP -> h_NOP
    2702 | JMP x_23271 -> h_JMP x_23271
     2702| JMP x_23272 -> h_JMP x_23272
    27032703
    27042704(** val preinstruction_inv_rect_Type4 :
     
    51045104    'a1 **)
    51055105let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5106 | ACALL x_23843 -> h_ACALL x_23843
    5107 | LCALL x_23844 -> h_LCALL x_23844
    5108 | AJMP x_23845 -> h_AJMP x_23845
    5109 | LJMP x_23846 -> h_LJMP x_23846
    5110 | SJMP x_23847 -> h_SJMP x_23847
    5111 | MOVC (x_23849, x_23848) -> h_MOVC x_23849 x_23848
    5112 | RealInstruction x_23850 -> h_RealInstruction x_23850
     5106| ACALL x_23844 -> h_ACALL x_23844
     5107| LCALL x_23845 -> h_LCALL x_23845
     5108| AJMP x_23846 -> h_AJMP x_23846
     5109| LJMP x_23847 -> h_LJMP x_23847
     5110| SJMP x_23848 -> h_SJMP x_23848
     5111| MOVC (x_23850, x_23849) -> h_MOVC x_23850 x_23849
     5112| RealInstruction x_23851 -> h_RealInstruction x_23851
    51135113
    51145114(** val instruction_rect_Type5 :
     
    51195119    'a1 **)
    51205120let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5121 | ACALL x_23859 -> h_ACALL x_23859
    5122 | LCALL x_23860 -> h_LCALL x_23860
    5123 | AJMP x_23861 -> h_AJMP x_23861
    5124 | LJMP x_23862 -> h_LJMP x_23862
    5125 | SJMP x_23863 -> h_SJMP x_23863
    5126 | MOVC (x_23865, x_23864) -> h_MOVC x_23865 x_23864
    5127 | RealInstruction x_23866 -> h_RealInstruction x_23866
     5121| ACALL x_23860 -> h_ACALL x_23860
     5122| LCALL x_23861 -> h_LCALL x_23861
     5123| AJMP x_23862 -> h_AJMP x_23862
     5124| LJMP x_23863 -> h_LJMP x_23863
     5125| SJMP x_23864 -> h_SJMP x_23864
     5126| MOVC (x_23866, x_23865) -> h_MOVC x_23866 x_23865
     5127| RealInstruction x_23867 -> h_RealInstruction x_23867
    51285128
    51295129(** val instruction_rect_Type3 :
     
    51345134    'a1 **)
    51355135let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5136 | ACALL x_23875 -> h_ACALL x_23875
    5137 | LCALL x_23876 -> h_LCALL x_23876
    5138 | AJMP x_23877 -> h_AJMP x_23877
    5139 | LJMP x_23878 -> h_LJMP x_23878
    5140 | SJMP x_23879 -> h_SJMP x_23879
    5141 | MOVC (x_23881, x_23880) -> h_MOVC x_23881 x_23880
    5142 | RealInstruction x_23882 -> h_RealInstruction x_23882
     5136| ACALL x_23876 -> h_ACALL x_23876
     5137| LCALL x_23877 -> h_LCALL x_23877
     5138| AJMP x_23878 -> h_AJMP x_23878
     5139| LJMP x_23879 -> h_LJMP x_23879
     5140| SJMP x_23880 -> h_SJMP x_23880
     5141| MOVC (x_23882, x_23881) -> h_MOVC x_23882 x_23881
     5142| RealInstruction x_23883 -> h_RealInstruction x_23883
    51435143
    51445144(** val instruction_rect_Type2 :
     
    51495149    'a1 **)
    51505150let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5151 | ACALL x_23891 -> h_ACALL x_23891
    5152 | LCALL x_23892 -> h_LCALL x_23892
    5153 | AJMP x_23893 -> h_AJMP x_23893
    5154 | LJMP x_23894 -> h_LJMP x_23894
    5155 | SJMP x_23895 -> h_SJMP x_23895
    5156 | MOVC (x_23897, x_23896) -> h_MOVC x_23897 x_23896
    5157 | RealInstruction x_23898 -> h_RealInstruction x_23898
     5151| ACALL x_23892 -> h_ACALL x_23892
     5152| LCALL x_23893 -> h_LCALL x_23893
     5153| AJMP x_23894 -> h_AJMP x_23894
     5154| LJMP x_23895 -> h_LJMP x_23895
     5155| SJMP x_23896 -> h_SJMP x_23896
     5156| MOVC (x_23898, x_23897) -> h_MOVC x_23898 x_23897
     5157| RealInstruction x_23899 -> h_RealInstruction x_23899
    51585158
    51595159(** val instruction_rect_Type1 :
     
    51645164    'a1 **)
    51655165let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5166 | ACALL x_23907 -> h_ACALL x_23907
    5167 | LCALL x_23908 -> h_LCALL x_23908
    5168 | AJMP x_23909 -> h_AJMP x_23909
    5169 | LJMP x_23910 -> h_LJMP x_23910
    5170 | SJMP x_23911 -> h_SJMP x_23911
    5171 | MOVC (x_23913, x_23912) -> h_MOVC x_23913 x_23912
    5172 | RealInstruction x_23914 -> h_RealInstruction x_23914
     5166| ACALL x_23908 -> h_ACALL x_23908
     5167| LCALL x_23909 -> h_LCALL x_23909
     5168| AJMP x_23910 -> h_AJMP x_23910
     5169| LJMP x_23911 -> h_LJMP x_23911
     5170| SJMP x_23912 -> h_SJMP x_23912
     5171| MOVC (x_23914, x_23913) -> h_MOVC x_23914 x_23913
     5172| RealInstruction x_23915 -> h_RealInstruction x_23915
    51735173
    51745174(** val instruction_rect_Type0 :
     
    51795179    'a1 **)
    51805180let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function
    5181 | ACALL x_23923 -> h_ACALL x_23923
    5182 | LCALL x_23924 -> h_LCALL x_23924
    5183 | AJMP x_23925 -> h_AJMP x_23925
    5184 | LJMP x_23926 -> h_LJMP x_23926
    5185 | SJMP x_23927 -> h_SJMP x_23927
    5186 | MOVC (x_23929, x_23928) -> h_MOVC x_23929 x_23928
    5187 | RealInstruction x_23930 -> h_RealInstruction x_23930
     5181| ACALL x_23924 -> h_ACALL x_23924
     5182| LCALL x_23925 -> h_LCALL x_23925
     5183| AJMP x_23926 -> h_AJMP x_23926
     5184| LJMP x_23927 -> h_LJMP x_23927
     5185| SJMP x_23928 -> h_SJMP x_23928
     5186| MOVC (x_23930, x_23929) -> h_MOVC x_23930 x_23929
     5187| RealInstruction x_23931 -> h_RealInstruction x_23931
    51885188
    51895189(** val instruction_inv_rect_Type4 :
     
    54765476    -> 'a1 **)
    54775477let rec pseudo_instruction_rect_Type4 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5478 | Instruction x_24096 -> h_Instruction x_24096
    5479 | Comment x_24097 -> h_Comment x_24097
    5480 | Cost x_24098 -> h_Cost x_24098
    5481 | Jmp x_24099 -> h_Jmp x_24099
    5482 | Jnz (x_24102, x_24101, x_24100) -> h_Jnz x_24102 x_24101 x_24100
    5483 | MovSuccessor (x_24105, x_24104, x_24103) ->
    5484   h_MovSuccessor x_24105 x_24104 x_24103
    5485 | Call x_24106 -> h_Call x_24106
    5486 | Mov (x_24108, x_24107) -> h_Mov x_24108 x_24107
     5478| Instruction x_24097 -> h_Instruction x_24097
     5479| Comment x_24098 -> h_Comment x_24098
     5480| Cost x_24099 -> h_Cost x_24099
     5481| Jmp x_24100 -> h_Jmp x_24100
     5482| Jnz (x_24103, x_24102, x_24101) -> h_Jnz x_24103 x_24102 x_24101
     5483| MovSuccessor (x_24106, x_24105, x_24104) ->
     5484  h_MovSuccessor x_24106 x_24105 x_24104
     5485| Call x_24107 -> h_Call x_24107
     5486| Mov (x_24109, x_24108) -> h_Mov x_24109 x_24108
    54875487
    54885488(** val pseudo_instruction_rect_Type5 :
     
    54945494    -> 'a1 **)
    54955495let rec pseudo_instruction_rect_Type5 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5496 | Instruction x_24118 -> h_Instruction x_24118
    5497 | Comment x_24119 -> h_Comment x_24119
    5498 | Cost x_24120 -> h_Cost x_24120
    5499 | Jmp x_24121 -> h_Jmp x_24121
    5500 | Jnz (x_24124, x_24123, x_24122) -> h_Jnz x_24124 x_24123 x_24122
    5501 | MovSuccessor (x_24127, x_24126, x_24125) ->
    5502   h_MovSuccessor x_24127 x_24126 x_24125
    5503 | Call x_24128 -> h_Call x_24128
    5504 | Mov (x_24130, x_24129) -> h_Mov x_24130 x_24129
     5496| Instruction x_24119 -> h_Instruction x_24119
     5497| Comment x_24120 -> h_Comment x_24120
     5498| Cost x_24121 -> h_Cost x_24121
     5499| Jmp x_24122 -> h_Jmp x_24122
     5500| Jnz (x_24125, x_24124, x_24123) -> h_Jnz x_24125 x_24124 x_24123
     5501| MovSuccessor (x_24128, x_24127, x_24126) ->
     5502  h_MovSuccessor x_24128 x_24127 x_24126
     5503| Call x_24129 -> h_Call x_24129
     5504| Mov (x_24131, x_24130) -> h_Mov x_24131 x_24130
    55055505
    55065506(** val pseudo_instruction_rect_Type3 :
     
    55125512    -> 'a1 **)
    55135513let rec pseudo_instruction_rect_Type3 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5514 | Instruction x_24140 -> h_Instruction x_24140
    5515 | Comment x_24141 -> h_Comment x_24141
    5516 | Cost x_24142 -> h_Cost x_24142
    5517 | Jmp x_24143 -> h_Jmp x_24143
    5518 | Jnz (x_24146, x_24145, x_24144) -> h_Jnz x_24146 x_24145 x_24144
    5519 | MovSuccessor (x_24149, x_24148, x_24147) ->
    5520   h_MovSuccessor x_24149 x_24148 x_24147
    5521 | Call x_24150 -> h_Call x_24150
    5522 | Mov (x_24152, x_24151) -> h_Mov x_24152 x_24151
     5514| Instruction x_24141 -> h_Instruction x_24141
     5515| Comment x_24142 -> h_Comment x_24142
     5516| Cost x_24143 -> h_Cost x_24143
     5517| Jmp x_24144 -> h_Jmp x_24144
     5518| Jnz (x_24147, x_24146, x_24145) -> h_Jnz x_24147 x_24146 x_24145
     5519| MovSuccessor (x_24150, x_24149, x_24148) ->
     5520  h_MovSuccessor x_24150 x_24149 x_24148
     5521| Call x_24151 -> h_Call x_24151
     5522| Mov (x_24153, x_24152) -> h_Mov x_24153 x_24152
    55235523
    55245524(** val pseudo_instruction_rect_Type2 :
     
    55305530    -> 'a1 **)
    55315531let rec pseudo_instruction_rect_Type2 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5532 | Instruction x_24162 -> h_Instruction x_24162
    5533 | Comment x_24163 -> h_Comment x_24163
    5534 | Cost x_24164 -> h_Cost x_24164
    5535 | Jmp x_24165 -> h_Jmp x_24165
    5536 | Jnz (x_24168, x_24167, x_24166) -> h_Jnz x_24168 x_24167 x_24166
    5537 | MovSuccessor (x_24171, x_24170, x_24169) ->
    5538   h_MovSuccessor x_24171 x_24170 x_24169
    5539 | Call x_24172 -> h_Call x_24172
    5540 | Mov (x_24174, x_24173) -> h_Mov x_24174 x_24173
     5532| Instruction x_24163 -> h_Instruction x_24163
     5533| Comment x_24164 -> h_Comment x_24164
     5534| Cost x_24165 -> h_Cost x_24165
     5535| Jmp x_24166 -> h_Jmp x_24166
     5536| Jnz (x_24169, x_24168, x_24167) -> h_Jnz x_24169 x_24168 x_24167
     5537| MovSuccessor (x_24172, x_24171, x_24170) ->
     5538  h_MovSuccessor x_24172 x_24171 x_24170
     5539| Call x_24173 -> h_Call x_24173
     5540| Mov (x_24175, x_24174) -> h_Mov x_24175 x_24174
    55415541
    55425542(** val pseudo_instruction_rect_Type1 :
     
    55485548    -> 'a1 **)
    55495549let rec pseudo_instruction_rect_Type1 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5550 | Instruction x_24184 -> h_Instruction x_24184
    5551 | Comment x_24185 -> h_Comment x_24185
    5552 | Cost x_24186 -> h_Cost x_24186
    5553 | Jmp x_24187 -> h_Jmp x_24187
    5554 | Jnz (x_24190, x_24189, x_24188) -> h_Jnz x_24190 x_24189 x_24188
    5555 | MovSuccessor (x_24193, x_24192, x_24191) ->
    5556   h_MovSuccessor x_24193 x_24192 x_24191
    5557 | Call x_24194 -> h_Call x_24194
    5558 | Mov (x_24196, x_24195) -> h_Mov x_24196 x_24195
     5550| Instruction x_24185 -> h_Instruction x_24185
     5551| Comment x_24186 -> h_Comment x_24186
     5552| Cost x_24187 -> h_Cost x_24187
     5553| Jmp x_24188 -> h_Jmp x_24188
     5554| Jnz (x_24191, x_24190, x_24189) -> h_Jnz x_24191 x_24190 x_24189
     5555| MovSuccessor (x_24194, x_24193, x_24192) ->
     5556  h_MovSuccessor x_24194 x_24193 x_24192
     5557| Call x_24195 -> h_Call x_24195
     5558| Mov (x_24197, x_24196) -> h_Mov x_24197 x_24196
    55595559
    55605560(** val pseudo_instruction_rect_Type0 :
     
    55665566    -> 'a1 **)
    55675567let rec pseudo_instruction_rect_Type0 h_Instruction h_Comment h_Cost h_Jmp h_Jnz h_MovSuccessor h_Call h_Mov = function
    5568 | Instruction x_24206 -> h_Instruction x_24206
    5569 | Comment x_24207 -> h_Comment x_24207
    5570 | Cost x_24208 -> h_Cost x_24208
    5571 | Jmp x_24209 -> h_Jmp x_24209
    5572 | Jnz (x_24212, x_24211, x_24210) -> h_Jnz x_24212 x_24211 x_24210
    5573 | MovSuccessor (x_24215, x_24214, x_24213) ->
    5574   h_MovSuccessor x_24215 x_24214 x_24213
    5575 | Call x_24216 -> h_Call x_24216
    5576 | Mov (x_24218, x_24217) -> h_Mov x_24218 x_24217
     5568| Instruction x_24207 -> h_Instruction x_24207
     5569| Comment x_24208 -> h_Comment x_24208
     5570| Cost x_24209 -> h_Cost x_24209
     5571| Jmp x_24210 -> h_Jmp x_24210
     5572| Jnz (x_24213, x_24212, x_24211) -> h_Jnz x_24213 x_24212 x_24211
     5573| MovSuccessor (x_24216, x_24215, x_24214) ->
     5574  h_MovSuccessor x_24216 x_24215 x_24214
     5575| Call x_24217 -> h_Call x_24217
     5576| Mov (x_24219, x_24218) -> h_Mov x_24219 x_24218
    55775577
    55785578(** val pseudo_instruction_inv_rect_Type4 :
     
    57965796    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    57975797    pseudo_assembly_program -> 'a1 **)
    5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24361 =
     5798let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24362 =
    57995799  let { preamble = preamble0; code = code0; renamed_symbols =
    5800     renamed_symbols0; final_label = final_label0 } = x_24361
     5800    renamed_symbols0; final_label = final_label0 } = x_24362
    58015801  in
    58025802  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58085808    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58095809    pseudo_assembly_program -> 'a1 **)
    5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24363 =
     5810let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24364 =
    58115811  let { preamble = preamble0; code = code0; renamed_symbols =
    5812     renamed_symbols0; final_label = final_label0 } = x_24363
     5812    renamed_symbols0; final_label = final_label0 } = x_24364
    58135813  in
    58145814  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58205820    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58215821    pseudo_assembly_program -> 'a1 **)
    5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24365 =
     5822let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24366 =
    58235823  let { preamble = preamble0; code = code0; renamed_symbols =
    5824     renamed_symbols0; final_label = final_label0 } = x_24365
     5824    renamed_symbols0; final_label = final_label0 } = x_24366
    58255825  in
    58265826  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58325832    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58335833    pseudo_assembly_program -> 'a1 **)
    5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24367 =
     5834let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24368 =
    58355835  let { preamble = preamble0; code = code0; renamed_symbols =
    5836     renamed_symbols0; final_label = final_label0 } = x_24367
     5836    renamed_symbols0; final_label = final_label0 } = x_24368
    58375837  in
    58385838  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58445844    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58455845    pseudo_assembly_program -> 'a1 **)
    5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24369 =
     5846let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24370 =
    58475847  let { preamble = preamble0; code = code0; renamed_symbols =
    5848     renamed_symbols0; final_label = final_label0 } = x_24369
     5848    renamed_symbols0; final_label = final_label0 } = x_24370
    58495849  in
    58505850  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    58565856    Types.prod List.list -> identifier -> __ -> __ -> 'a1) ->
    58575857    pseudo_assembly_program -> 'a1 **)
    5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24371 =
     5858let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24372 =
    58595859  let { preamble = preamble0; code = code0; renamed_symbols =
    5860     renamed_symbols0; final_label = final_label0 } = x_24371
     5860    renamed_symbols0; final_label = final_label0 } = x_24372
    58615861  in
    58625862  h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0
     
    59445944    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59455945    -> 'a1) -> labelled_object_code -> 'a1 **)
    5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24387 =
     5946let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24388 =
    59475947  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5948     final_pc = final_pc0 } = x_24387
     5948    final_pc = final_pc0 } = x_24388
    59495949  in
    59505950  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59535953    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59545954    -> 'a1) -> labelled_object_code -> 'a1 **)
    5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24389 =
     5955let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24390 =
    59565956  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5957     final_pc = final_pc0 } = x_24389
     5957    final_pc = final_pc0 } = x_24390
    59585958  in
    59595959  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59625962    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59635963    -> 'a1) -> labelled_object_code -> 'a1 **)
    5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24391 =
     5964let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24392 =
    59655965  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5966     final_pc = final_pc0 } = x_24391
     5966    final_pc = final_pc0 } = x_24392
    59675967  in
    59685968  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59715971    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59725972    -> 'a1) -> labelled_object_code -> 'a1 **)
    5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24393 =
     5973let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24394 =
    59745974  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5975     final_pc = final_pc0 } = x_24393
     5975    final_pc = final_pc0 } = x_24394
    59765976  in
    59775977  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59805980    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59815981    -> 'a1) -> labelled_object_code -> 'a1 **)
    5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24395 =
     5982let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24396 =
    59835983  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5984     final_pc = final_pc0 } = x_24395
     5984    final_pc = final_pc0 } = x_24396
    59855985  in
    59865986  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
     
    59895989    (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __
    59905990    -> 'a1) -> labelled_object_code -> 'a1 **)
    5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24397 =
     5991let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24398 =
    59925992  let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0;
    5993     final_pc = final_pc0 } = x_24397
     5993    final_pc = final_pc0 } = x_24398
    59945994  in
    59955995  h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __
  • extracted/aSMCosts.ml

    r2854 r2867  
    209209   | Nat.S program_size' ->
    210210     (fun _ ->
    211        (let { Types.fst = eta9; Types.snd = ticks } =
     211       (let { Types.fst = eta31781; Types.snd = ticks } =
    212212          Fetch.fetch code_memory' program_counter'
    213213        in
    214        let { Types.fst = instruction; Types.snd = program_counter'' } = eta9
     214       let { Types.fst = instruction; Types.snd = program_counter'' } =
     215         eta31781
    215216       in
    216217       (fun _ ->
  • extracted/cminor_semantics.ml

    r2827 r2867  
    123123let rec cont_rect_Type4 h_Kend h_Kseq h_Kblock = function
    124124| Kend -> h_Kend
    125 | Kseq (x_70, x_69) ->
    126   h_Kseq x_70 x_69 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_69)
    127 | Kblock x_71 -> h_Kblock x_71 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_71)
     125| Kseq (x_25288, x_25287) ->
     126  h_Kseq x_25288 x_25287 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_25287)
     127| Kblock x_25289 ->
     128  h_Kblock x_25289 (cont_rect_Type4 h_Kend h_Kseq h_Kblock x_25289)
    128129
    129130(** val cont_rect_Type3 :
     
    132133let rec cont_rect_Type3 h_Kend h_Kseq h_Kblock = function
    133134| Kend -> h_Kend
    134 | Kseq (x_84, x_83) ->
    135   h_Kseq x_84 x_83 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_83)
    136 | Kblock x_85 -> h_Kblock x_85 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_85)
     135| Kseq (x_25302, x_25301) ->
     136  h_Kseq x_25302 x_25301 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_25301)
     137| Kblock x_25303 ->
     138  h_Kblock x_25303 (cont_rect_Type3 h_Kend h_Kseq h_Kblock x_25303)
    137139
    138140(** val cont_rect_Type2 :
     
    141143let rec cont_rect_Type2 h_Kend h_Kseq h_Kblock = function
    142144| Kend -> h_Kend
    143 | Kseq (x_91, x_90) ->
    144   h_Kseq x_91 x_90 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_90)
    145 | Kblock x_92 -> h_Kblock x_92 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_92)
     145| Kseq (x_25309, x_25308) ->
     146  h_Kseq x_25309 x_25308 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_25308)
     147| Kblock x_25310 ->
     148  h_Kblock x_25310 (cont_rect_Type2 h_Kend h_Kseq h_Kblock x_25310)
    146149
    147150(** val cont_rect_Type1 :
     
    150153let rec cont_rect_Type1 h_Kend h_Kseq h_Kblock = function
    151154| Kend -> h_Kend
    152 | Kseq (x_98, x_97) ->
    153   h_Kseq x_98 x_97 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_97)
    154 | Kblock x_99 -> h_Kblock x_99 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_99)
     155| Kseq (x_25316, x_25315) ->
     156  h_Kseq x_25316 x_25315 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_25315)
     157| Kblock x_25317 ->
     158  h_Kblock x_25317 (cont_rect_Type1 h_Kend h_Kseq h_Kblock x_25317)
    155159
    156160(** val cont_rect_Type0 :
     
    159163let rec cont_rect_Type0 h_Kend h_Kseq h_Kblock = function
    160164| Kend -> h_Kend
    161 | Kseq (x_105, x_104) ->
    162   h_Kseq x_105 x_104 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_104)
    163 | Kblock x_106 ->
    164   h_Kblock x_106 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_106)
     165| Kseq (x_25323, x_25322) ->
     166  h_Kseq x_25323 x_25322 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_25322)
     167| Kblock x_25324 ->
     168  h_Kblock x_25324 (cont_rect_Type0 h_Kend h_Kseq h_Kblock x_25324)
    165169
    166170(** val cont_inv_rect_Type4 :
     
    222226let rec stack_rect_Type4 h_SStop h_Scall = function
    223227| SStop -> h_SStop
    224 | Scall (dest, f, x_165, en, k, x_161) ->
    225   h_Scall dest f x_165 en __ __ k __ x_161
    226     (stack_rect_Type4 h_SStop h_Scall x_161)
     228| Scall (dest, f, x_25383, en, k, x_25379) ->
     229  h_Scall dest f x_25383 en __ __ k __ x_25379
     230    (stack_rect_Type4 h_SStop h_Scall x_25379)
    227231
    228232(** val stack_rect_Type3 :
     
    232236let rec stack_rect_Type3 h_SStop h_Scall = function
    233237| SStop -> h_SStop
    234 | Scall (dest, f, x_181, en, k, x_177) ->
    235   h_Scall dest f x_181 en __ __ k __ x_177
    236     (stack_rect_Type3 h_SStop h_Scall x_177)
     238| Scall (dest, f, x_25399, en, k, x_25395) ->
     239  h_Scall dest f x_25399 en __ __ k __ x_25395
     240    (stack_rect_Type3 h_SStop h_Scall x_25395)
    237241
    238242(** val stack_rect_Type2 :
     
    242246let rec stack_rect_Type2 h_SStop h_Scall = function
    243247| SStop -> h_SStop
    244 | Scall (dest, f, x_189, en, k, x_185) ->
    245   h_Scall dest f x_189 en __ __ k __ x_185
    246     (stack_rect_Type2 h_SStop h_Scall x_185)
     248| Scall (dest, f, x_25407, en, k, x_25403) ->
     249  h_Scall dest f x_25407 en __ __ k __ x_25403
     250    (stack_rect_Type2 h_SStop h_Scall x_25403)
    247251
    248252(** val stack_rect_Type1 :
     
    252256let rec stack_rect_Type1 h_SStop h_Scall = function
    253257| SStop -> h_SStop
    254 | Scall (dest, f, x_197, en, k, x_193) ->
    255   h_Scall dest f x_197 en __ __ k __ x_193
    256     (stack_rect_Type1 h_SStop h_Scall x_193)
     258| Scall (dest, f, x_25415, en, k, x_25411) ->
     259  h_Scall dest f x_25415 en __ __ k __ x_25411
     260    (stack_rect_Type1 h_SStop h_Scall x_25411)
    257261
    258262(** val stack_rect_Type0 :
     
    262266let rec stack_rect_Type0 h_SStop h_Scall = function
    263267| SStop -> h_SStop
    264 | Scall (dest, f, x_205, en, k, x_201) ->
    265   h_Scall dest f x_205 en __ __ k __ x_201
    266     (stack_rect_Type0 h_SStop h_Scall x_201)
     268| Scall (dest, f, x_25423, en, k, x_25419) ->
     269  h_Scall dest f x_25423 en __ __ k __ x_25419
     270    (stack_rect_Type0 h_SStop h_Scall x_25419)
    267271
    268272(** val stack_inv_rect_Type4 :
  • extracted/compiler.ml

    r2854 r2867  
    510510  let i2 = Obj.magic observe Ertlptr_pass { Types.fst = p2; Types.snd = st1 }
    511511  in
    512   let { Types.fst = eta1115; Types.snd = max_stack } =
     512  let { Types.fst = eta29089; Types.snd = max_stack } =
    513513    ERTLptrToLTL.ertlptr_to_ltl compute_fixpoint colour_graph p2
    514514  in
    515   let { Types.fst = p3; Types.snd = stack_cost } = eta1115 in
     515  let { Types.fst = p3; Types.snd = stack_cost } = eta29089 in
    516516  let st2 = lookup_stack_cost (Joint.graph_params_to_params LTL.lTL) p3 in
    517517  let i3 = Obj.magic observe Ltl_pass { Types.fst = p3; Types.snd = st2 } in
     
    586586    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    587587    compiler_output -> 'a1 **)
    588 let rec compiler_output_rect_Type4 h_mk_compiler_output x_3610 =
     588let rec compiler_output_rect_Type4 h_mk_compiler_output x_25195 =
    589589  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    590590    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    591     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_3610
     591    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25195
    592592  in
    593593  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    598598    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    599599    compiler_output -> 'a1 **)
    600 let rec compiler_output_rect_Type5 h_mk_compiler_output x_3612 =
     600let rec compiler_output_rect_Type5 h_mk_compiler_output x_25197 =
    601601  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    602602    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    603     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_3612
     603    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25197
    604604  in
    605605  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    610610    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    611611    compiler_output -> 'a1 **)
    612 let rec compiler_output_rect_Type3 h_mk_compiler_output x_3614 =
     612let rec compiler_output_rect_Type3 h_mk_compiler_output x_25199 =
    613613  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    614614    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    615     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_3614
     615    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25199
    616616  in
    617617  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    622622    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    623623    compiler_output -> 'a1 **)
    624 let rec compiler_output_rect_Type2 h_mk_compiler_output x_3616 =
     624let rec compiler_output_rect_Type2 h_mk_compiler_output x_25201 =
    625625  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    626626    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    627     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_3616
     627    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25201
    628628  in
    629629  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    634634    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    635635    compiler_output -> 'a1 **)
    636 let rec compiler_output_rect_Type1 h_mk_compiler_output x_3618 =
     636let rec compiler_output_rect_Type1 h_mk_compiler_output x_25203 =
    637637  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    638638    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    639     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_3618
     639    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25203
    640640  in
    641641  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
     
    646646    Csyntax.clight_program -> Label.clight_cost_map -> 'a1) ->
    647647    compiler_output -> 'a1 **)
    648 let rec compiler_output_rect_Type0 h_mk_compiler_output x_3620 =
     648let rec compiler_output_rect_Type0 h_mk_compiler_output x_25205 =
    649649  let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost =
    650650    c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight =
    651     c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_3620
     651    c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_25205
    652652  in
    653653  h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0
  • extracted/eRTL.ml

    r2854 r2867  
    112112    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    113113let rec move_dst_rect_Type4 h_PSD h_HDW = function
    114 | PSD x_1252 -> h_PSD x_1252
    115 | HDW x_1253 -> h_HDW x_1253
     114| PSD x_21247 -> h_PSD x_21247
     115| HDW x_21248 -> h_HDW x_21248
    116116
    117117(** val move_dst_rect_Type5 :
    118118    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    119119let rec move_dst_rect_Type5 h_PSD h_HDW = function
    120 | PSD x_1257 -> h_PSD x_1257
    121 | HDW x_1258 -> h_HDW x_1258
     120| PSD x_21252 -> h_PSD x_21252
     121| HDW x_21253 -> h_HDW x_21253
    122122
    123123(** val move_dst_rect_Type3 :
    124124    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    125125let rec move_dst_rect_Type3 h_PSD h_HDW = function
    126 | PSD x_1262 -> h_PSD x_1262
    127 | HDW x_1263 -> h_HDW x_1263
     126| PSD x_21257 -> h_PSD x_21257
     127| HDW x_21258 -> h_HDW x_21258
    128128
    129129(** val move_dst_rect_Type2 :
    130130    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    131131let rec move_dst_rect_Type2 h_PSD h_HDW = function
    132 | PSD x_1267 -> h_PSD x_1267
    133 | HDW x_1268 -> h_HDW x_1268
     132| PSD x_21262 -> h_PSD x_21262
     133| HDW x_21263 -> h_HDW x_21263
    134134
    135135(** val move_dst_rect_Type1 :
    136136    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    137137let rec move_dst_rect_Type1 h_PSD h_HDW = function
    138 | PSD x_1272 -> h_PSD x_1272
    139 | HDW x_1273 -> h_HDW x_1273
     138| PSD x_21267 -> h_PSD x_21267
     139| HDW x_21268 -> h_HDW x_21268
    140140
    141141(** val move_dst_rect_Type0 :
    142142    (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **)
    143143let rec move_dst_rect_Type0 h_PSD h_HDW = function
    144 | PSD x_1277 -> h_PSD x_1277
    145 | HDW x_1278 -> h_HDW x_1278
     144| PSD x_21272 -> h_PSD x_21272
     145| HDW x_21273 -> h_HDW x_21273
    146146
    147147(** val move_dst_inv_rect_Type4 :
     
    338338| Ertl_new_frame -> h_ertl_new_frame
    339339| Ertl_del_frame -> h_ertl_del_frame
    340 | Ertl_frame_size x_1317 -> h_ertl_frame_size x_1317
     340| Ertl_frame_size x_21312 -> h_ertl_frame_size x_21312
    341341
    342342(** val ertl_seq_rect_Type5 :
     
    345345| Ertl_new_frame -> h_ertl_new_frame
    346346| Ertl_del_frame -> h_ertl_del_frame
    347 | Ertl_frame_size x_1322 -> h_ertl_frame_size x_1322
     347| Ertl_frame_size x_21317 -> h_ertl_frame_size x_21317
    348348
    349349(** val ertl_seq_rect_Type3 :
     
    352352| Ertl_new_frame -> h_ertl_new_frame
    353353| Ertl_del_frame -> h_ertl_del_frame
    354 | Ertl_frame_size x_1327 -> h_ertl_frame_size x_1327
     354| Ertl_frame_size x_21322 -> h_ertl_frame_size x_21322
    355355
    356356(** val ertl_seq_rect_Type2 :
     
    359359| Ertl_new_frame -> h_ertl_new_frame
    360360| Ertl_del_frame -> h_ertl_del_frame
    361 | Ertl_frame_size x_1332 -> h_ertl_frame_size x_1332
     361| Ertl_frame_size x_21327 -> h_ertl_frame_size x_21327
    362362
    363363(** val ertl_seq_rect_Type1 :
     
    366366| Ertl_new_frame -> h_ertl_new_frame
    367367| Ertl_del_frame -> h_ertl_del_frame
    368 | Ertl_frame_size x_1337 -> h_ertl_frame_size x_1337
     368| Ertl_frame_size x_21332 -> h_ertl_frame_size x_21332
    369369
    370370(** val ertl_seq_rect_Type0 :
     
    373373| Ertl_new_frame -> h_ertl_new_frame
    374374| Ertl_del_frame -> h_ertl_del_frame
    375 | Ertl_frame_size x_1342 -> h_ertl_frame_size x_1342
     375| Ertl_frame_size x_21337 -> h_ertl_frame_size x_21337
    376376
    377377(** val ertl_seq_inv_rect_Type4 :
  • extracted/eRTLptr.ml

    r2854 r2867  
    116116    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    117117let rec ertlptr_seq_rect_Type4 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    118 | Ertlptr_ertl x_1386 -> h_ertlptr_ertl x_1386
    119 | LOW_ADDRESS (x_1388, x_1387) -> h_LOW_ADDRESS x_1388 x_1387
    120 | HIGH_ADDRESS (x_1390, x_1389) -> h_HIGH_ADDRESS x_1390 x_1389
     118| Ertlptr_ertl x_21381 -> h_ertlptr_ertl x_21381
     119| LOW_ADDRESS (x_21383, x_21382) -> h_LOW_ADDRESS x_21383 x_21382
     120| HIGH_ADDRESS (x_21385, x_21384) -> h_HIGH_ADDRESS x_21385 x_21384
    121121
    122122(** val ertlptr_seq_rect_Type5 :
     
    124124    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    125125let rec ertlptr_seq_rect_Type5 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    126 | Ertlptr_ertl x_1395 -> h_ertlptr_ertl x_1395
    127 | LOW_ADDRESS (x_1397, x_1396) -> h_LOW_ADDRESS x_1397 x_1396
    128 | HIGH_ADDRESS (x_1399, x_1398) -> h_HIGH_ADDRESS x_1399 x_1398
     126| Ertlptr_ertl x_21390 -> h_ertlptr_ertl x_21390
     127| LOW_ADDRESS (x_21392, x_21391) -> h_LOW_ADDRESS x_21392 x_21391
     128| HIGH_ADDRESS (x_21394, x_21393) -> h_HIGH_ADDRESS x_21394 x_21393
    129129
    130130(** val ertlptr_seq_rect_Type3 :
     
    132132    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    133133let rec ertlptr_seq_rect_Type3 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    134 | Ertlptr_ertl x_1404 -> h_ertlptr_ertl x_1404
    135 | LOW_ADDRESS (x_1406, x_1405) -> h_LOW_ADDRESS x_1406 x_1405
    136 | HIGH_ADDRESS (x_1408, x_1407) -> h_HIGH_ADDRESS x_1408 x_1407
     134| Ertlptr_ertl x_21399 -> h_ertlptr_ertl x_21399
     135| LOW_ADDRESS (x_21401, x_21400) -> h_LOW_ADDRESS x_21401 x_21400
     136| HIGH_ADDRESS (x_21403, x_21402) -> h_HIGH_ADDRESS x_21403 x_21402
    137137
    138138(** val ertlptr_seq_rect_Type2 :
     
    140140    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    141141let rec ertlptr_seq_rect_Type2 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    142 | Ertlptr_ertl x_1413 -> h_ertlptr_ertl x_1413
    143 | LOW_ADDRESS (x_1415, x_1414) -> h_LOW_ADDRESS x_1415 x_1414
    144 | HIGH_ADDRESS (x_1417, x_1416) -> h_HIGH_ADDRESS x_1417 x_1416
     142| Ertlptr_ertl x_21408 -> h_ertlptr_ertl x_21408
     143| LOW_ADDRESS (x_21410, x_21409) -> h_LOW_ADDRESS x_21410 x_21409
     144| HIGH_ADDRESS (x_21412, x_21411) -> h_HIGH_ADDRESS x_21412 x_21411
    145145
    146146(** val ertlptr_seq_rect_Type1 :
     
    148148    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    149149let rec ertlptr_seq_rect_Type1 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    150 | Ertlptr_ertl x_1422 -> h_ertlptr_ertl x_1422
    151 | LOW_ADDRESS (x_1424, x_1423) -> h_LOW_ADDRESS x_1424 x_1423
    152 | HIGH_ADDRESS (x_1426, x_1425) -> h_HIGH_ADDRESS x_1426 x_1425
     150| Ertlptr_ertl x_21417 -> h_ertlptr_ertl x_21417
     151| LOW_ADDRESS (x_21419, x_21418) -> h_LOW_ADDRESS x_21419 x_21418
     152| HIGH_ADDRESS (x_21421, x_21420) -> h_HIGH_ADDRESS x_21421 x_21420
    153153
    154154(** val ertlptr_seq_rect_Type0 :
     
    156156    (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **)
    157157let rec ertlptr_seq_rect_Type0 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function
    158 | Ertlptr_ertl x_1431 -> h_ertlptr_ertl x_1431
    159 | LOW_ADDRESS (x_1433, x_1432) -> h_LOW_ADDRESS x_1433 x_1432
    160 | HIGH_ADDRESS (x_1435, x_1434) -> h_HIGH_ADDRESS x_1435 x_1434
     158| Ertlptr_ertl x_21426 -> h_ertlptr_ertl x_21426
     159| LOW_ADDRESS (x_21428, x_21427) -> h_LOW_ADDRESS x_21428 x_21427
     160| HIGH_ADDRESS (x_21430, x_21429) -> h_HIGH_ADDRESS x_21430 x_21429
    161161
    162162(** val ertlptr_seq_inv_rect_Type4 :
  • extracted/eRTLptrToLTL.ml

    r2854 r2867  
    167167    arg_decision -> 'a1 **)
    168168let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    169 | Arg_decision_colour x_2002 -> h_arg_decision_colour x_2002
    170 | Arg_decision_spill x_2003 -> h_arg_decision_spill x_2003
    171 | Arg_decision_imm x_2004 -> h_arg_decision_imm x_2004
     169| Arg_decision_colour x_21937 -> h_arg_decision_colour x_21937
     170| Arg_decision_spill x_21938 -> h_arg_decision_spill x_21938
     171| Arg_decision_imm x_21939 -> h_arg_decision_imm x_21939
    172172
    173173(** val arg_decision_rect_Type5 :
     
    175175    arg_decision -> 'a1 **)
    176176let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    177 | Arg_decision_colour x_2009 -> h_arg_decision_colour x_2009
    178 | Arg_decision_spill x_2010 -> h_arg_decision_spill x_2010
    179 | Arg_decision_imm x_2011 -> h_arg_decision_imm x_2011
     177| Arg_decision_colour x_21944 -> h_arg_decision_colour x_21944
     178| Arg_decision_spill x_21945 -> h_arg_decision_spill x_21945
     179| Arg_decision_imm x_21946 -> h_arg_decision_imm x_21946
    180180
    181181(** val arg_decision_rect_Type3 :
     
    183183    arg_decision -> 'a1 **)
    184184let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    185 | Arg_decision_colour x_2016 -> h_arg_decision_colour x_2016
    186 | Arg_decision_spill x_2017 -> h_arg_decision_spill x_2017
    187 | Arg_decision_imm x_2018 -> h_arg_decision_imm x_2018
     185| Arg_decision_colour x_21951 -> h_arg_decision_colour x_21951
     186| Arg_decision_spill x_21952 -> h_arg_decision_spill x_21952
     187| Arg_decision_imm x_21953 -> h_arg_decision_imm x_21953
    188188
    189189(** val arg_decision_rect_Type2 :
     
    191191    arg_decision -> 'a1 **)
    192192let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    193 | Arg_decision_colour x_2023 -> h_arg_decision_colour x_2023
    194 | Arg_decision_spill x_2024 -> h_arg_decision_spill x_2024
    195 | Arg_decision_imm x_2025 -> h_arg_decision_imm x_2025
     193| Arg_decision_colour x_21958 -> h_arg_decision_colour x_21958
     194| Arg_decision_spill x_21959 -> h_arg_decision_spill x_21959
     195| Arg_decision_imm x_21960 -> h_arg_decision_imm x_21960
    196196
    197197(** val arg_decision_rect_Type1 :
     
    199199    arg_decision -> 'a1 **)
    200200let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    201 | Arg_decision_colour x_2030 -> h_arg_decision_colour x_2030
    202 | Arg_decision_spill x_2031 -> h_arg_decision_spill x_2031
    203 | Arg_decision_imm x_2032 -> h_arg_decision_imm x_2032
     201| Arg_decision_colour x_21965 -> h_arg_decision_colour x_21965
     202| Arg_decision_spill x_21966 -> h_arg_decision_spill x_21966
     203| Arg_decision_imm x_21967 -> h_arg_decision_imm x_21967
    204204
    205205(** val arg_decision_rect_Type0 :
     
    207207    arg_decision -> 'a1 **)
    208208let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function
    209 | Arg_decision_colour x_2037 -> h_arg_decision_colour x_2037
    210 | Arg_decision_spill x_2038 -> h_arg_decision_spill x_2038
    211 | Arg_decision_imm x_2039 -> h_arg_decision_imm x_2039
     209| Arg_decision_colour x_21972 -> h_arg_decision_colour x_21972
     210| Arg_decision_spill x_21973 -> h_arg_decision_spill x_21973
     211| Arg_decision_imm x_21974 -> h_arg_decision_imm x_21974
    212212
    213213(** val arg_decision_inv_rect_Type4 :
  • extracted/fetch.ml

    r2827 r2867  
    9898  (Types.pi1
    9999    (FoldStuff.foldl_strong program (fun prefix x tl _ labels_costs_ppc ->
    100       (let { Types.fst = eta29104; Types.snd = ppc } =
     100      (let { Types.fst = eta29109; Types.snd = ppc } =
    101101         Types.pi1 labels_costs_ppc
    102102       in
    103103      (fun _ ->
    104       (let { Types.fst = labels; Types.snd = costs } = eta29104 in
     104      (let { Types.fst = labels; Types.snd = costs } = eta29109 in
    105105      (fun _ ->
    106106      (let { Types.fst = label; Types.snd = instr } = x in
  • extracted/interference.ml

    r2854 r2867  
    122122    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    123123let rec decision_rect_Type4 h_decision_spill h_decision_colour = function
    124 | Decision_spill x_1903 -> h_decision_spill x_1903
    125 | Decision_colour x_1904 -> h_decision_colour x_1904
     124| Decision_spill x_21838 -> h_decision_spill x_21838
     125| Decision_colour x_21839 -> h_decision_colour x_21839
    126126
    127127(** val decision_rect_Type5 :
    128128    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    129129let rec decision_rect_Type5 h_decision_spill h_decision_colour = function
    130 | Decision_spill x_1908 -> h_decision_spill x_1908
    131 | Decision_colour x_1909 -> h_decision_colour x_1909
     130| Decision_spill x_21843 -> h_decision_spill x_21843
     131| Decision_colour x_21844 -> h_decision_colour x_21844
    132132
    133133(** val decision_rect_Type3 :
    134134    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    135135let rec decision_rect_Type3 h_decision_spill h_decision_colour = function
    136 | Decision_spill x_1913 -> h_decision_spill x_1913
    137 | Decision_colour x_1914 -> h_decision_colour x_1914
     136| Decision_spill x_21848 -> h_decision_spill x_21848
     137| Decision_colour x_21849 -> h_decision_colour x_21849
    138138
    139139(** val decision_rect_Type2 :
    140140    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    141141let rec decision_rect_Type2 h_decision_spill h_decision_colour = function
    142 | Decision_spill x_1918 -> h_decision_spill x_1918
    143 | Decision_colour x_1919 -> h_decision_colour x_1919
     142| Decision_spill x_21853 -> h_decision_spill x_21853
     143| Decision_colour x_21854 -> h_decision_colour x_21854
    144144
    145145(** val decision_rect_Type1 :
    146146    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    147147let rec decision_rect_Type1 h_decision_spill h_decision_colour = function
    148 | Decision_spill x_1923 -> h_decision_spill x_1923
    149 | Decision_colour x_1924 -> h_decision_colour x_1924
     148| Decision_spill x_21858 -> h_decision_spill x_21858
     149| Decision_colour x_21859 -> h_decision_colour x_21859
    150150
    151151(** val decision_rect_Type0 :
    152152    (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **)
    153153let rec decision_rect_Type0 h_decision_spill h_decision_colour = function
    154 | Decision_spill x_1928 -> h_decision_spill x_1928
    155 | Decision_colour x_1929 -> h_decision_colour x_1929
     154| Decision_spill x_21863 -> h_decision_spill x_21863
     155| Decision_colour x_21864 -> h_decision_colour x_21864
    156156
    157157(** val decision_inv_rect_Type4 :
     
    205205    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    206206    __ -> 'a1) -> coloured_graph -> 'a1 **)
    207 let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_1964 =
    208   let { colouring = colouring0; spilled_no = spilled_no0 } = x_1964 in
     207let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_21899 =
     208  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21899 in
    209209  h_mk_coloured_graph colouring0 spilled_no0 __ __
    210210
     
    212212    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    213213    __ -> 'a1) -> coloured_graph -> 'a1 **)
    214 let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_1966 =
    215   let { colouring = colouring0; spilled_no = spilled_no0 } = x_1966 in
     214let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_21901 =
     215  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21901 in
    216216  h_mk_coloured_graph colouring0 spilled_no0 __ __
    217217
     
    219219    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    220220    __ -> 'a1) -> coloured_graph -> 'a1 **)
    221 let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_1968 =
    222   let { colouring = colouring0; spilled_no = spilled_no0 } = x_1968 in
     221let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_21903 =
     222  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21903 in
    223223  h_mk_coloured_graph colouring0 spilled_no0 __ __
    224224
     
    226226    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    227227    __ -> 'a1) -> coloured_graph -> 'a1 **)
    228 let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_1970 =
    229   let { colouring = colouring0; spilled_no = spilled_no0 } = x_1970 in
     228let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_21905 =
     229  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21905 in
    230230  h_mk_coloured_graph colouring0 spilled_no0 __ __
    231231
     
    233233    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    234234    __ -> 'a1) -> coloured_graph -> 'a1 **)
    235 let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_1972 =
    236   let { colouring = colouring0; spilled_no = spilled_no0 } = x_1972 in
     235let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_21907 =
     236  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21907 in
    237237  h_mk_coloured_graph colouring0 spilled_no0 __ __
    238238
     
    240240    Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ ->
    241241    __ -> 'a1) -> coloured_graph -> 'a1 **)
    242 let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_1974 =
    243   let { colouring = colouring0; spilled_no = spilled_no0 } = x_1974 in
     242let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_21909 =
     243  let { colouring = colouring0; spilled_no = spilled_no0 } = x_21909 in
    244244  h_mk_coloured_graph colouring0 spilled_no0 __ __
    245245
  • extracted/joint.ml

    r2854 r2867  
    110110    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    111111let rec argument_rect_Type4 h_Reg h_Imm = function
    112 | Reg x_7 -> h_Reg x_7
    113 | Imm x_8 -> h_Imm x_8
     112| Reg x_19661 -> h_Reg x_19661
     113| Imm x_19662 -> h_Imm x_19662
    114114
    115115(** val argument_rect_Type5 :
    116116    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    117117let rec argument_rect_Type5 h_Reg h_Imm = function
    118 | Reg x_12 -> h_Reg x_12
    119 | Imm x_13 -> h_Imm x_13
     118| Reg x_19666 -> h_Reg x_19666
     119| Imm x_19667 -> h_Imm x_19667
    120120
    121121(** val argument_rect_Type3 :
    122122    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    123123let rec argument_rect_Type3 h_Reg h_Imm = function
    124 | Reg x_17 -> h_Reg x_17
    125 | Imm x_18 -> h_Imm x_18
     124| Reg x_19671 -> h_Reg x_19671
     125| Imm x_19672 -> h_Imm x_19672
    126126
    127127(** val argument_rect_Type2 :
    128128    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    129129let rec argument_rect_Type2 h_Reg h_Imm = function
    130 | Reg x_22 -> h_Reg x_22
    131 | Imm x_23 -> h_Imm x_23
     130| Reg x_19676 -> h_Reg x_19676
     131| Imm x_19677 -> h_Imm x_19677
    132132
    133133(** val argument_rect_Type1 :
    134134    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    135135let rec argument_rect_Type1 h_Reg h_Imm = function
    136 | Reg x_27 -> h_Reg x_27
    137 | Imm x_28 -> h_Imm x_28
     136| Reg x_19681 -> h_Reg x_19681
     137| Imm x_19682 -> h_Imm x_19682
    138138
    139139(** val argument_rect_Type0 :
    140140    ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **)
    141141let rec argument_rect_Type0 h_Reg h_Imm = function
    142 | Reg x_32 -> h_Reg x_32
    143 | Imm x_33 -> h_Imm x_33
     142| Reg x_19686 -> h_Reg x_19686
     143| Imm x_19687 -> h_Imm x_19687
    144144
    145145(** val argument_inv_rect_Type4 :
     
    324324    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    325325    unserialized_params -> 'a1 **)
    326 let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_68 =
     326let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_19722 =
    327327  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    328     x_68
     328    x_19722
    329329  in
    330330  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    335335    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    336336    unserialized_params -> 'a1 **)
    337 let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_70 =
     337let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_19724 =
    338338  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    339     x_70
     339    x_19724
    340340  in
    341341  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    346346    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    347347    unserialized_params -> 'a1 **)
    348 let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_72 =
     348let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_19726 =
    349349  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    350     x_72
     350    x_19726
    351351  in
    352352  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    357357    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    358358    unserialized_params -> 'a1 **)
    359 let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_74 =
     359let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_19728 =
    360360  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    361     x_74
     361    x_19728
    362362  in
    363363  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    368368    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    369369    unserialized_params -> 'a1 **)
    370 let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_76 =
     370let rec unserialized_params_rect_Type1 h_mk_unserialized_params x_19730 =
    371371  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    372     x_76
     372    x_19730
    373373  in
    374374  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    379379    __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) ->
    380380    unserialized_params -> 'a1 **)
    381 let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_78 =
     381let rec unserialized_params_rect_Type0 h_mk_unserialized_params x_19732 =
    382382  let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } =
    383     x_78
     383    x_19732
    384384  in
    385385  h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __
     
    506506    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    507507    'a1 **)
    508 let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_95 =
     508let rec get_pseudo_reg_functs_rect_Type4 p h_mk_get_pseudo_reg_functs x_19749 =
    509509  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    510510    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    512512    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    513513    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    514     params_regs0 } = x_95
     514    params_regs0 } = x_19749
    515515  in
    516516  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    529529    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    530530    'a1 **)
    531 let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_97 =
     531let rec get_pseudo_reg_functs_rect_Type5 p h_mk_get_pseudo_reg_functs x_19751 =
    532532  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    533533    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    535535    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    536536    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    537     params_regs0 } = x_97
     537    params_regs0 } = x_19751
    538538  in
    539539  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    552552    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    553553    'a1 **)
    554 let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_99 =
     554let rec get_pseudo_reg_functs_rect_Type3 p h_mk_get_pseudo_reg_functs x_19753 =
    555555  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    556556    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    558558    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    559559    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    560     params_regs0 } = x_99
     560    params_regs0 } = x_19753
    561561  in
    562562  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    575575    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    576576    'a1 **)
    577 let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_101 =
     577let rec get_pseudo_reg_functs_rect_Type2 p h_mk_get_pseudo_reg_functs x_19755 =
    578578  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    579579    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    581581    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    582582    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    583     params_regs0 } = x_101
     583    params_regs0 } = x_19755
    584584  in
    585585  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    598598    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    599599    'a1 **)
    600 let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_103 =
     600let rec get_pseudo_reg_functs_rect_Type1 p h_mk_get_pseudo_reg_functs x_19757 =
    601601  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    602602    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    604604    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    605605    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    606     params_regs0 } = x_103
     606    params_regs0 } = x_19757
    607607  in
    608608  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    621621    (__ -> Registers.register List.list) -> 'a1) -> get_pseudo_reg_functs ->
    622622    'a1 **)
    623 let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_105 =
     623let rec get_pseudo_reg_functs_rect_Type0 p h_mk_get_pseudo_reg_functs x_19759 =
    624624  let { acc_a_regs = acc_a_regs0; acc_b_regs = acc_b_regs0; acc_a_args =
    625625    acc_a_args0; acc_b_args = acc_b_args0; dpl_regs = dpl_regs0; dph_regs =
     
    627627    snd_args0; pair_move_regs = pair_move_regs0; f_call_args = f_call_args0;
    628628    f_call_dest = f_call_dest0; ext_seq_regs = ext_seq_regs0; params_regs =
    629     params_regs0 } = x_105
     629    params_regs0 } = x_19759
    630630  in
    631631  h_mk_get_pseudo_reg_functs acc_a_regs0 acc_b_regs0 acc_a_args0 acc_b_args0
     
    805805    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    806806    'a1 **)
    807 let rec uns_params_rect_Type4 h_mk_uns_params x_135 =
    808   let { u_pars = u_pars0; functs = functs0 } = x_135 in
     807let rec uns_params_rect_Type4 h_mk_uns_params x_19789 =
     808  let { u_pars = u_pars0; functs = functs0 } = x_19789 in
    809809  h_mk_uns_params u_pars0 functs0
    810810
     
    812812    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    813813    'a1 **)
    814 let rec uns_params_rect_Type5 h_mk_uns_params x_137 =
    815   let { u_pars = u_pars0; functs = functs0 } = x_137 in
     814let rec uns_params_rect_Type5 h_mk_uns_params x_19791 =
     815  let { u_pars = u_pars0; functs = functs0 } = x_19791 in
    816816  h_mk_uns_params u_pars0 functs0
    817817
     
    819819    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    820820    'a1 **)
    821 let rec uns_params_rect_Type3 h_mk_uns_params x_139 =
    822   let { u_pars = u_pars0; functs = functs0 } = x_139 in
     821let rec uns_params_rect_Type3 h_mk_uns_params x_19793 =
     822  let { u_pars = u_pars0; functs = functs0 } = x_19793 in
    823823  h_mk_uns_params u_pars0 functs0
    824824
     
    826826    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    827827    'a1 **)
    828 let rec uns_params_rect_Type2 h_mk_uns_params x_141 =
    829   let { u_pars = u_pars0; functs = functs0 } = x_141 in
     828let rec uns_params_rect_Type2 h_mk_uns_params x_19795 =
     829  let { u_pars = u_pars0; functs = functs0 } = x_19795 in
    830830  h_mk_uns_params u_pars0 functs0
    831831
     
    833833    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    834834    'a1 **)
    835 let rec uns_params_rect_Type1 h_mk_uns_params x_143 =
    836   let { u_pars = u_pars0; functs = functs0 } = x_143 in
     835let rec uns_params_rect_Type1 h_mk_uns_params x_19797 =
     836  let { u_pars = u_pars0; functs = functs0 } = x_19797 in
    837837  h_mk_uns_params u_pars0 functs0
    838838
     
    840840    (unserialized_params -> get_pseudo_reg_functs -> 'a1) -> uns_params ->
    841841    'a1 **)
    842 let rec uns_params_rect_Type0 h_mk_uns_params x_145 =
    843   let { u_pars = u_pars0; functs = functs0 } = x_145 in
     842let rec uns_params_rect_Type0 h_mk_uns_params x_19799 =
     843  let { u_pars = u_pars0; functs = functs0 } = x_19799 in
    844844  h_mk_uns_params u_pars0 functs0
    845845
     
    911911    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    912912let rec joint_seq_rect_Type4 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    913 | COMMENT x_200 -> h_COMMENT x_200
    914 | MOVE x_201 -> h_MOVE x_201
    915 | POP x_202 -> h_POP x_202
    916 | PUSH x_203 -> h_PUSH x_203
    917 | ADDRESS (i, x_205, x_204) -> h_ADDRESS i __ x_205 x_204
    918 | OPACCS (x_211, x_210, x_209, x_208, x_207) ->
    919   h_OPACCS x_211 x_210 x_209 x_208 x_207
    920 | OP1 (x_214, x_213, x_212) -> h_OP1 x_214 x_213 x_212
    921 | OP2 (x_218, x_217, x_216, x_215) -> h_OP2 x_218 x_217 x_216 x_215
     913| COMMENT x_19854 -> h_COMMENT x_19854
     914| MOVE x_19855 -> h_MOVE x_19855
     915| POP x_19856 -> h_POP x_19856
     916| PUSH x_19857 -> h_PUSH x_19857
     917| ADDRESS (i, x_19859, x_19858) -> h_ADDRESS i __ x_19859 x_19858
     918| OPACCS (x_19865, x_19864, x_19863, x_19862, x_19861) ->
     919  h_OPACCS x_19865 x_19864 x_19863 x_19862 x_19861
     920| OP1 (x_19868, x_19867, x_19866) -> h_OP1 x_19868 x_19867 x_19866
     921| OP2 (x_19872, x_19871, x_19870, x_19869) ->
     922  h_OP2 x_19872 x_19871 x_19870 x_19869
    922923| CLEAR_CARRY -> h_CLEAR_CARRY
    923924| SET_CARRY -> h_SET_CARRY
    924 | LOAD (x_221, x_220, x_219) -> h_LOAD x_221 x_220 x_219
    925 | STORE (x_224, x_223, x_222) -> h_STORE x_224 x_223 x_222
    926 | Extension_seq x_225 -> h_extension_seq x_225
     925| LOAD (x_19875, x_19874, x_19873) -> h_LOAD x_19875 x_19874 x_19873
     926| STORE (x_19878, x_19877, x_19876) -> h_STORE x_19878 x_19877 x_19876
     927| Extension_seq x_19879 -> h_extension_seq x_19879
    927928
    928929(** val joint_seq_rect_Type5 :
     
    934935    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    935936let rec joint_seq_rect_Type5 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    936 | COMMENT x_240 -> h_COMMENT x_240
    937 | MOVE x_241 -> h_MOVE x_241
    938 | POP x_242 -> h_POP x_242
    939 | PUSH x_243 -> h_PUSH x_243
    940 | ADDRESS (i, x_245, x_244) -> h_ADDRESS i __ x_245 x_244
    941 | OPACCS (x_251, x_250, x_249, x_248, x_247) ->
    942   h_OPACCS x_251 x_250 x_249 x_248 x_247
    943 | OP1 (x_254, x_253, x_252) -> h_OP1 x_254 x_253 x_252
    944 | OP2 (x_258, x_257, x_256, x_255) -> h_OP2 x_258 x_257 x_256 x_255
     937| COMMENT x_19894 -> h_COMMENT x_19894
     938| MOVE x_19895 -> h_MOVE x_19895
     939| POP x_19896 -> h_POP x_19896
     940| PUSH x_19897 -> h_PUSH x_19897
     941| ADDRESS (i, x_19899, x_19898) -> h_ADDRESS i __ x_19899 x_19898
     942| OPACCS (x_19905, x_19904, x_19903, x_19902, x_19901) ->
     943  h_OPACCS x_19905 x_19904 x_19903 x_19902 x_19901
     944| OP1 (x_19908, x_19907, x_19906) -> h_OP1 x_19908 x_19907 x_19906
     945| OP2 (x_19912, x_19911, x_19910, x_19909) ->
     946  h_OP2 x_19912 x_19911 x_19910 x_19909
    945947| CLEAR_CARRY -> h_CLEAR_CARRY
    946948| SET_CARRY -> h_SET_CARRY
    947 | LOAD (x_261, x_260, x_259) -> h_LOAD x_261 x_260 x_259
    948 | STORE (x_264, x_263, x_262) -> h_STORE x_264 x_263 x_262
    949 | Extension_seq x_265 -> h_extension_seq x_265
     949| LOAD (x_19915, x_19914, x_19913) -> h_LOAD x_19915 x_19914 x_19913
     950| STORE (x_19918, x_19917, x_19916) -> h_STORE x_19918 x_19917 x_19916
     951| Extension_seq x_19919 -> h_extension_seq x_19919
    950952
    951953(** val joint_seq_rect_Type3 :
     
    957959    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    958960let rec joint_seq_rect_Type3 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    959 | COMMENT x_280 -> h_COMMENT x_280
    960 | MOVE x_281 -> h_MOVE x_281
    961 | POP x_282 -> h_POP x_282
    962 | PUSH x_283 -> h_PUSH x_283
    963 | ADDRESS (i, x_285, x_284) -> h_ADDRESS i __ x_285 x_284
    964 | OPACCS (x_291, x_290, x_289, x_288, x_287) ->
    965   h_OPACCS x_291 x_290 x_289 x_288 x_287
    966 | OP1 (x_294, x_293, x_292) -> h_OP1 x_294 x_293 x_292
    967 | OP2 (x_298, x_297, x_296, x_295) -> h_OP2 x_298 x_297 x_296 x_295
     961| COMMENT x_19934 -> h_COMMENT x_19934
     962| MOVE x_19935 -> h_MOVE x_19935
     963| POP x_19936 -> h_POP x_19936
     964| PUSH x_19937 -> h_PUSH x_19937
     965| ADDRESS (i, x_19939, x_19938) -> h_ADDRESS i __ x_19939 x_19938
     966| OPACCS (x_19945, x_19944, x_19943, x_19942, x_19941) ->
     967  h_OPACCS x_19945 x_19944 x_19943 x_19942 x_19941
     968| OP1 (x_19948, x_19947, x_19946) -> h_OP1 x_19948 x_19947 x_19946
     969| OP2 (x_19952, x_19951, x_19950, x_19949) ->
     970  h_OP2 x_19952 x_19951 x_19950 x_19949
    968971| CLEAR_CARRY -> h_CLEAR_CARRY
    969972| SET_CARRY -> h_SET_CARRY
    970 | LOAD (x_301, x_300, x_299) -> h_LOAD x_301 x_300 x_299
    971 | STORE (x_304, x_303, x_302) -> h_STORE x_304 x_303 x_302
    972 | Extension_seq x_305 -> h_extension_seq x_305
     973| LOAD (x_19955, x_19954, x_19953) -> h_LOAD x_19955 x_19954 x_19953
     974| STORE (x_19958, x_19957, x_19956) -> h_STORE x_19958 x_19957 x_19956
     975| Extension_seq x_19959 -> h_extension_seq x_19959
    973976
    974977(** val joint_seq_rect_Type2 :
     
    980983    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    981984let rec joint_seq_rect_Type2 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    982 | COMMENT x_320 -> h_COMMENT x_320
    983 | MOVE x_321 -> h_MOVE x_321
    984 | POP x_322 -> h_POP x_322
    985 | PUSH x_323 -> h_PUSH x_323
    986 | ADDRESS (i, x_325, x_324) -> h_ADDRESS i __ x_325 x_324
    987 | OPACCS (x_331, x_330, x_329, x_328, x_327) ->
    988   h_OPACCS x_331 x_330 x_329 x_328 x_327
    989 | OP1 (x_334, x_333, x_332) -> h_OP1 x_334 x_333 x_332
    990 | OP2 (x_338, x_337, x_336, x_335) -> h_OP2 x_338 x_337 x_336 x_335
     985| COMMENT x_19974 -> h_COMMENT x_19974
     986| MOVE x_19975 -> h_MOVE x_19975
     987| POP x_19976 -> h_POP x_19976
     988| PUSH x_19977 -> h_PUSH x_19977
     989| ADDRESS (i, x_19979, x_19978) -> h_ADDRESS i __ x_19979 x_19978
     990| OPACCS (x_19985, x_19984, x_19983, x_19982, x_19981) ->
     991  h_OPACCS x_19985 x_19984 x_19983 x_19982 x_19981
     992| OP1 (x_19988, x_19987, x_19986) -> h_OP1 x_19988 x_19987 x_19986
     993| OP2 (x_19992, x_19991, x_19990, x_19989) ->
     994  h_OP2 x_19992 x_19991 x_19990 x_19989
    991995| CLEAR_CARRY -> h_CLEAR_CARRY
    992996| SET_CARRY -> h_SET_CARRY
    993 | LOAD (x_341, x_340, x_339) -> h_LOAD x_341 x_340 x_339
    994 | STORE (x_344, x_343, x_342) -> h_STORE x_344 x_343 x_342
    995 | Extension_seq x_345 -> h_extension_seq x_345
     997| LOAD (x_19995, x_19994, x_19993) -> h_LOAD x_19995 x_19994 x_19993
     998| STORE (x_19998, x_19997, x_19996) -> h_STORE x_19998 x_19997 x_19996
     999| Extension_seq x_19999 -> h_extension_seq x_19999
    9961000
    9971001(** val joint_seq_rect_Type1 :
     
    10031007    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10041008let rec joint_seq_rect_Type1 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    1005 | COMMENT x_360 -> h_COMMENT x_360
    1006 | MOVE x_361 -> h_MOVE x_361
    1007 | POP x_362 -> h_POP x_362
    1008 | PUSH x_363 -> h_PUSH x_363
    1009 | ADDRESS (i, x_365, x_364) -> h_ADDRESS i __ x_365 x_364
    1010 | OPACCS (x_371, x_370, x_369, x_368, x_367) ->
    1011   h_OPACCS x_371 x_370 x_369 x_368 x_367
    1012 | OP1 (x_374, x_373, x_372) -> h_OP1 x_374 x_373 x_372
    1013 | OP2 (x_378, x_377, x_376, x_375) -> h_OP2 x_378 x_377 x_376 x_375
     1009| COMMENT x_20014 -> h_COMMENT x_20014
     1010| MOVE x_20015 -> h_MOVE x_20015
     1011| POP x_20016 -> h_POP x_20016
     1012| PUSH x_20017 -> h_PUSH x_20017
     1013| ADDRESS (i, x_20019, x_20018) -> h_ADDRESS i __ x_20019 x_20018
     1014| OPACCS (x_20025, x_20024, x_20023, x_20022, x_20021) ->
     1015  h_OPACCS x_20025 x_20024 x_20023 x_20022 x_20021
     1016| OP1 (x_20028, x_20027, x_20026) -> h_OP1 x_20028 x_20027 x_20026
     1017| OP2 (x_20032, x_20031, x_20030, x_20029) ->
     1018  h_OP2 x_20032 x_20031 x_20030 x_20029
    10141019| CLEAR_CARRY -> h_CLEAR_CARRY
    10151020| SET_CARRY -> h_SET_CARRY
    1016 | LOAD (x_381, x_380, x_379) -> h_LOAD x_381 x_380 x_379
    1017 | STORE (x_384, x_383, x_382) -> h_STORE x_384 x_383 x_382
    1018 | Extension_seq x_385 -> h_extension_seq x_385
     1021| LOAD (x_20035, x_20034, x_20033) -> h_LOAD x_20035 x_20034 x_20033
     1022| STORE (x_20038, x_20037, x_20036) -> h_STORE x_20038 x_20037 x_20036
     1023| Extension_seq x_20039 -> h_extension_seq x_20039
    10191024
    10201025(** val joint_seq_rect_Type0 :
     
    10261031    'a1) -> (__ -> 'a1) -> joint_seq -> 'a1 **)
    10271032let rec joint_seq_rect_Type0 p globals h_COMMENT h_MOVE h_POP h_PUSH h_ADDRESS h_OPACCS h_OP1 h_OP2 h_CLEAR_CARRY h_SET_CARRY h_LOAD h_STORE h_extension_seq = function
    1028 | COMMENT x_400 -> h_COMMENT x_400
    1029 | MOVE x_401 -> h_MOVE x_401
    1030 | POP x_402 -> h_POP x_402
    1031 | PUSH x_403 -> h_PUSH x_403
    1032 | ADDRESS (i, x_405, x_404) -> h_ADDRESS i __ x_405 x_404
    1033 | OPACCS (x_411, x_410, x_409, x_408, x_407) ->
    1034   h_OPACCS x_411 x_410 x_409 x_408 x_407
    1035 | OP1 (x_414, x_413, x_412) -> h_OP1 x_414 x_413 x_412
    1036 | OP2 (x_418, x_417, x_416, x_415) -> h_OP2 x_418 x_417 x_416 x_415
     1033| COMMENT x_20054 -> h_COMMENT x_20054
     1034| MOVE x_20055 -> h_MOVE x_20055
     1035| POP x_20056 -> h_POP x_20056
     1036| PUSH x_20057 -> h_PUSH x_20057
     1037| ADDRESS (i, x_20059, x_20058) -> h_ADDRESS i __ x_20059 x_20058
     1038| OPACCS (x_20065, x_20064, x_20063, x_20062, x_20061) ->
     1039  h_OPACCS x_20065 x_20064 x_20063 x_20062 x_20061
     1040| OP1 (x_20068, x_20067, x_20066) -> h_OP1 x_20068 x_20067 x_20066
     1041| OP2 (x_20072, x_20071, x_20070, x_20069) ->
     1042  h_OP2 x_20072 x_20071 x_20070 x_20069
    10371043| CLEAR_CARRY -> h_CLEAR_CARRY
    10381044| SET_CARRY -> h_SET_CARRY
    1039 | LOAD (x_421, x_420, x_419) -> h_LOAD x_421 x_420 x_419
    1040 | STORE (x_424, x_423, x_422) -> h_STORE x_424 x_423 x_422
    1041 | Extension_seq x_425 -> h_extension_seq x_425
     1045| LOAD (x_20075, x_20074, x_20073) -> h_LOAD x_20075 x_20074 x_20073
     1046| STORE (x_20078, x_20077, x_20076) -> h_STORE x_20078 x_20077 x_20076
     1047| Extension_seq x_20079 -> h_extension_seq x_20079
    10421048
    10431049(** val joint_seq_inv_rect_Type4 :
     
    12301236    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12311237let rec joint_step_rect_Type4 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1232 | COST_LABEL x_692 -> h_COST_LABEL x_692
    1233 | CALL (x_695, x_694, x_693) -> h_CALL x_695 x_694 x_693
    1234 | COND (x_697, x_696) -> h_COND x_697 x_696
    1235 | Step_seq x_698 -> h_step_seq x_698
     1238| COST_LABEL x_20346 -> h_COST_LABEL x_20346
     1239| CALL (x_20349, x_20348, x_20347) -> h_CALL x_20349 x_20348 x_20347
     1240| COND (x_20351, x_20350) -> h_COND x_20351 x_20350
     1241| Step_seq x_20352 -> h_step_seq x_20352
    12361242
    12371243(** val joint_step_rect_Type5 :
     
    12401246    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12411247let rec joint_step_rect_Type5 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1242 | COST_LABEL x_704 -> h_COST_LABEL x_704
    1243 | CALL (x_707, x_706, x_705) -> h_CALL x_707 x_706 x_705
    1244 | COND (x_709, x_708) -> h_COND x_709 x_708
    1245 | Step_seq x_710 -> h_step_seq x_710
     1248| COST_LABEL x_20358 -> h_COST_LABEL x_20358
     1249| CALL (x_20361, x_20360, x_20359) -> h_CALL x_20361 x_20360 x_20359
     1250| COND (x_20363, x_20362) -> h_COND x_20363 x_20362
     1251| Step_seq x_20364 -> h_step_seq x_20364
    12461252
    12471253(** val joint_step_rect_Type3 :
     
    12501256    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12511257let rec joint_step_rect_Type3 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1252 | COST_LABEL x_716 -> h_COST_LABEL x_716
    1253 | CALL (x_719, x_718, x_717) -> h_CALL x_719 x_718 x_717
    1254 | COND (x_721, x_720) -> h_COND x_721 x_720
    1255 | Step_seq x_722 -> h_step_seq x_722
     1258| COST_LABEL x_20370 -> h_COST_LABEL x_20370
     1259| CALL (x_20373, x_20372, x_20371) -> h_CALL x_20373 x_20372 x_20371
     1260| COND (x_20375, x_20374) -> h_COND x_20375 x_20374
     1261| Step_seq x_20376 -> h_step_seq x_20376
    12561262
    12571263(** val joint_step_rect_Type2 :
     
    12601266    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12611267let rec joint_step_rect_Type2 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1262 | COST_LABEL x_728 -> h_COST_LABEL x_728
    1263 | CALL (x_731, x_730, x_729) -> h_CALL x_731 x_730 x_729
    1264 | COND (x_733, x_732) -> h_COND x_733 x_732
    1265 | Step_seq x_734 -> h_step_seq x_734
     1268| COST_LABEL x_20382 -> h_COST_LABEL x_20382
     1269| CALL (x_20385, x_20384, x_20383) -> h_CALL x_20385 x_20384 x_20383
     1270| COND (x_20387, x_20386) -> h_COND x_20387 x_20386
     1271| Step_seq x_20388 -> h_step_seq x_20388
    12661272
    12671273(** val joint_step_rect_Type1 :
     
    12701276    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12711277let rec joint_step_rect_Type1 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1272 | COST_LABEL x_740 -> h_COST_LABEL x_740
    1273 | CALL (x_743, x_742, x_741) -> h_CALL x_743 x_742 x_741
    1274 | COND (x_745, x_744) -> h_COND x_745 x_744
    1275 | Step_seq x_746 -> h_step_seq x_746
     1278| COST_LABEL x_20394 -> h_COST_LABEL x_20394
     1279| CALL (x_20397, x_20396, x_20395) -> h_CALL x_20397 x_20396 x_20395
     1280| COND (x_20399, x_20398) -> h_COND x_20399 x_20398
     1281| Step_seq x_20400 -> h_step_seq x_20400
    12761282
    12771283(** val joint_step_rect_Type0 :
     
    12801286    -> (__ -> Graphs.label -> 'a1) -> (joint_seq -> 'a1) -> joint_step -> 'a1 **)
    12811287let rec joint_step_rect_Type0 p globals h_COST_LABEL h_CALL h_COND h_step_seq = function
    1282 | COST_LABEL x_752 -> h_COST_LABEL x_752
    1283 | CALL (x_755, x_754, x_753) -> h_CALL x_755 x_754 x_753
    1284 | COND (x_757, x_756) -> h_COND x_757 x_756
    1285 | Step_seq x_758 -> h_step_seq x_758
     1288| COST_LABEL x_20406 -> h_COST_LABEL x_20406
     1289| CALL (x_20409, x_20408, x_20407) -> h_CALL x_20409 x_20408 x_20407
     1290| COND (x_20411, x_20410) -> h_COND x_20411 x_20410
     1291| Step_seq x_20412 -> h_step_seq x_20412
    12861292
    12871293(** val joint_step_inv_rect_Type4 :
     
    14581464    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14591465    'a1) -> stmt_params -> 'a1 **)
    1460 let rec stmt_params_rect_Type4 h_mk_stmt_params x_837 =
     1466let rec stmt_params_rect_Type4 h_mk_stmt_params x_20491 =
    14611467  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1462     has_fcond0 } = x_837
     1468    has_fcond0 } = x_20491
    14631469  in
    14641470  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14671473    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14681474    'a1) -> stmt_params -> 'a1 **)
    1469 let rec stmt_params_rect_Type5 h_mk_stmt_params x_839 =
     1475let rec stmt_params_rect_Type5 h_mk_stmt_params x_20493 =
    14701476  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1471     has_fcond0 } = x_839
     1477    has_fcond0 } = x_20493
    14721478  in
    14731479  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14761482    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14771483    'a1) -> stmt_params -> 'a1 **)
    1478 let rec stmt_params_rect_Type3 h_mk_stmt_params x_841 =
     1484let rec stmt_params_rect_Type3 h_mk_stmt_params x_20495 =
    14791485  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1480     has_fcond0 } = x_841
     1486    has_fcond0 } = x_20495
    14811487  in
    14821488  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14851491    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14861492    'a1) -> stmt_params -> 'a1 **)
    1487 let rec stmt_params_rect_Type2 h_mk_stmt_params x_843 =
     1493let rec stmt_params_rect_Type2 h_mk_stmt_params x_20497 =
    14881494  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1489     has_fcond0 } = x_843
     1495    has_fcond0 } = x_20497
    14901496  in
    14911497  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    14941500    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    14951501    'a1) -> stmt_params -> 'a1 **)
    1496 let rec stmt_params_rect_Type1 h_mk_stmt_params x_845 =
     1502let rec stmt_params_rect_Type1 h_mk_stmt_params x_20499 =
    14971503  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1498     has_fcond0 } = x_845
     1504    has_fcond0 } = x_20499
    14991505  in
    15001506  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15031509    (uns_params -> __ -> (__ -> Graphs.label Types.option) -> Bool.bool ->
    15041510    'a1) -> stmt_params -> 'a1 **)
    1505 let rec stmt_params_rect_Type0 h_mk_stmt_params x_847 =
     1511let rec stmt_params_rect_Type0 h_mk_stmt_params x_20501 =
    15061512  let { uns_pars = uns_pars0; succ_label = succ_label0; has_fcond =
    1507     has_fcond0 } = x_847
     1513    has_fcond0 } = x_20501
    15081514  in
    15091515  h_mk_stmt_params uns_pars0 __ succ_label0 has_fcond0
     
    15721578    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15731579let rec joint_fin_step_rect_Type4 p h_GOTO h_RETURN h_TAILCALL = function
    1574 | GOTO x_871 -> h_GOTO x_871
     1580| GOTO x_20525 -> h_GOTO x_20525
    15751581| RETURN -> h_RETURN
    1576 | TAILCALL (x_873, x_872) -> h_TAILCALL __ x_873 x_872
     1582| TAILCALL (x_20527, x_20526) -> h_TAILCALL __ x_20527 x_20526
    15771583
    15781584(** val joint_fin_step_rect_Type5 :
     
    15801586    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15811587let rec joint_fin_step_rect_Type5 p h_GOTO h_RETURN h_TAILCALL = function
    1582 | GOTO x_879 -> h_GOTO x_879
     1588| GOTO x_20533 -> h_GOTO x_20533
    15831589| RETURN -> h_RETURN
    1584 | TAILCALL (x_881, x_880) -> h_TAILCALL __ x_881 x_880
     1590| TAILCALL (x_20535, x_20534) -> h_TAILCALL __ x_20535 x_20534
    15851591
    15861592(** val joint_fin_step_rect_Type3 :
     
    15881594    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15891595let rec joint_fin_step_rect_Type3 p h_GOTO h_RETURN h_TAILCALL = function
    1590 | GOTO x_887 -> h_GOTO x_887
     1596| GOTO x_20541 -> h_GOTO x_20541
    15911597| RETURN -> h_RETURN
    1592 | TAILCALL (x_889, x_888) -> h_TAILCALL __ x_889 x_888
     1598| TAILCALL (x_20543, x_20542) -> h_TAILCALL __ x_20543 x_20542
    15931599
    15941600(** val joint_fin_step_rect_Type2 :
     
    15961602    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    15971603let rec joint_fin_step_rect_Type2 p h_GOTO h_RETURN h_TAILCALL = function
    1598 | GOTO x_895 -> h_GOTO x_895
     1604| GOTO x_20549 -> h_GOTO x_20549
    15991605| RETURN -> h_RETURN
    1600 | TAILCALL (x_897, x_896) -> h_TAILCALL __ x_897 x_896
     1606| TAILCALL (x_20551, x_20550) -> h_TAILCALL __ x_20551 x_20550
    16011607
    16021608(** val joint_fin_step_rect_Type1 :
     
    16041610    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16051611let rec joint_fin_step_rect_Type1 p h_GOTO h_RETURN h_TAILCALL = function
    1606 | GOTO x_903 -> h_GOTO x_903
     1612| GOTO x_20557 -> h_GOTO x_20557
    16071613| RETURN -> h_RETURN
    1608 | TAILCALL (x_905, x_904) -> h_TAILCALL __ x_905 x_904
     1614| TAILCALL (x_20559, x_20558) -> h_TAILCALL __ x_20559 x_20558
    16091615
    16101616(** val joint_fin_step_rect_Type0 :
     
    16121618    (__, __) Types.prod) Types.sum -> __ -> 'a1) -> joint_fin_step -> 'a1 **)
    16131619let rec joint_fin_step_rect_Type0 p h_GOTO h_RETURN h_TAILCALL = function
    1614 | GOTO x_911 -> h_GOTO x_911
     1620| GOTO x_20565 -> h_GOTO x_20565
    16151621| RETURN -> h_RETURN
    1616 | TAILCALL (x_913, x_912) -> h_TAILCALL __ x_913 x_912
     1622| TAILCALL (x_20567, x_20566) -> h_TAILCALL __ x_20567 x_20566
    16171623
    16181624(** val joint_fin_step_inv_rect_Type4 :
     
    16861692    'a1) -> joint_statement -> 'a1 **)
    16871693let rec joint_statement_rect_Type4 p globals h_sequential h_final h_FCOND = function
    1688 | Sequential (x_979, x_978) -> h_sequential x_979 x_978
    1689 | Final x_980 -> h_final x_980
    1690 | FCOND (x_983, x_982, x_981) -> h_FCOND __ x_983 x_982 x_981
     1694| Sequential (x_20633, x_20632) -> h_sequential x_20633 x_20632
     1695| Final x_20634 -> h_final x_20634
     1696| FCOND (x_20637, x_20636, x_20635) -> h_FCOND __ x_20637 x_20636 x_20635
    16911697
    16921698(** val joint_statement_rect_Type5 :
     
    16951701    'a1) -> joint_statement -> 'a1 **)
    16961702let rec joint_statement_rect_Type5 p globals h_sequential h_final h_FCOND = function
    1697 | Sequential (x_990, x_989) -> h_sequential x_990 x_989
    1698 | Final x_991 -> h_final x_991
    1699 | FCOND (x_994, x_993, x_992) -> h_FCOND __ x_994 x_993 x_992
     1703| Sequential (x_20644, x_20643) -> h_sequential x_20644 x_20643
     1704| Final x_20645 -> h_final x_20645
     1705| FCOND (x_20648, x_20647, x_20646) -> h_FCOND __ x_20648 x_20647 x_20646
    17001706
    17011707(** val joint_statement_rect_Type3 :
     
    17041710    'a1) -> joint_statement -> 'a1 **)
    17051711let rec joint_statement_rect_Type3 p globals h_sequential h_final h_FCOND = function
    1706 | Sequential (x_1001, x_1000) -> h_sequential x_1001 x_1000
    1707 | Final x_1002 -> h_final x_1002
    1708 | FCOND (x_1005, x_1004, x_1003) -> h_FCOND __ x_1005 x_1004 x_1003
     1712| Sequential (x_20655, x_20654) -> h_sequential x_20655 x_20654
     1713| Final x_20656 -> h_final x_20656
     1714| FCOND (x_20659, x_20658, x_20657) -> h_FCOND __ x_20659 x_20658 x_20657
    17091715
    17101716(** val joint_statement_rect_Type2 :
     
    17131719    'a1) -> joint_statement -> 'a1 **)
    17141720let rec joint_statement_rect_Type2 p globals h_sequential h_final h_FCOND = function
    1715 | Sequential (x_1012, x_1011) -> h_sequential x_1012 x_1011
    1716 | Final x_1013 -> h_final x_1013
    1717 | FCOND (x_1016, x_1015, x_1014) -> h_FCOND __ x_1016 x_1015 x_1014
     1721| Sequential (x_20666, x_20665) -> h_sequential x_20666 x_20665
     1722| Final x_20667 -> h_final x_20667
     1723| FCOND (x_20670, x_20669, x_20668) -> h_FCOND __ x_20670 x_20669 x_20668
    17181724
    17191725(** val joint_statement_rect_Type1 :
     
    17221728    'a1) -> joint_statement -> 'a1 **)
    17231729let rec joint_statement_rect_Type1 p globals h_sequential h_final h_FCOND = function
    1724 | Sequential (x_1023, x_1022) -> h_sequential x_1023 x_1022
    1725 | Final x_1024 -> h_final x_1024
    1726 | FCOND (x_1027, x_1026, x_1025) -> h_FCOND __ x_1027 x_1026 x_1025
     1730| Sequential (x_20677, x_20676) -> h_sequential x_20677 x_20676
     1731| Final x_20678 -> h_final x_20678
     1732| FCOND (x_20681, x_20680, x_20679) -> h_FCOND __ x_20681 x_20680 x_20679
    17271733
    17281734(** val joint_statement_rect_Type0 :
     
    17311737    'a1) -> joint_statement -> 'a1 **)
    17321738let rec joint_statement_rect_Type0 p globals h_sequential h_final h_FCOND = function
    1733 | Sequential (x_1034, x_1033) -> h_sequential x_1034 x_1033
    1734 | Final x_1035 -> h_final x_1035
    1735 | FCOND (x_1038, x_1037, x_1036) -> h_FCOND __ x_1038 x_1037 x_1036
     1739| Sequential (x_20688, x_20687) -> h_sequential x_20688 x_20687
     1740| Final x_20689 -> h_final x_20689
     1741| FCOND (x_20692, x_20691, x_20690) -> h_FCOND __ x_20692 x_20691 x_20690
    17361742
    17371743(** val joint_statement_inv_rect_Type4 :
     
    18321838    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18331839    'a1 **)
    1834 let rec params_rect_Type4 h_mk_params x_1111 =
     1840let rec params_rect_Type4 h_mk_params x_20765 =
    18351841  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1836     point_of_label0; point_of_succ = point_of_succ0 } = x_1111
     1842    point_of_label0; point_of_succ = point_of_succ0 } = x_20765
    18371843  in
    18381844  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18431849    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18441850    'a1 **)
    1845 let rec params_rect_Type5 h_mk_params x_1113 =
     1851let rec params_rect_Type5 h_mk_params x_20767 =
    18461852  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1847     point_of_label0; point_of_succ = point_of_succ0 } = x_1113
     1853    point_of_label0; point_of_succ = point_of_succ0 } = x_20767
    18481854  in
    18491855  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18541860    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18551861    'a1 **)
    1856 let rec params_rect_Type3 h_mk_params x_1115 =
     1862let rec params_rect_Type3 h_mk_params x_20769 =
    18571863  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1858     point_of_label0; point_of_succ = point_of_succ0 } = x_1115
     1864    point_of_label0; point_of_succ = point_of_succ0 } = x_20769
    18591865  in
    18601866  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18651871    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18661872    'a1 **)
    1867 let rec params_rect_Type2 h_mk_params x_1117 =
     1873let rec params_rect_Type2 h_mk_params x_20771 =
    18681874  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1869     point_of_label0; point_of_succ = point_of_succ0 } = x_1117
     1875    point_of_label0; point_of_succ = point_of_succ0 } = x_20771
    18701876  in
    18711877  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18761882    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18771883    'a1 **)
    1878 let rec params_rect_Type1 h_mk_params x_1119 =
     1884let rec params_rect_Type1 h_mk_params x_20773 =
    18791885  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1880     point_of_label0; point_of_succ = point_of_succ0 } = x_1119
     1886    point_of_label0; point_of_succ = point_of_succ0 } = x_20773
    18811887  in
    18821888  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    18871893    Graphs.label -> __ Types.option) -> (__ -> __ -> __) -> 'a1) -> params ->
    18881894    'a1 **)
    1889 let rec params_rect_Type0 h_mk_params x_1121 =
     1895let rec params_rect_Type0 h_mk_params x_20775 =
    18901896  let { stmt_pars = stmt_pars0; stmt_at = stmt_at0; point_of_label =
    1891     point_of_label0; point_of_succ = point_of_succ0 } = x_1121
     1897    point_of_label0; point_of_succ = point_of_succ0 } = x_20775
    18921898  in
    18931899  h_mk_params stmt_pars0 __ __ stmt_at0 point_of_label0 point_of_succ0
     
    20242030
    20252031(** val lin_params_rect_Type4 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2026 let rec lin_params_rect_Type4 h_mk_lin_params x_1144 =
    2027   let l_u_pars = x_1144 in h_mk_lin_params l_u_pars
     2032let rec lin_params_rect_Type4 h_mk_lin_params x_20798 =
     2033  let l_u_pars = x_20798 in h_mk_lin_params l_u_pars
    20282034
    20292035(** val lin_params_rect_Type5 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2030 let rec lin_params_rect_Type5 h_mk_lin_params x_1146 =
    2031   let l_u_pars = x_1146 in h_mk_lin_params l_u_pars
     2036let rec lin_params_rect_Type5 h_mk_lin_params x_20800 =
     2037  let l_u_pars = x_20800 in h_mk_lin_params l_u_pars
    20322038
    20332039(** val lin_params_rect_Type3 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2034 let rec lin_params_rect_Type3 h_mk_lin_params x_1148 =
    2035   let l_u_pars = x_1148 in h_mk_lin_params l_u_pars
     2040let rec lin_params_rect_Type3 h_mk_lin_params x_20802 =
     2041  let l_u_pars = x_20802 in h_mk_lin_params l_u_pars
    20362042
    20372043(** val lin_params_rect_Type2 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2038 let rec lin_params_rect_Type2 h_mk_lin_params x_1150 =
    2039   let l_u_pars = x_1150 in h_mk_lin_params l_u_pars
     2044let rec lin_params_rect_Type2 h_mk_lin_params x_20804 =
     2045  let l_u_pars = x_20804 in h_mk_lin_params l_u_pars
    20402046
    20412047(** val lin_params_rect_Type1 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2042 let rec lin_params_rect_Type1 h_mk_lin_params x_1152 =
    2043   let l_u_pars = x_1152 in h_mk_lin_params l_u_pars
     2048let rec lin_params_rect_Type1 h_mk_lin_params x_20806 =
     2049  let l_u_pars = x_20806 in h_mk_lin_params l_u_pars
    20442050
    20452051(** val lin_params_rect_Type0 : (uns_params -> 'a1) -> lin_params -> 'a1 **)
    2046 let rec lin_params_rect_Type0 h_mk_lin_params x_1154 =
    2047   let l_u_pars = x_1154 in h_mk_lin_params l_u_pars
     2052let rec lin_params_rect_Type0 h_mk_lin_params x_20808 =
     2053  let l_u_pars = x_20808 in h_mk_lin_params l_u_pars
    20482054
    20492055(** val l_u_pars : lin_params -> uns_params **)
     
    21192125(** val graph_params_rect_Type4 :
    21202126    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2121 let rec graph_params_rect_Type4 h_mk_graph_params x_1170 =
    2122   let g_u_pars = x_1170 in h_mk_graph_params g_u_pars
     2127let rec graph_params_rect_Type4 h_mk_graph_params x_20824 =
     2128  let g_u_pars = x_20824 in h_mk_graph_params g_u_pars
    21232129
    21242130(** val graph_params_rect_Type5 :
    21252131    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2126 let rec graph_params_rect_Type5 h_mk_graph_params x_1172 =
    2127   let g_u_pars = x_1172 in h_mk_graph_params g_u_pars
     2132let rec graph_params_rect_Type5 h_mk_graph_params x_20826 =
     2133  let g_u_pars = x_20826 in h_mk_graph_params g_u_pars
    21282134
    21292135(** val graph_params_rect_Type3 :
    21302136    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2131 let rec graph_params_rect_Type3 h_mk_graph_params x_1174 =
    2132   let g_u_pars = x_1174 in h_mk_graph_params g_u_pars
     2137let rec graph_params_rect_Type3 h_mk_graph_params x_20828 =
     2138  let g_u_pars = x_20828 in h_mk_graph_params g_u_pars
    21332139
    21342140(** val graph_params_rect_Type2 :
    21352141    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2136 let rec graph_params_rect_Type2 h_mk_graph_params x_1176 =
    2137   let g_u_pars = x_1176 in h_mk_graph_params g_u_pars
     2142let rec graph_params_rect_Type2 h_mk_graph_params x_20830 =
     2143  let g_u_pars = x_20830 in h_mk_graph_params g_u_pars
    21382144
    21392145(** val graph_params_rect_Type1 :
    21402146    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2141 let rec graph_params_rect_Type1 h_mk_graph_params x_1178 =
    2142   let g_u_pars = x_1178 in h_mk_graph_params g_u_pars
     2147let rec graph_params_rect_Type1 h_mk_graph_params x_20832 =
     2148  let g_u_pars = x_20832 in h_mk_graph_params g_u_pars
    21432149
    21442150(** val graph_params_rect_Type0 :
    21452151    (uns_params -> 'a1) -> graph_params -> 'a1 **)
    2146 let rec graph_params_rect_Type0 h_mk_graph_params x_1180 =
    2147   let g_u_pars = x_1180 in h_mk_graph_params g_u_pars
     2152let rec graph_params_rect_Type0 h_mk_graph_params x_20834 =
     2153  let g_u_pars = x_20834 in h_mk_graph_params g_u_pars
    21482154
    21492155(** val g_u_pars : graph_params -> uns_params **)
     
    22152221    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22162222    'a1) -> joint_internal_function -> 'a1 **)
    2217 let rec joint_internal_function_rect_Type4 p globals h_mk_joint_internal_function x_1196 =
     2223let rec joint_internal_function_rect_Type4 p globals h_mk_joint_internal_function x_20850 =
    22182224  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22192225    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22212227    joint_if_stacksize0; joint_if_local_stacksize =
    22222228    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2223     joint_if_entry = joint_if_entry0 } = x_1196
     2229    joint_if_entry = joint_if_entry0 } = x_20850
    22242230  in
    22252231  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22312237    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22322238    'a1) -> joint_internal_function -> 'a1 **)
    2233 let rec joint_internal_function_rect_Type5 p globals h_mk_joint_internal_function x_1198 =
     2239let rec joint_internal_function_rect_Type5 p globals h_mk_joint_internal_function x_20852 =
    22342240  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22352241    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22372243    joint_if_stacksize0; joint_if_local_stacksize =
    22382244    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2239     joint_if_entry = joint_if_entry0 } = x_1198
     2245    joint_if_entry = joint_if_entry0 } = x_20852
    22402246  in
    22412247  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22472253    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22482254    'a1) -> joint_internal_function -> 'a1 **)
    2249 let rec joint_internal_function_rect_Type3 p globals h_mk_joint_internal_function x_1200 =
     2255let rec joint_internal_function_rect_Type3 p globals h_mk_joint_internal_function x_20854 =
    22502256  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22512257    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22532259    joint_if_stacksize0; joint_if_local_stacksize =
    22542260    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2255     joint_if_entry = joint_if_entry0 } = x_1200
     2261    joint_if_entry = joint_if_entry0 } = x_20854
    22562262  in
    22572263  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22632269    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22642270    'a1) -> joint_internal_function -> 'a1 **)
    2265 let rec joint_internal_function_rect_Type2 p globals h_mk_joint_internal_function x_1202 =
     2271let rec joint_internal_function_rect_Type2 p globals h_mk_joint_internal_function x_20856 =
    22662272  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22672273    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22692275    joint_if_stacksize0; joint_if_local_stacksize =
    22702276    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2271     joint_if_entry = joint_if_entry0 } = x_1202
     2277    joint_if_entry = joint_if_entry0 } = x_20856
    22722278  in
    22732279  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22792285    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22802286    'a1) -> joint_internal_function -> 'a1 **)
    2281 let rec joint_internal_function_rect_Type1 p globals h_mk_joint_internal_function x_1204 =
     2287let rec joint_internal_function_rect_Type1 p globals h_mk_joint_internal_function x_20858 =
    22822288  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22832289    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    22852291    joint_if_stacksize0; joint_if_local_stacksize =
    22862292    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2287     joint_if_entry = joint_if_entry0 } = x_1204
     2293    joint_if_entry = joint_if_entry0 } = x_20858
    22882294  in
    22892295  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    22952301    Identifiers.universe -> __ -> __ -> Nat.nat -> Nat.nat -> __ -> __ ->
    22962302    'a1) -> joint_internal_function -> 'a1 **)
    2297 let rec joint_internal_function_rect_Type0 p globals h_mk_joint_internal_function x_1206 =
     2303let rec joint_internal_function_rect_Type0 p globals h_mk_joint_internal_function x_20860 =
    22982304  let { joint_if_luniverse = joint_if_luniverse0; joint_if_runiverse =
    22992305    joint_if_runiverse0; joint_if_result = joint_if_result0;
     
    23012307    joint_if_stacksize0; joint_if_local_stacksize =
    23022308    joint_if_local_stacksize0; joint_if_code = joint_if_code0;
    2303     joint_if_entry = joint_if_entry0 } = x_1206
     2309    joint_if_entry = joint_if_entry0 } = x_20860
    23042310  in
    23052311  h_mk_joint_internal_function joint_if_luniverse0 joint_if_runiverse0
     
    23982404(** val good_if_rect_Type4 :
    23992405    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2400     __ -> __ -> __ -> 'a1) -> 'a1 **)
     2406    __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24012407let rec good_if_rect_Type4 p globals def h_mk_good_if =
    2402   h_mk_good_if __ __ __ __ __
     2408  h_mk_good_if __ __ __ __ __ __
    24032409
    24042410(** val good_if_rect_Type5 :
    24052411    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2406     __ -> __ -> __ -> 'a1) -> 'a1 **)
     2412    __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24072413let rec good_if_rect_Type5 p globals def h_mk_good_if =
    2408   h_mk_good_if __ __ __ __ __
     2414  h_mk_good_if __ __ __ __ __ __
    24092415
    24102416(** val good_if_rect_Type3 :
    24112417    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2412     __ -> __ -> __ -> 'a1) -> 'a1 **)
     2418    __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24132419let rec good_if_rect_Type3 p globals def h_mk_good_if =
    2414   h_mk_good_if __ __ __ __ __
     2420  h_mk_good_if __ __ __ __ __ __
    24152421
    24162422(** val good_if_rect_Type2 :
    24172423    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2418     __ -> __ -> __ -> 'a1) -> 'a1 **)
     2424    __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24192425let rec good_if_rect_Type2 p globals def h_mk_good_if =
    2420   h_mk_good_if __ __ __ __ __
     2426  h_mk_good_if __ __ __ __ __ __
    24212427
    24222428(** val good_if_rect_Type1 :
    24232429    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2424     __ -> __ -> __ -> 'a1) -> 'a1 **)
     2430    __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24252431let rec good_if_rect_Type1 p globals def h_mk_good_if =
    2426   h_mk_good_if __ __ __ __ __
     2432  h_mk_good_if __ __ __ __ __ __
    24272433
    24282434(** val good_if_rect_Type0 :
    24292435    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2430     __ -> __ -> __ -> 'a1) -> 'a1 **)
     2436    __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24312437let rec good_if_rect_Type0 p globals def h_mk_good_if =
    2432   h_mk_good_if __ __ __ __ __
     2438  h_mk_good_if __ __ __ __ __ __
    24332439
    24342440(** val good_if_inv_rect_Type4 :
    24352441    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2436     __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
     2442    __ -> __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24372443let good_if_inv_rect_Type4 x1 x2 x3 h1 =
    24382444  let hcut = good_if_rect_Type4 x1 x2 x3 h1 in hcut __
     
    24402446(** val good_if_inv_rect_Type3 :
    24412447    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2442     __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
     2448    __ -> __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24432449let good_if_inv_rect_Type3 x1 x2 x3 h1 =
    24442450  let hcut = good_if_rect_Type3 x1 x2 x3 h1 in hcut __
     
    24462452(** val good_if_inv_rect_Type2 :
    24472453    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2448     __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
     2454    __ -> __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24492455let good_if_inv_rect_Type2 x1 x2 x3 h1 =
    24502456  let hcut = good_if_rect_Type2 x1 x2 x3 h1 in hcut __
     
    24522458(** val good_if_inv_rect_Type1 :
    24532459    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2454     __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
     2460    __ -> __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24552461let good_if_inv_rect_Type1 x1 x2 x3 h1 =
    24562462  let hcut = good_if_rect_Type1 x1 x2 x3 h1 in hcut __
     
    24582464(** val good_if_inv_rect_Type0 :
    24592465    params -> AST.ident List.list -> joint_internal_function -> (__ -> __ ->
    2460     __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
     2466    __ -> __ -> __ -> __ -> __ -> 'a1) -> 'a1 **)
    24612467let good_if_inv_rect_Type0 x1 x2 x3 h1 =
    24622468  let hcut = good_if_rect_Type0 x1 x2 x3 h1 in hcut __
    2463 
    2464 (** val good_if_discr :
    2465     params -> AST.ident List.list -> joint_internal_function -> __ **)
    2466 let good_if_discr a1 a2 a3 =
    2467   Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __ __ __)) __
    24682469
    24692470(** val good_if_jmdiscr :
    24702471    params -> AST.ident List.list -> joint_internal_function -> __ **)
    24712472let good_if_jmdiscr a1 a2 a3 =
    2472   Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __ __ __)) __
     2473  Logic.eq_rect_Type2 __ (Obj.magic (fun _ dH -> dH __ __ __ __ __ __)) __
    24732474
    24742475type joint_closed_internal_function = joint_internal_function Types.sig0
  • extracted/joint.mli

    r2827 r2867  
    13371337val good_if_rect_Type4 :
    13381338  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1339   -> __ -> __ -> 'a1) -> 'a1
     1339  -> __ -> __ -> __ -> 'a1) -> 'a1
    13401340
    13411341val good_if_rect_Type5 :
    13421342  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1343   -> __ -> __ -> 'a1) -> 'a1
     1343  -> __ -> __ -> __ -> 'a1) -> 'a1
    13441344
    13451345val good_if_rect_Type3 :
    13461346  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1347   -> __ -> __ -> 'a1) -> 'a1
     1347  -> __ -> __ -> __ -> 'a1) -> 'a1
    13481348
    13491349val good_if_rect_Type2 :
    13501350  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1351   -> __ -> __ -> 'a1) -> 'a1
     1351  -> __ -> __ -> __ -> 'a1) -> 'a1
    13521352
    13531353val good_if_rect_Type1 :
    13541354  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1355   -> __ -> __ -> 'a1) -> 'a1
     1355  -> __ -> __ -> __ -> 'a1) -> 'a1
    13561356
    13571357val good_if_rect_Type0 :
    13581358  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1359   -> __ -> __ -> 'a1) -> 'a1
     1359  -> __ -> __ -> __ -> 'a1) -> 'a1
    13601360
    13611361val good_if_inv_rect_Type4 :
    13621362  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1363   -> __ -> __ -> __ -> 'a1) -> 'a1
     1363  -> __ -> __ -> __ -> __ -> 'a1) -> 'a1
    13641364
    13651365val good_if_inv_rect_Type3 :
    13661366  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1367   -> __ -> __ -> __ -> 'a1) -> 'a1
     1367  -> __ -> __ -> __ -> __ -> 'a1) -> 'a1
    13681368
    13691369val good_if_inv_rect_Type2 :
    13701370  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1371   -> __ -> __ -> __ -> 'a1) -> 'a1
     1371  -> __ -> __ -> __ -> __ -> 'a1) -> 'a1
    13721372
    13731373val good_if_inv_rect_Type1 :
    13741374  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1375   -> __ -> __ -> __ -> 'a1) -> 'a1
     1375  -> __ -> __ -> __ -> __ -> 'a1) -> 'a1
    13761376
    13771377val good_if_inv_rect_Type0 :
    13781378  params -> AST.ident List.list -> joint_internal_function -> (__ -> __ -> __
    1379   -> __ -> __ -> __ -> 'a1) -> 'a1
    1380 
    1381 val good_if_discr :
    1382   params -> AST.ident List.list -> joint_internal_function -> __
     1379  -> __ -> __ -> __ -> __ -> 'a1) -> 'a1
    13831380
    13841381val good_if_jmdiscr :
  • extracted/joint_LTL_LIN.ml

    r2854 r2867  
    116116    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    117117let rec registers_move_rect_Type4 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    118 | From_acc (x_1508, x_1507) -> h_from_acc x_1508 x_1507
    119 | To_acc (x_1510, x_1509) -> h_to_acc x_1510 x_1509
    120 | Int_to_reg (x_1512, x_1511) -> h_int_to_reg x_1512 x_1511
    121 | Int_to_acc (x_1514, x_1513) -> h_int_to_acc x_1514 x_1513
     118| From_acc (x_21503, x_21502) -> h_from_acc x_21503 x_21502
     119| To_acc (x_21505, x_21504) -> h_to_acc x_21505 x_21504
     120| Int_to_reg (x_21507, x_21506) -> h_int_to_reg x_21507 x_21506
     121| Int_to_acc (x_21509, x_21508) -> h_int_to_acc x_21509 x_21508
    122122
    123123(** val registers_move_rect_Type5 :
     
    126126    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    127127let rec registers_move_rect_Type5 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    128 | From_acc (x_1521, x_1520) -> h_from_acc x_1521 x_1520
    129 | To_acc (x_1523, x_1522) -> h_to_acc x_1523 x_1522
    130 | Int_to_reg (x_1525, x_1524) -> h_int_to_reg x_1525 x_1524
    131 | Int_to_acc (x_1527, x_1526) -> h_int_to_acc x_1527 x_1526
     128| From_acc (x_21516, x_21515) -> h_from_acc x_21516 x_21515
     129| To_acc (x_21518, x_21517) -> h_to_acc x_21518 x_21517
     130| Int_to_reg (x_21520, x_21519) -> h_int_to_reg x_21520 x_21519
     131| Int_to_acc (x_21522, x_21521) -> h_int_to_acc x_21522 x_21521
    132132
    133133(** val registers_move_rect_Type3 :
     
    136136    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    137137let rec registers_move_rect_Type3 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    138 | From_acc (x_1534, x_1533) -> h_from_acc x_1534 x_1533
    139 | To_acc (x_1536, x_1535) -> h_to_acc x_1536 x_1535
    140 | Int_to_reg (x_1538, x_1537) -> h_int_to_reg x_1538 x_1537
    141 | Int_to_acc (x_1540, x_1539) -> h_int_to_acc x_1540 x_1539
     138| From_acc (x_21529, x_21528) -> h_from_acc x_21529 x_21528
     139| To_acc (x_21531, x_21530) -> h_to_acc x_21531 x_21530
     140| Int_to_reg (x_21533, x_21532) -> h_int_to_reg x_21533 x_21532
     141| Int_to_acc (x_21535, x_21534) -> h_int_to_acc x_21535 x_21534
    142142
    143143(** val registers_move_rect_Type2 :
     
    146146    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    147147let rec registers_move_rect_Type2 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    148 | From_acc (x_1547, x_1546) -> h_from_acc x_1547 x_1546
    149 | To_acc (x_1549, x_1548) -> h_to_acc x_1549 x_1548
    150 | Int_to_reg (x_1551, x_1550) -> h_int_to_reg x_1551 x_1550
    151 | Int_to_acc (x_1553, x_1552) -> h_int_to_acc x_1553 x_1552
     148| From_acc (x_21542, x_21541) -> h_from_acc x_21542 x_21541
     149| To_acc (x_21544, x_21543) -> h_to_acc x_21544 x_21543
     150| Int_to_reg (x_21546, x_21545) -> h_int_to_reg x_21546 x_21545
     151| Int_to_acc (x_21548, x_21547) -> h_int_to_acc x_21548 x_21547
    152152
    153153(** val registers_move_rect_Type1 :
     
    156156    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    157157let rec registers_move_rect_Type1 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    158 | From_acc (x_1560, x_1559) -> h_from_acc x_1560 x_1559
    159 | To_acc (x_1562, x_1561) -> h_to_acc x_1562 x_1561
    160 | Int_to_reg (x_1564, x_1563) -> h_int_to_reg x_1564 x_1563
    161 | Int_to_acc (x_1566, x_1565) -> h_int_to_acc x_1566 x_1565
     158| From_acc (x_21555, x_21554) -> h_from_acc x_21555 x_21554
     159| To_acc (x_21557, x_21556) -> h_to_acc x_21557 x_21556
     160| Int_to_reg (x_21559, x_21558) -> h_int_to_reg x_21559 x_21558
     161| Int_to_acc (x_21561, x_21560) -> h_int_to_acc x_21561 x_21560
    162162
    163163(** val registers_move_rect_Type0 :
     
    166166    BitVector.byte -> 'a1) -> registers_move -> 'a1 **)
    167167let rec registers_move_rect_Type0 h_from_acc h_to_acc h_int_to_reg h_int_to_acc = function
    168 | From_acc (x_1573, x_1572) -> h_from_acc x_1573 x_1572
    169 | To_acc (x_1575, x_1574) -> h_to_acc x_1575 x_1574
    170 | Int_to_reg (x_1577, x_1576) -> h_int_to_reg x_1577 x_1576
    171 | Int_to_acc (x_1579, x_1578) -> h_int_to_acc x_1579 x_1578
     168| From_acc (x_21568, x_21567) -> h_from_acc x_21568 x_21567
     169| To_acc (x_21570, x_21569) -> h_to_acc x_21570 x_21569
     170| Int_to_reg (x_21572, x_21571) -> h_int_to_reg x_21572 x_21571
     171| Int_to_acc (x_21574, x_21573) -> h_int_to_acc x_21574 x_21573
    172172
    173173(** val registers_move_inv_rect_Type4 :
     
    241241| SAVE_CARRY -> h_SAVE_CARRY
    242242| RESTORE_CARRY -> h_RESTORE_CARRY
    243 | LOW_ADDRESS (x_1673, x_1672) -> h_LOW_ADDRESS x_1673 x_1672
    244 | HIGH_ADDRESS (x_1675, x_1674) -> h_HIGH_ADDRESS x_1675 x_1674
     243| LOW_ADDRESS (x_21668, x_21667) -> h_LOW_ADDRESS x_21668 x_21667
     244| HIGH_ADDRESS (x_21670, x_21669) -> h_HIGH_ADDRESS x_21670 x_21669
    245245
    246246(** val ltl_lin_seq_rect_Type5 :
     
    250250| SAVE_CARRY -> h_SAVE_CARRY
    251251| RESTORE_CARRY -> h_RESTORE_CARRY
    252 | LOW_ADDRESS (x_1682, x_1681) -> h_LOW_ADDRESS x_1682 x_1681
    253 | HIGH_ADDRESS (x_1684, x_1683) -> h_HIGH_ADDRESS x_1684 x_1683
     252| LOW_ADDRESS (x_21677, x_21676) -> h_LOW_ADDRESS x_21677 x_21676
     253| HIGH_ADDRESS (x_21679, x_21678) -> h_HIGH_ADDRESS x_21679 x_21678
    254254
    255255(** val ltl_lin_seq_rect_Type3 :
     
    259259| SAVE_CARRY -> h_SAVE_CARRY
    260260| RESTORE_CARRY -> h_RESTORE_CARRY
    261 | LOW_ADDRESS (x_1691, x_1690) -> h_LOW_ADDRESS x_1691 x_1690
    262 | HIGH_ADDRESS (x_1693, x_1692) -> h_HIGH_ADDRESS x_1693 x_1692
     261| LOW_ADDRESS (x_21686, x_21685) -> h_LOW_ADDRESS x_21686 x_21685
     262| HIGH_ADDRESS (x_21688, x_21687) -> h_HIGH_ADDRESS x_21688 x_21687
    263263
    264264(** val ltl_lin_seq_rect_Type2 :
     
    268268| SAVE_CARRY -> h_SAVE_CARRY
    269269| RESTORE_CARRY -> h_RESTORE_CARRY
    270 | LOW_ADDRESS (x_1700, x_1699) -> h_LOW_ADDRESS x_1700 x_1699
    271 | HIGH_ADDRESS (x_1702, x_1701) -> h_HIGH_ADDRESS x_1702 x_1701
     270| LOW_ADDRESS (x_21695, x_21694) -> h_LOW_ADDRESS x_21695 x_21694
     271| HIGH_ADDRESS (x_21697, x_21696) -> h_HIGH_ADDRESS x_21697 x_21696
    272272
    273273(** val ltl_lin_seq_rect_Type1 :
     
    277277| SAVE_CARRY -> h_SAVE_CARRY
    278278| RESTORE_CARRY -> h_RESTORE_CARRY
    279 | LOW_ADDRESS (x_1709, x_1708) -> h_LOW_ADDRESS x_1709 x_1708
    280 | HIGH_ADDRESS (x_1711, x_1710) -> h_HIGH_ADDRESS x_1711 x_1710
     279| LOW_ADDRESS (x_21704, x_21703) -> h_LOW_ADDRESS x_21704 x_21703
     280| HIGH_ADDRESS (x_21706, x_21705) -> h_HIGH_ADDRESS x_21706 x_21705
    281281
    282282(** val ltl_lin_seq_rect_Type0 :
     
    286286| SAVE_CARRY -> h_SAVE_CARRY
    287287| RESTORE_CARRY -> h_RESTORE_CARRY
    288 | LOW_ADDRESS (x_1718, x_1717) -> h_LOW_ADDRESS x_1718 x_1717
    289 | HIGH_ADDRESS (x_1720, x_1719) -> h_HIGH_ADDRESS x_1720 x_1719
     288| LOW_ADDRESS (x_21713, x_21712) -> h_LOW_ADDRESS x_21713 x_21712
     289| HIGH_ADDRESS (x_21715, x_21714) -> h_HIGH_ADDRESS x_21715 x_21714
    290290
    291291(** val ltl_lin_seq_inv_rect_Type4 :
  • extracted/joint_LTL_LIN_semantics.ml

    r2854 r2867  
    191191
    192192(** val ltl_lin_fetch_external_args :
    193     AST.external_function -> Joint_semantics.state -> Values.val0 List.list
    194     Errors.res **)
     193    AST.external_function -> Joint_semantics.state -> Nat.nat -> Values.val0
     194    List.list Errors.res **)
    195195let ltl_lin_fetch_external_args _ =
    196196  failwith "AXIOM TO BE REALIZED"
     
    220220    Joint_semantics.push_ra lTL_LIN_state st.Joint_semantics.st_no_pc
    221221      st.Joint_semantics.pc
     222
     223(** val eval_LTL_LIN_ext_seq :
     224    AST.ident List.list -> 'a1 Joint_semantics.genv_gen ->
     225    Joint_LTL_LIN.ltl_lin_seq -> AST.ident -> Joint_semantics.state ->
     226    Joint_semantics.state Errors.res **)
     227let eval_LTL_LIN_ext_seq globals ge s curr_id st =
     228  match s with
     229  | Joint_LTL_LIN.SAVE_CARRY ->
     230    let regs =
     231      SemanticsUtils.hwreg_set_other st.Joint_semantics.carry
     232        (Obj.magic st.Joint_semantics.regs)
     233    in
     234    Obj.magic
     235      (Monad.m_return0 (Monad.max_def Errors.res0)
     236        (Joint_semantics.set_regs lTL_LIN_state (Obj.magic regs) st))
     237  | Joint_LTL_LIN.RESTORE_CARRY ->
     238    let carry = (Obj.magic st.Joint_semantics.regs).SemanticsUtils.other_bit
     239    in
     240    Obj.magic
     241      (Monad.m_return0 (Monad.max_def Errors.res0)
     242        (Joint_semantics.set_carry lTL_LIN_state carry st))
     243  | Joint_LTL_LIN.LOW_ADDRESS (r, l) ->
     244    Obj.magic
     245      (Monad.m_bind0 (Monad.max_def Errors.res0)
     246        (Obj.magic (ge.Joint_semantics.get_pc_from_label curr_id l))
     247        (fun pc_lab ->
     248        let { Types.fst = addrl; Types.snd = addrh } =
     249          ByteValues.beval_pair_of_pc pc_lab
     250        in
     251        let regs =
     252          SemanticsUtils.hwreg_store r addrl
     253            (Obj.magic st.Joint_semantics.regs)
     254        in
     255        Monad.m_return0 (Monad.max_def Errors.res0)
     256          (Joint_semantics.set_regs lTL_LIN_state (Obj.magic regs) st)))
     257  | Joint_LTL_LIN.HIGH_ADDRESS (r, l) ->
     258    Obj.magic
     259      (Monad.m_bind0 (Monad.max_def Errors.res0)
     260        (Obj.magic (ge.Joint_semantics.get_pc_from_label curr_id l))
     261        (fun pc_lab ->
     262        let { Types.fst = addrl; Types.snd = addrh } =
     263          ByteValues.beval_pair_of_pc pc_lab
     264        in
     265        let regs =
     266          SemanticsUtils.hwreg_store r addrh
     267            (Obj.magic st.Joint_semantics.regs)
     268        in
     269        Monad.m_return0 (Monad.max_def Errors.res0)
     270          (Joint_semantics.set_regs lTL_LIN_state (Obj.magic regs) st)))
    222271
    223272(** val lTL_LIN_semantics : 'a1 Joint_semantics.sem_unserialized_params **)
     
    252301    Joint_semantics.setup_call = (fun x x0 x1 st ->
    253302    Obj.magic (Monad.m_return0 (Monad.max_def Errors.res0) st));
    254     Joint_semantics.fetch_external_args = (fun _ -> assert false (* absurd case *));
    255     Joint_semantics.set_result = (Obj.magic ltl_lin_set_result);
    256     Joint_semantics.call_args_for_main = (Obj.magic Nat.O);
    257     Joint_semantics.call_dest_for_main = (Obj.magic Types.It);
    258     Joint_semantics.read_result = (fun x x0 x1 st ->
     303    Joint_semantics.fetch_external_args =
     304    (Obj.magic ltl_lin_fetch_external_args); Joint_semantics.set_result =
     305    (Obj.magic ltl_lin_set_result); Joint_semantics.call_args_for_main =
     306    (Obj.magic Nat.O); Joint_semantics.call_dest_for_main =
     307    (Obj.magic Types.It); Joint_semantics.read_result = (fun x x0 x1 st ->
    259308    Obj.magic
    260309      (Monad.m_return0 (Monad.max_def Errors.res0)
    261310        (List.map
    262311          (SemanticsUtils.hwreg_retrieve (Obj.magic st.Joint_semantics.regs))
    263           I8051.registerRets))); Joint_semantics.eval_ext_seq = (fun _ -> assert false
    264     (* absurd case *)); Joint_semantics.pop_frame = (fun x x0 x1 x2 st ->
    265     Joint_semantics.pop_ra lTL_LIN_state st) }
    266 
     312          I8051.registerRets))); Joint_semantics.eval_ext_seq =
     313    (Obj.magic eval_LTL_LIN_ext_seq); Joint_semantics.pop_frame =
     314    (fun x x0 x1 x2 st -> Joint_semantics.pop_ra lTL_LIN_state st) }
     315
  • extracted/joint_LTL_LIN_semantics.mli

    r2829 r2867  
    170170
    171171val ltl_lin_fetch_external_args :
    172   AST.external_function -> Joint_semantics.state -> Values.val0 List.list
    173   Errors.res
     172  AST.external_function -> Joint_semantics.state -> Nat.nat -> Values.val0
     173  List.list Errors.res
    174174
    175175val ltl_lin_set_result :
     
    185185  Joint_semantics.state Errors.res
    186186
     187val eval_LTL_LIN_ext_seq :
     188  AST.ident List.list -> 'a1 Joint_semantics.genv_gen ->
     189  Joint_LTL_LIN.ltl_lin_seq -> AST.ident -> Joint_semantics.state ->
     190  Joint_semantics.state Errors.res
     191
    187192val lTL_LIN_semantics : __ Joint_semantics.sem_unserialized_params
    188193
  • extracted/joint_fullexec.ml

    r2829 r2867  
    149149    Joint_semantics.sem_params -> (AST.ident List.list ->
    150150    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    151 let rec joint_global_rect_Type4 p h_mk_joint_global x_3 =
    152   let { jglobals = jglobals0; jgenv = jgenv0 } = x_3 in
     151let rec joint_global_rect_Type4 p h_mk_joint_global x_25944 =
     152  let { jglobals = jglobals0; jgenv = jgenv0 } = x_25944 in
    153153  h_mk_joint_global jglobals0 jgenv0
    154154
     
    156156    Joint_semantics.sem_params -> (AST.ident List.list ->
    157157    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    158 let rec joint_global_rect_Type5 p h_mk_joint_global x_5 =
    159   let { jglobals = jglobals0; jgenv = jgenv0 } = x_5 in
     158let rec joint_global_rect_Type5 p h_mk_joint_global x_25946 =
     159  let { jglobals = jglobals0; jgenv = jgenv0 } = x_25946 in
    160160  h_mk_joint_global jglobals0 jgenv0
    161161
     
    163163    Joint_semantics.sem_params -> (AST.ident List.list ->
    164164    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    165 let rec joint_global_rect_Type3 p h_mk_joint_global x_7 =
    166   let { jglobals = jglobals0; jgenv = jgenv0 } = x_7 in
     165let rec joint_global_rect_Type3 p h_mk_joint_global x_25948 =
     166  let { jglobals = jglobals0; jgenv = jgenv0 } = x_25948 in
    167167  h_mk_joint_global jglobals0 jgenv0
    168168
     
    170170    Joint_semantics.sem_params -> (AST.ident List.list ->
    171171    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    172 let rec joint_global_rect_Type2 p h_mk_joint_global x_9 =
    173   let { jglobals = jglobals0; jgenv = jgenv0 } = x_9 in
     172let rec joint_global_rect_Type2 p h_mk_joint_global x_25950 =
     173  let { jglobals = jglobals0; jgenv = jgenv0 } = x_25950 in
    174174  h_mk_joint_global jglobals0 jgenv0
    175175
     
    177177    Joint_semantics.sem_params -> (AST.ident List.list ->
    178178    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    179 let rec joint_global_rect_Type1 p h_mk_joint_global x_11 =
    180   let { jglobals = jglobals0; jgenv = jgenv0 } = x_11 in
     179let rec joint_global_rect_Type1 p h_mk_joint_global x_25952 =
     180  let { jglobals = jglobals0; jgenv = jgenv0 } = x_25952 in
    181181  h_mk_joint_global jglobals0 jgenv0
    182182
     
    184184    Joint_semantics.sem_params -> (AST.ident List.list ->
    185185    Joint_semantics.genv -> 'a1) -> joint_global -> 'a1 **)
    186 let rec joint_global_rect_Type0 p h_mk_joint_global x_13 =
    187   let { jglobals = jglobals0; jgenv = jgenv0 } = x_13 in
     186let rec joint_global_rect_Type0 p h_mk_joint_global x_25954 =
     187  let { jglobals = jglobals0; jgenv = jgenv0 } = x_25954 in
    188188  h_mk_joint_global jglobals0 jgenv0
    189189
  • extracted/joint_printer.ml

    r2859 r2867  
    411411    (BackEndOps.op2 -> 'a1) -> 'a2) -> 'a1 printing_pass_independent_params
    412412    -> 'a2 **)
    413 let rec printing_pass_independent_params_rect_Type4 h_mk_printing_pass_independent_params x_263 =
     413let rec printing_pass_independent_params_rect_Type4 h_mk_printing_pass_independent_params x_549 =
    414414  let { print_String = print_String0; print_keyword = print_keyword0;
    415415    print_concat = print_concat0; print_empty = print_empty0; print_ident =
    416416    print_ident0; print_costlabel = print_costlabel0; print_label =
    417417    print_label0; print_OpAccs = print_OpAccs0; print_Op1 = print_Op3;
    418     print_Op2 = print_Op4 } = x_263
     418    print_Op2 = print_Op4 } = x_549
    419419  in
    420420  h_mk_printing_pass_independent_params print_String0 print_keyword0
     
    428428    (BackEndOps.op2 -> 'a1) -> 'a2) -> 'a1 printing_pass_independent_params
    429429    -> 'a2 **)
    430 let rec printing_pass_independent_params_rect_Type5 h_mk_printing_pass_independent_params x_265 =
     430let rec printing_pass_independent_params_rect_Type5 h_mk_printing_pass_independent_params x_551 =
    431431  let { print_String = print_String0; print_keyword = print_keyword0;
    432432    print_concat = print_concat0; print_empty = print_empty0; print_ident =
    433433    print_ident0; print_costlabel = print_costlabel0; print_label =
    434434    print_label0; print_OpAccs = print_OpAccs0; print_Op1 = print_Op3;
    435     print_Op2 = print_Op4 } = x_265
     435    print_Op2 = print_Op4 } = x_551
    436436  in
    437437  h_mk_printing_pass_independent_params print_String0 print_keyword0
     
    445445    (BackEndOps.op2 -> 'a1) -> 'a2) -> 'a1 printing_pass_independent_params
    446446    -> 'a2 **)
    447 let rec printing_pass_independent_params_rect_Type3 h_mk_printing_pass_independent_params x_267 =
     447let rec printing_pass_independent_params_rect_Type3 h_mk_printing_pass_independent_params x_553 =
    448448  let { print_String = print_String0; print_keyword = print_keyword0;
    449449    print_concat = print_concat0; print_empty = print_empty0; print_ident =
    450450    print_ident0; print_costlabel = print_costlabel0; print_label =
    451451    print_label0; print_OpAccs = print_OpAccs0; print_Op1 = print_Op3;
    452     print_Op2 = print_Op4 } = x_267
     452    print_Op2 = print_Op4 } = x_553
    453453  in
    454454  h_mk_printing_pass_independent_params print_String0 print_keyword0
     
    462462    (BackEndOps.op2 -> 'a1) -> 'a2) -> 'a1 printing_pass_independent_params
    463463    -> 'a2 **)
    464 let rec printing_pass_independent_params_rect_Type2 h_mk_printing_pass_independent_params x_269 =
     464let rec printing_pass_independent_params_rect_Type2 h_mk_printing_pass_independent_params x_555 =
    465465  let { print_String = print_String0; print_keyword = print_keyword0;
    466466    print_concat = print_concat0; print_empty = print_empty0; print_ident =
    467467    print_ident0; print_costlabel = print_costlabel0; print_label =
    468468    print_label0; print_OpAccs = print_OpAccs0; print_Op1 = print_Op3;
    469     print_Op2 = print_Op4 } = x_269
     469    print_Op2 = print_Op4 } = x_555
    470470  in
    471471  h_mk_printing_pass_independent_params print_String0 print_keyword0
     
    479479    (BackEndOps.op2 -> 'a1) -> 'a2) -> 'a1 printing_pass_independent_params
    480480    -> 'a2 **)
    481 let rec printing_pass_independent_params_rect_Type1 h_mk_printing_pass_independent_params x_271 =
     481let rec printing_pass_independent_params_rect_Type1 h_mk_printing_pass_independent_params x_557 =
    482482  let { print_String = print_String0; print_keyword = print_keyword0;
    483483    print_concat = print_concat0; print_empty = print_empty0; print_ident =
    484484    print_ident0; print_costlabel = print_costlabel0; print_label =
    485485    print_label0; print_OpAccs = print_OpAccs0; print_Op1 = print_Op3;
    486     print_Op2 = print_Op4 } = x_271
     486    print_Op2 = print_Op4 } = x_557
    487487  in
    488488  h_mk_printing_pass_independent_params print_String0 print_keyword0
     
    496496    (BackEndOps.op2 -> 'a1) -> 'a2) -> 'a1 printing_pass_independent_params
    497497    -> 'a2 **)
    498 let rec printing_pass_independent_params_rect_Type0 h_mk_printing_pass_independent_params x_273 =
     498let rec printing_pass_independent_params_rect_Type0 h_mk_printing_pass_independent_params x_559 =
    499499  let { print_String = print_String0; print_keyword = print_keyword0;
    500500    print_concat = print_concat0; print_empty = print_empty0; print_ident =
    501501    print_ident0; print_costlabel = print_costlabel0; print_label =
    502502    print_label0; print_OpAccs = print_OpAccs0; print_Op1 = print_Op3;
    503     print_Op2 = print_Op4 } = x_273
     503    print_Op2 = print_Op4 } = x_559
    504504  in
    505505  h_mk_printing_pass_independent_params print_String0 print_keyword0
     
    635635    -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a2) -> 'a1
    636636    printing_params -> 'a2 **)
    637 let rec printing_params_rect_Type4 p h_mk_printing_params x_299 =
     637let rec printing_params_rect_Type4 p h_mk_printing_params x_585 =
    638638  let { print_pass_ind = print_pass_ind0; print_acc_a_reg = print_acc_a_reg0;
    639639    print_acc_b_reg = print_acc_b_reg0; print_acc_a_arg = print_acc_a_arg0;
     
    643643    print_pair_move = print_pair_move0; print_call_args = print_call_args0;
    644644    print_call_dest = print_call_dest0; print_ext_seq = print_ext_seq0 } =
    645     x_299
     645    x_585
    646646  in
    647647  h_mk_printing_params print_pass_ind0 print_acc_a_reg0 print_acc_b_reg0
     
    656656    -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a2) -> 'a1
    657657    printing_params -> 'a2 **)
    658 let rec printing_params_rect_Type5 p h_mk_printing_params x_301 =
     658let rec printing_params_rect_Type5 p h_mk_printing_params x_587 =
    659659  let { print_pass_ind = print_pass_ind0; print_acc_a_reg = print_acc_a_reg0;
    660660    print_acc_b_reg = print_acc_b_reg0; print_acc_a_arg = print_acc_a_arg0;
     
    664664    print_pair_move = print_pair_move0; print_call_args = print_call_args0;
    665665    print_call_dest = print_call_dest0; print_ext_seq = print_ext_seq0 } =
    666     x_301
     666    x_587
    667667  in
    668668  h_mk_printing_params print_pass_ind0 print_acc_a_reg0 print_acc_b_reg0
     
    677677    -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a2) -> 'a1
    678678    printing_params -> 'a2 **)
    679 let rec printing_params_rect_Type3 p h_mk_printing_params x_303 =
     679let rec printing_params_rect_Type3 p h_mk_printing_params x_589 =
    680680  let { print_pass_ind = print_pass_ind0; print_acc_a_reg = print_acc_a_reg0;
    681681    print_acc_b_reg = print_acc_b_reg0; print_acc_a_arg = print_acc_a_arg0;
     
    685685    print_pair_move = print_pair_move0; print_call_args = print_call_args0;
    686686    print_call_dest = print_call_dest0; print_ext_seq = print_ext_seq0 } =
    687     x_303
     687    x_589
    688688  in
    689689  h_mk_printing_params print_pass_ind0 print_acc_a_reg0 print_acc_b_reg0
     
    698698    -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a2) -> 'a1
    699699    printing_params -> 'a2 **)
    700 let rec printing_params_rect_Type2 p h_mk_printing_params x_305 =
     700let rec printing_params_rect_Type2 p h_mk_printing_params x_591 =
    701701  let { print_pass_ind = print_pass_ind0; print_acc_a_reg = print_acc_a_reg0;
    702702    print_acc_b_reg = print_acc_b_reg0; print_acc_a_arg = print_acc_a_arg0;
     
    706706    print_pair_move = print_pair_move0; print_call_args = print_call_args0;
    707707    print_call_dest = print_call_dest0; print_ext_seq = print_ext_seq0 } =
    708     x_305
     708    x_591
    709709  in
    710710  h_mk_printing_params print_pass_ind0 print_acc_a_reg0 print_acc_b_reg0
     
    719719    -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a2) -> 'a1
    720720    printing_params -> 'a2 **)
    721 let rec printing_params_rect_Type1 p h_mk_printing_params x_307 =
     721let rec printing_params_rect_Type1 p h_mk_printing_params x_593 =
    722722  let { print_pass_ind = print_pass_ind0; print_acc_a_reg = print_acc_a_reg0;
    723723    print_acc_b_reg = print_acc_b_reg0; print_acc_a_arg = print_acc_a_arg0;
     
    727727    print_pair_move = print_pair_move0; print_call_args = print_call_args0;
    728728    print_call_dest = print_call_dest0; print_ext_seq = print_ext_seq0 } =
    729     x_307
     729    x_593
    730730  in
    731731  h_mk_printing_params print_pass_ind0 print_acc_a_reg0 print_acc_b_reg0
     
    740740    -> (__ -> 'a1) -> (__ -> 'a1) -> (__ -> 'a1) -> 'a2) -> 'a1
    741741    printing_params -> 'a2 **)
    742 let rec printing_params_rect_Type0 p h_mk_printing_params x_309 =
     742let rec printing_params_rect_Type0 p h_mk_printing_params x_595 =
    743743  let { print_pass_ind = print_pass_ind0; print_acc_a_reg = print_acc_a_reg0;
    744744    print_acc_b_reg = print_acc_b_reg0; print_acc_a_arg = print_acc_a_arg0;
     
    748748    print_pair_move = print_pair_move0; print_call_args = print_call_args0;
    749749    print_call_dest = print_call_dest0; print_ext_seq = print_ext_seq0 } =
    750     x_309
     750    x_595
    751751  in
    752752  h_mk_printing_params print_pass_ind0 print_acc_a_reg0 print_acc_b_reg0
     
    925925    Joint.joint_statement -> __ -> __) -> __ -> __ -> __) -> (__ -> 'a1) ->
    926926    (__ -> 'a1) -> 'a2) -> 'a1 code_iteration_params -> 'a2 **)
    927 let rec code_iteration_params_rect_Type4 p globals h_mk_code_iteration_params x_338 =
     927let rec code_iteration_params_rect_Type4 p globals h_mk_code_iteration_params x_624 =
    928928  let { fold_code = fold_code0; print_succ = print_succ0; print_code_point =
    929     print_code_point0 } = x_338
     929    print_code_point0 } = x_624
    930930  in
    931931  h_mk_code_iteration_params fold_code0 print_succ0 print_code_point0
     
    935935    Joint.joint_statement -> __ -> __) -> __ -> __ -> __) -> (__ -> 'a1) ->
    936936    (__ -> 'a1) -> 'a2) -> 'a1 code_iteration_params -> 'a2 **)
    937 let rec code_iteration_params_rect_Type5 p globals h_mk_code_iteration_params x_340 =
     937let rec code_iteration_params_rect_Type5 p globals h_mk_code_iteration_params x_626 =
    938938  let { fold_code = fold_code0; print_succ = print_succ0; print_code_point =
    939     print_code_point0 } = x_340
     939    print_code_point0 } = x_626
    940940  in
    941941  h_mk_code_iteration_params fold_code0 print_succ0 print_code_point0
     
    945945    Joint.joint_statement -> __ -> __) -> __ -> __ -> __) -> (__ -> 'a1) ->
    946946    (__ -> 'a1) -> 'a2) -> 'a1 code_iteration_params -> 'a2 **)
    947 let rec code_iteration_params_rect_Type3 p globals h_mk_code_iteration_params x_342 =
     947let rec code_iteration_params_rect_Type3 p globals h_mk_code_iteration_params x_628 =
    948948  let { fold_code = fold_code0; print_succ = print_succ0; print_code_point =
    949     print_code_point0 } = x_342
     949    print_code_point0 } = x_628
    950950  in
    951951  h_mk_code_iteration_params fold_code0 print_succ0 print_code_point0
     
    955955    Joint.joint_statement -> __ -> __) -> __ -> __ -> __) -> (__ -> 'a1) ->
    956956    (__ -> 'a1) -> 'a2) -> 'a1 code_iteration_params -> 'a2 **)
    957 let rec code_iteration_params_rect_Type2 p globals h_mk_code_iteration_params x_344 =
     957let rec code_iteration_params_rect_Type2 p globals h_mk_code_iteration_params x_630 =
    958958  let { fold_code = fold_code0; print_succ = print_succ0; print_code_point =
    959     print_code_point0 } = x_344
     959    print_code_point0 } = x_630
    960960  in
    961961  h_mk_code_iteration_params fold_code0 print_succ0 print_code_point0
     
    965965    Joint.joint_statement -> __ -> __) -> __ -> __ -> __) -> (__ -> 'a1) ->
    966966    (__ -> 'a1) -> 'a2) -> 'a1 code_iteration_params -> 'a2 **)
    967 let rec code_iteration_params_rect_Type1 p globals h_mk_code_iteration_params x_346 =
     967let rec code_iteration_params_rect_Type1 p globals h_mk_code_iteration_params x_632 =
    968968  let { fold_code = fold_code0; print_succ = print_succ0; print_code_point =
    969     print_code_point0 } = x_346
     969    print_code_point0 } = x_632
    970970  in
    971971  h_mk_code_iteration_params fold_code0 print_succ0 print_code_point0
     
    975975    Joint.joint_statement -> __ -> __) -> __ -> __ -> __) -> (__ -> 'a1) ->
    976976    (__ -> 'a1) -> 'a2) -> 'a1 code_iteration_params -> 'a2 **)
    977 let rec code_iteration_params_rect_Type0 p globals h_mk_code_iteration_params x_348 =
     977let rec code_iteration_params_rect_Type0 p globals h_mk_code_iteration_params x_634 =
    978978  let { fold_code = fold_code0; print_succ = print_succ0; print_code_point =
    979     print_code_point0 } = x_348
     979    print_code_point0 } = x_634
    980980  in
    981981  h_mk_code_iteration_params fold_code0 print_succ0 print_code_point0
     
    984984    Joint.params -> AST.ident List.list -> 'a1 code_iteration_params -> (__
    985985    -> Joint.joint_statement -> 'a2 -> 'a2) -> __ -> 'a2 -> 'a2 **)
    986 let rec fold_code0 p globals xxx x_364 x_365 x_366 =
     986let rec fold_code0 p globals xxx x_650 x_651 x_652 =
    987987  (let { fold_code = yyy; print_succ = x; print_code_point = x0 } = xxx in
    988   Obj.magic yyy) __ x_364 x_365 x_366
     988  Obj.magic yyy) __ x_650 x_651 x_652
    989989
    990990(** val print_succ :
     
    10671067   | Types.None -> b
    10681068   | Types.Some res ->
    1069      let { Types.fst = eta2; Types.snd = m' } = res in
    1070      let { Types.fst = pos; Types.snd = a } = eta2 in
     1069     let { Types.fst = eta6; Types.snd = m' } = res in
     1070     let { Types.fst = pos; Types.snd = a } = eta6 in
    10711071     visit_graph next f (f pos a b) (next a) m' y)
    10721072
  • extracted/joint_semantics.ml

    r2829 r2867  
    141141    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    142142    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    143 let rec genv_gen_rect_Type4 globals h_mk_genv_gen x_3 =
     143let rec genv_gen_rect_Type4 globals h_mk_genv_gen x_25541 =
    144144  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    145     get_pc_from_label0 } = x_3
     145    get_pc_from_label0 } = x_25541
    146146  in
    147147  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    151151    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    152152    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    153 let rec genv_gen_rect_Type5 globals h_mk_genv_gen x_5 =
     153let rec genv_gen_rect_Type5 globals h_mk_genv_gen x_25543 =
    154154  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    155     get_pc_from_label0 } = x_5
     155    get_pc_from_label0 } = x_25543
    156156  in
    157157  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    161161    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    162162    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    163 let rec genv_gen_rect_Type3 globals h_mk_genv_gen x_7 =
     163let rec genv_gen_rect_Type3 globals h_mk_genv_gen x_25545 =
    164164  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    165     get_pc_from_label0 } = x_7
     165    get_pc_from_label0 } = x_25545
    166166  in
    167167  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    171171    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    172172    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    173 let rec genv_gen_rect_Type2 globals h_mk_genv_gen x_9 =
     173let rec genv_gen_rect_Type2 globals h_mk_genv_gen x_25547 =
    174174  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    175     get_pc_from_label0 } = x_9
     175    get_pc_from_label0 } = x_25547
    176176  in
    177177  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    181181    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    182182    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    183 let rec genv_gen_rect_Type1 globals h_mk_genv_gen x_11 =
     183let rec genv_gen_rect_Type1 globals h_mk_genv_gen x_25549 =
    184184  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    185     get_pc_from_label0 } = x_11
     185    get_pc_from_label0 } = x_25549
    186186  in
    187187  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    191191    (AST.ident -> Nat.nat Types.option) -> (AST.ident -> Graphs.label ->
    192192    ByteValues.program_counter Errors.res) -> 'a2) -> 'a1 genv_gen -> 'a2 **)
    193 let rec genv_gen_rect_Type0 globals h_mk_genv_gen x_13 =
     193let rec genv_gen_rect_Type0 globals h_mk_genv_gen x_25551 =
    194194  let { ge = ge0; stack_sizes = stack_sizes0; get_pc_from_label =
    195     get_pc_from_label0 } = x_13
     195    get_pc_from_label0 } = x_25551
    196196  in
    197197  h_mk_genv_gen ge0 __ stack_sizes0 get_pc_from_label0
     
    341341    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    342342    'a1) -> sem_state_params -> 'a1 **)
    343 let rec sem_state_params_rect_Type4 h_mk_sem_state_params x_33 =
     343let rec sem_state_params_rect_Type4 h_mk_sem_state_params x_25571 =
    344344  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    345     load_sp0; save_sp = save_sp0 } = x_33
     345    load_sp0; save_sp = save_sp0 } = x_25571
    346346  in
    347347  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    351351    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    352352    'a1) -> sem_state_params -> 'a1 **)
    353 let rec sem_state_params_rect_Type5 h_mk_sem_state_params x_35 =
     353let rec sem_state_params_rect_Type5 h_mk_sem_state_params x_25573 =
    354354  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    355     load_sp0; save_sp = save_sp0 } = x_35
     355    load_sp0; save_sp = save_sp0 } = x_25573
    356356  in
    357357  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    361361    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    362362    'a1) -> sem_state_params -> 'a1 **)
    363 let rec sem_state_params_rect_Type3 h_mk_sem_state_params x_37 =
     363let rec sem_state_params_rect_Type3 h_mk_sem_state_params x_25575 =
    364364  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    365     load_sp0; save_sp = save_sp0 } = x_37
     365    load_sp0; save_sp = save_sp0 } = x_25575
    366366  in
    367367  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    371371    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    372372    'a1) -> sem_state_params -> 'a1 **)
    373 let rec sem_state_params_rect_Type2 h_mk_sem_state_params x_39 =
     373let rec sem_state_params_rect_Type2 h_mk_sem_state_params x_25577 =
    374374  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    375     load_sp0; save_sp = save_sp0 } = x_39
     375    load_sp0; save_sp = save_sp0 } = x_25577
    376376  in
    377377  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    381381    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    382382    'a1) -> sem_state_params -> 'a1 **)
    383 let rec sem_state_params_rect_Type1 h_mk_sem_state_params x_41 =
     383let rec sem_state_params_rect_Type1 h_mk_sem_state_params x_25579 =
    384384  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    385     load_sp0; save_sp = save_sp0 } = x_41
     385    load_sp0; save_sp = save_sp0 } = x_25579
    386386  in
    387387  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    391391    ByteValues.xpointer Errors.res) -> (__ -> ByteValues.xpointer -> __) ->
    392392    'a1) -> sem_state_params -> 'a1 **)
    393 let rec sem_state_params_rect_Type0 h_mk_sem_state_params x_43 =
     393let rec sem_state_params_rect_Type0 h_mk_sem_state_params x_25581 =
    394394  let { empty_framesT = empty_framesT0; empty_regsT = empty_regsT0; load_sp =
    395     load_sp0; save_sp = save_sp0 } = x_43
     395    load_sp0; save_sp = save_sp0 } = x_25581
    396396  in
    397397  h_mk_sem_state_params __ empty_framesT0 __ empty_regsT0 load_sp0 save_sp0
     
    472472let rec internal_stack_rect_Type4 h_empty_is h_one_is h_both_is = function
    473473| Empty_is -> h_empty_is
    474 | One_is x_69 -> h_one_is x_69
    475 | Both_is (x_71, x_70) -> h_both_is x_71 x_70
     474| One_is x_25607 -> h_one_is x_25607
     475| Both_is (x_25609, x_25608) -> h_both_is x_25609 x_25608
    476476
    477477(** val internal_stack_rect_Type5 :
     
    480480let rec internal_stack_rect_Type5 h_empty_is h_one_is h_both_is = function
    481481| Empty_is -> h_empty_is
    482 | One_is x_76 -> h_one_is x_76
    483 | Both_is (x_78, x_77) -> h_both_is x_78 x_77
     482| One_is x_25614 -> h_one_is x_25614
     483| Both_is (x_25616, x_25615) -> h_both_is x_25616 x_25615
    484484
    485485(** val internal_stack_rect_Type3 :
     
    488488let rec internal_stack_rect_Type3 h_empty_is h_one_is h_both_is = function
    489489| Empty_is -> h_empty_is
    490 | One_is x_83 -> h_one_is x_83
    491 | Both_is (x_85, x_84) -> h_both_is x_85 x_84
     490| One_is x_25621 -> h_one_is x_25621
     491| Both_is (x_25623, x_25622) -> h_both_is x_25623 x_25622
    492492
    493493(** val internal_stack_rect_Type2 :
     
    496496let rec internal_stack_rect_Type2 h_empty_is h_one_is h_both_is = function
    497497| Empty_is -> h_empty_is
    498 | One_is x_90 -> h_one_is x_90
    499 | Both_is (x_92, x_91) -> h_both_is x_92 x_91
     498| One_is x_25628 -> h_one_is x_25628
     499| Both_is (x_25630, x_25629) -> h_both_is x_25630 x_25629
    500500
    501501(** val internal_stack_rect_Type1 :
     
    504504let rec internal_stack_rect_Type1 h_empty_is h_one_is h_both_is = function
    505505| Empty_is -> h_empty_is
    506 | One_is x_97 -> h_one_is x_97
    507 | Both_is (x_99, x_98) -> h_both_is x_99 x_98
     506| One_is x_25635 -> h_one_is x_25635
     507| Both_is (x_25637, x_25636) -> h_both_is x_25637 x_25636
    508508
    509509(** val internal_stack_rect_Type0 :
     
    512512let rec internal_stack_rect_Type0 h_empty_is h_one_is h_both_is = function
    513513| Empty_is -> h_empty_is
    514 | One_is x_104 -> h_one_is x_104
    515 | Both_is (x_106, x_105) -> h_both_is x_106 x_105
     514| One_is x_25642 -> h_one_is x_25642
     515| Both_is (x_25644, x_25643) -> h_both_is x_25644 x_25643
    516516
    517517(** val internal_stack_inv_rect_Type4 :
     
    596596    sem_state_params -> (__ Types.option -> internal_stack ->
    597597    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    598 let rec state_rect_Type4 semp h_mk_state x_154 =
     598let rec state_rect_Type4 semp h_mk_state x_25692 =
    599599  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    600     m = m0 } = x_154
     600    m = m0 } = x_25692
    601601  in
    602602  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    605605    sem_state_params -> (__ Types.option -> internal_stack ->
    606606    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    607 let rec state_rect_Type5 semp h_mk_state x_156 =
     607let rec state_rect_Type5 semp h_mk_state x_25694 =
    608608  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    609     m = m0 } = x_156
     609    m = m0 } = x_25694
    610610  in
    611611  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    614614    sem_state_params -> (__ Types.option -> internal_stack ->
    615615    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    616 let rec state_rect_Type3 semp h_mk_state x_158 =
     616let rec state_rect_Type3 semp h_mk_state x_25696 =
    617617  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    618     m = m0 } = x_158
     618    m = m0 } = x_25696
    619619  in
    620620  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    623623    sem_state_params -> (__ Types.option -> internal_stack ->
    624624    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    625 let rec state_rect_Type2 semp h_mk_state x_160 =
     625let rec state_rect_Type2 semp h_mk_state x_25698 =
    626626  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    627     m = m0 } = x_160
     627    m = m0 } = x_25698
    628628  in
    629629  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    632632    sem_state_params -> (__ Types.option -> internal_stack ->
    633633    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    634 let rec state_rect_Type1 semp h_mk_state x_162 =
     634let rec state_rect_Type1 semp h_mk_state x_25700 =
    635635  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    636     m = m0 } = x_162
     636    m = m0 } = x_25700
    637637  in
    638638  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    641641    sem_state_params -> (__ Types.option -> internal_stack ->
    642642    ByteValues.bebit -> __ -> BEMem.bemem -> 'a1) -> state -> 'a1 **)
    643 let rec state_rect_Type0 semp h_mk_state x_164 =
     643let rec state_rect_Type0 semp h_mk_state x_25702 =
    644644  let { st_frms = st_frms0; istack = istack0; carry = carry0; regs = regs0;
    645     m = m0 } = x_164
     645    m = m0 } = x_25702
    646646  in
    647647  h_mk_state st_frms0 istack0 carry0 regs0 m0
     
    719719    sem_state_params -> (state -> ByteValues.program_counter ->
    720720    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    721 let rec state_pc_rect_Type4 semp h_mk_state_pc x_180 =
    722   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_180 in
     721let rec state_pc_rect_Type4 semp h_mk_state_pc x_25718 =
     722  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25718 in
    723723  h_mk_state_pc st_no_pc0 pc0 last_pop0
    724724
     
    726726    sem_state_params -> (state -> ByteValues.program_counter ->
    727727    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    728 let rec state_pc_rect_Type5 semp h_mk_state_pc x_182 =
    729   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_182 in
     728let rec state_pc_rect_Type5 semp h_mk_state_pc x_25720 =
     729  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25720 in
    730730  h_mk_state_pc st_no_pc0 pc0 last_pop0
    731731
     
    733733    sem_state_params -> (state -> ByteValues.program_counter ->
    734734    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    735 let rec state_pc_rect_Type3 semp h_mk_state_pc x_184 =
    736   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_184 in
     735let rec state_pc_rect_Type3 semp h_mk_state_pc x_25722 =
     736  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25722 in
    737737  h_mk_state_pc st_no_pc0 pc0 last_pop0
    738738
     
    740740    sem_state_params -> (state -> ByteValues.program_counter ->
    741741    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    742 let rec state_pc_rect_Type2 semp h_mk_state_pc x_186 =
    743   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_186 in
     742let rec state_pc_rect_Type2 semp h_mk_state_pc x_25724 =
     743  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25724 in
    744744  h_mk_state_pc st_no_pc0 pc0 last_pop0
    745745
     
    747747    sem_state_params -> (state -> ByteValues.program_counter ->
    748748    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    749 let rec state_pc_rect_Type1 semp h_mk_state_pc x_188 =
    750   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_188 in
     749let rec state_pc_rect_Type1 semp h_mk_state_pc x_25726 =
     750  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25726 in
    751751  h_mk_state_pc st_no_pc0 pc0 last_pop0
    752752
     
    754754    sem_state_params -> (state -> ByteValues.program_counter ->
    755755    ByteValues.program_counter -> 'a1) -> state_pc -> 'a1 **)
    756 let rec state_pc_rect_Type0 semp h_mk_state_pc x_190 =
    757   let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_190 in
     756let rec state_pc_rect_Type0 semp h_mk_state_pc x_25728 =
     757  let { st_no_pc = st_no_pc0; pc = pc0; last_pop = last_pop0 } = x_25728 in
    758758  h_mk_state_pc st_no_pc0 pc0 last_pop0
    759759
     
    10941094    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    10951095    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1096 let rec sem_unserialized_params_rect_Type4 uns_pars h_mk_sem_unserialized_params x_245 =
     1096let rec sem_unserialized_params_rect_Type4 uns_pars h_mk_sem_unserialized_params x_25783 =
    10971097  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    10981098    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11061106    set_result0; call_args_for_main = call_args_for_main0;
    11071107    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1108     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_245
     1108    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25783
    11091109  in
    11101110  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    11351135    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    11361136    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1137 let rec sem_unserialized_params_rect_Type5 uns_pars h_mk_sem_unserialized_params x_247 =
     1137let rec sem_unserialized_params_rect_Type5 uns_pars h_mk_sem_unserialized_params x_25785 =
    11381138  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    11391139    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11471147    set_result0; call_args_for_main = call_args_for_main0;
    11481148    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1149     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_247
     1149    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25785
    11501150  in
    11511151  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    11761176    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    11771177    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1178 let rec sem_unserialized_params_rect_Type3 uns_pars h_mk_sem_unserialized_params x_249 =
     1178let rec sem_unserialized_params_rect_Type3 uns_pars h_mk_sem_unserialized_params x_25787 =
    11791179  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    11801180    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    11881188    set_result0; call_args_for_main = call_args_for_main0;
    11891189    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1190     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_249
     1190    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25787
    11911191  in
    11921192  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12171217    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    12181218    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1219 let rec sem_unserialized_params_rect_Type2 uns_pars h_mk_sem_unserialized_params x_251 =
     1219let rec sem_unserialized_params_rect_Type2 uns_pars h_mk_sem_unserialized_params x_25789 =
    12201220  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    12211221    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    12291229    set_result0; call_args_for_main = call_args_for_main0;
    12301230    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1231     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_251
     1231    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25789
    12321232  in
    12331233  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12581258    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    12591259    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1260 let rec sem_unserialized_params_rect_Type1 uns_pars h_mk_sem_unserialized_params x_253 =
     1260let rec sem_unserialized_params_rect_Type1 uns_pars h_mk_sem_unserialized_params x_25791 =
    12611261  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    12621262    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    12701270    set_result0; call_args_for_main = call_args_for_main0;
    12711271    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1272     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_253
     1272    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25791
    12731273  in
    12741274  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    12991299    state -> (state, ByteValues.program_counter) Types.prod Errors.res) ->
    13001300    'a2) -> 'a1 sem_unserialized_params -> 'a2 **)
    1301 let rec sem_unserialized_params_rect_Type0 uns_pars h_mk_sem_unserialized_params x_255 =
     1301let rec sem_unserialized_params_rect_Type0 uns_pars h_mk_sem_unserialized_params x_25793 =
    13021302  let { st_pars = st_pars0; acca_store_ = acca_store_0; acca_retrieve_ =
    13031303    acca_retrieve_0; acca_arg_retrieve_ = acca_arg_retrieve_0; accb_store_ =
     
    13111311    set_result0; call_args_for_main = call_args_for_main0;
    13121312    call_dest_for_main = call_dest_for_main0; read_result = read_result0;
    1313     eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_255
     1313    eval_ext_seq = eval_ext_seq0; pop_frame = pop_frame0 } = x_25793
    13141314  in
    13151315  h_mk_sem_unserialized_params st_pars0 acca_store_0 acca_retrieve_0
     
    17611761    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17621762    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1763 let rec sem_params_rect_Type4 h_mk_sem_params x_325 =
     1763let rec sem_params_rect_Type4 h_mk_sem_params x_25863 =
    17641764  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1765     point_of_offset = point_of_offset0 } = x_325
     1765    point_of_offset = point_of_offset0 } = x_25863
    17661766  in
    17671767  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    17711771    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17721772    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1773 let rec sem_params_rect_Type5 h_mk_sem_params x_327 =
     1773let rec sem_params_rect_Type5 h_mk_sem_params x_25865 =
    17741774  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1775     point_of_offset = point_of_offset0 } = x_327
     1775    point_of_offset = point_of_offset0 } = x_25865
    17761776  in
    17771777  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    17811781    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17821782    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1783 let rec sem_params_rect_Type3 h_mk_sem_params x_329 =
     1783let rec sem_params_rect_Type3 h_mk_sem_params x_25867 =
    17841784  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1785     point_of_offset = point_of_offset0 } = x_329
     1785    point_of_offset = point_of_offset0 } = x_25867
    17861786  in
    17871787  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    17911791    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    17921792    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1793 let rec sem_params_rect_Type2 h_mk_sem_params x_331 =
     1793let rec sem_params_rect_Type2 h_mk_sem_params x_25869 =
    17941794  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1795     point_of_offset = point_of_offset0 } = x_331
     1795    point_of_offset = point_of_offset0 } = x_25869
    17961796  in
    17971797  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    18011801    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18021802    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1803 let rec sem_params_rect_Type1 h_mk_sem_params x_333 =
     1803let rec sem_params_rect_Type1 h_mk_sem_params x_25871 =
    18041804  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1805     point_of_offset = point_of_offset0 } = x_333
     1805    point_of_offset = point_of_offset0 } = x_25871
    18061806  in
    18071807  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
     
    18111811    sem_unserialized_params -> (__ -> Positive.pos) -> (Positive.pos -> __)
    18121812    -> __ -> __ -> 'a1) -> sem_params -> 'a1 **)
    1813 let rec sem_params_rect_Type0 h_mk_sem_params x_335 =
     1813let rec sem_params_rect_Type0 h_mk_sem_params x_25873 =
    18141814  let { spp = spp0; msu_pars = msu_pars0; offset_of_point = offset_of_point0;
    1815     point_of_offset = point_of_offset0 } = x_335
     1815    point_of_offset = point_of_offset0 } = x_25873
    18161816  in
    18171817  h_mk_sem_params spp0 msu_pars0 offset_of_point0 point_of_offset0 __ __
  • extracted/lINToASM.ml

    r2854 r2867  
    127127    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    128128    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    129 let rec aSM_universe_rect_Type4 globals h_mk_ASM_universe x_1781 =
     129let rec aSM_universe_rect_Type4 globals h_mk_ASM_universe x_24414 =
    130130  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    131     ident_map0; label_map = label_map0; address_map = address_map0 } = x_1781
     131    ident_map0; label_map = label_map0; address_map = address_map0 } =
     132    x_24414
    132133  in
    133134  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    139140    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    140141    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    141 let rec aSM_universe_rect_Type5 globals h_mk_ASM_universe x_1783 =
     142let rec aSM_universe_rect_Type5 globals h_mk_ASM_universe x_24416 =
    142143  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    143     ident_map0; label_map = label_map0; address_map = address_map0 } = x_1783
     144    ident_map0; label_map = label_map0; address_map = address_map0 } =
     145    x_24416
    144146  in
    145147  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    151153    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    152154    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    153 let rec aSM_universe_rect_Type3 globals h_mk_ASM_universe x_1785 =
     155let rec aSM_universe_rect_Type3 globals h_mk_ASM_universe x_24418 =
    154156  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    155     ident_map0; label_map = label_map0; address_map = address_map0 } = x_1785
     157    ident_map0; label_map = label_map0; address_map = address_map0 } =
     158    x_24418
    156159  in
    157160  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    163166    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    164167    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    165 let rec aSM_universe_rect_Type2 globals h_mk_ASM_universe x_1787 =
     168let rec aSM_universe_rect_Type2 globals h_mk_ASM_universe x_24420 =
    166169  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    167     ident_map0; label_map = label_map0; address_map = address_map0 } = x_1787
     170    ident_map0; label_map = label_map0; address_map = address_map0 } =
     171    x_24420
    168172  in
    169173  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    175179    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    176180    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    177 let rec aSM_universe_rect_Type1 globals h_mk_ASM_universe x_1789 =
     181let rec aSM_universe_rect_Type1 globals h_mk_ASM_universe x_24422 =
    178182  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    179     ident_map0; label_map = label_map0; address_map = address_map0 } = x_1789
     183    ident_map0; label_map = label_map0; address_map = address_map0 } =
     184    x_24422
    180185  in
    181186  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    187192    Identifiers.identifier_map Identifiers.identifier_map -> BitVector.word
    188193    Identifiers.identifier_map -> __ -> 'a1) -> aSM_universe -> 'a1 **)
    189 let rec aSM_universe_rect_Type0 globals h_mk_ASM_universe x_1791 =
     194let rec aSM_universe_rect_Type0 globals h_mk_ASM_universe x_24424 =
    190195  let { id_univ = id_univ0; current_funct = current_funct0; ident_map =
    191     ident_map0; label_map = label_map0; address_map = address_map0 } = x_1791
     196    ident_map0; label_map = label_map0; address_map = address_map0 } =
     197    x_24424
    192198  in
    193199  h_mk_ASM_universe id_univ0 current_funct0 ident_map0 label_map0
     
    274280  let globals_addr_internal = fun res_offset x_size ->
    275281    let { Types.fst = res; Types.snd = offset } = res_offset in
    276     let { Types.fst = eta37; Types.snd = size } = x_size in
    277     let { Types.fst = x; Types.snd = region } = eta37 in
     282    let { Types.fst = eta29059; Types.snd = size } = x_size in
     283    let { Types.fst = x; Types.snd = region } = eta29059 in
    278284    { Types.fst =
    279285    (Identifiers.add PreIdentifiers.SymbolTag res x
     
    303309        (Identifiers.empty_map PreIdentifiers.LabelTag)
    304310    in
    305     let { Types.fst = eta38; Types.snd = lmap0 } =
     311    let { Types.fst = eta29060; Types.snd = lmap0 } =
    306312      match Identifiers.lookup PreIdentifiers.LabelTag lmap l with
    307313      | Types.None ->
     
    315321          lmap }
    316322    in
    317     let { Types.fst = id; Types.snd = univ } = eta38 in
     323    let { Types.fst = id; Types.snd = univ } = eta29060 in
    318324    { Types.fst = { id_univ = univ; current_funct = current; ident_map =
    319325    u.ident_map; label_map =
     
    327333  Obj.magic (fun u ->
    328334    let imap = u.ident_map in
    329     let { Types.fst = eta39; Types.snd = imap0 } =
     335    let { Types.fst = eta29061; Types.snd = imap0 } =
    330336      match Identifiers.lookup PreIdentifiers.SymbolTag imap i with
    331337      | Types.None ->
     
    339345          imap }
    340346    in
    341     let { Types.fst = id; Types.snd = univ } = eta39 in
     347    let { Types.fst = id; Types.snd = univ } = eta29061 in
    342348    { Types.fst = { id_univ = univ; current_funct = u.current_funct;
    343349    ident_map = imap0; label_map = u.label_map; address_map =
  • extracted/lTL_semantics.ml

    r2829 r2867  
    155155open LTL
    156156
    157 (** val lTL_semantics : Joint_semantics.sem_params **)
     157(** val lTL_semantics : SemanticsUtils.sem_graph_params **)
    158158let lTL_semantics =
    159   SemanticsUtils.sem_graph_params_to_sem_params { SemanticsUtils.sgp_pars =
     159  { SemanticsUtils.sgp_pars =
    160160    (Joint.gp_to_p__o__stmt_pars__o__uns_pars LTL.lTL);
    161161    SemanticsUtils.sgp_sup = (fun _ ->
  • extracted/lTL_semantics.mli

    r2829 r2867  
    155155open LTL
    156156
    157 val lTL_semantics : Joint_semantics.sem_params
     157val lTL_semantics : SemanticsUtils.sem_graph_params
    158158
  • extracted/measurable.ml

    r2827 r2867  
    112112    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    113113    'a1) -> classified_system -> 'a1 **)
    114 let rec classified_system_rect_Type4 h_mk_classified_system x_3 =
     114let rec classified_system_rect_Type4 h_mk_classified_system x_25221 =
    115115  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    116     cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } = x_3
     116    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
     117    x_25221
    117118  in
    118119  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    123124    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    124125    'a1) -> classified_system -> 'a1 **)
    125 let rec classified_system_rect_Type5 h_mk_classified_system x_5 =
     126let rec classified_system_rect_Type5 h_mk_classified_system x_25223 =
    126127  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    127     cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } = x_5
     128    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
     129    x_25223
    128130  in
    129131  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    134136    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    135137    'a1) -> classified_system -> 'a1 **)
    136 let rec classified_system_rect_Type3 h_mk_classified_system x_7 =
     138let rec classified_system_rect_Type3 h_mk_classified_system x_25225 =
    137139  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    138     cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } = x_7
     140    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
     141    x_25225
    139142  in
    140143  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    145148    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    146149    'a1) -> classified_system -> 'a1 **)
    147 let rec classified_system_rect_Type2 h_mk_classified_system x_9 =
     150let rec classified_system_rect_Type2 h_mk_classified_system x_25227 =
    148151  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    149     cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } = x_9
     152    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
     153    x_25227
    150154  in
    151155  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    156160    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    157161    'a1) -> classified_system -> 'a1 **)
    158 let rec classified_system_rect_Type1 h_mk_classified_system x_11 =
     162let rec classified_system_rect_Type1 h_mk_classified_system x_25229 =
    159163  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    160     cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } = x_11
     164    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
     165    x_25229
    161166  in
    162167  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    167172    -> (__ -> StructuredTraces.status_class) -> (__ -> __ -> AST.ident) ->
    168173    'a1) -> classified_system -> 'a1 **)
    169 let rec classified_system_rect_Type0 h_mk_classified_system x_13 =
     174let rec classified_system_rect_Type0 h_mk_classified_system x_25231 =
    170175  let { cs_exec = cs_exec0; cs_global = cs_global0; cs_labelled =
    171     cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } = x_13
     176    cs_labelled0; cs_classify = cs_classify0; cs_callee = cs_callee0 } =
     177    x_25231
    172178  in
    173179  h_mk_classified_system cs_exec0 cs_global0 cs_labelled0 cs_classify0
     
    355361    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    356362    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    357 let rec preclassified_system_rect_Type4 h_mk_preclassified_system x_33 =
     363let rec preclassified_system_rect_Type4 h_mk_preclassified_system x_25251 =
    358364  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    359     pcs_classify0; pcs_callee = pcs_callee0 } = x_33
     365    pcs_classify0; pcs_callee = pcs_callee0 } = x_25251
    360366  in
    361367  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    365371    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    366372    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    367 let rec preclassified_system_rect_Type5 h_mk_preclassified_system x_35 =
     373let rec preclassified_system_rect_Type5 h_mk_preclassified_system x_25253 =
    368374  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    369     pcs_classify0; pcs_callee = pcs_callee0 } = x_35
     375    pcs_classify0; pcs_callee = pcs_callee0 } = x_25253
    370376  in
    371377  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    375381    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    376382    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    377 let rec preclassified_system_rect_Type3 h_mk_preclassified_system x_37 =
     383let rec preclassified_system_rect_Type3 h_mk_preclassified_system x_25255 =
    378384  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    379     pcs_classify0; pcs_callee = pcs_callee0 } = x_37
     385    pcs_classify0; pcs_callee = pcs_callee0 } = x_25255
    380386  in
    381387  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    385391    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    386392    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    387 let rec preclassified_system_rect_Type2 h_mk_preclassified_system x_39 =
     393let rec preclassified_system_rect_Type2 h_mk_preclassified_system x_25257 =
    388394  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    389     pcs_classify0; pcs_callee = pcs_callee0 } = x_39
     395    pcs_classify0; pcs_callee = pcs_callee0 } = x_25257
    390396  in
    391397  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    395401    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    396402    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    397 let rec preclassified_system_rect_Type1 h_mk_preclassified_system x_41 =
     403let rec preclassified_system_rect_Type1 h_mk_preclassified_system x_25259 =
    398404  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    399     pcs_classify0; pcs_callee = pcs_callee0 } = x_41
     405    pcs_classify0; pcs_callee = pcs_callee0 } = x_25259
    400406  in
    401407  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
     
    405411    -> (__ -> __ -> StructuredTraces.status_class) -> (__ -> __ -> __ ->
    406412    AST.ident) -> 'a1) -> preclassified_system -> 'a1 **)
    407 let rec preclassified_system_rect_Type0 h_mk_preclassified_system x_43 =
     413let rec preclassified_system_rect_Type0 h_mk_preclassified_system x_25261 =
    408414  let { pcs_exec = pcs_exec0; pcs_labelled = pcs_labelled0; pcs_classify =
    409     pcs_classify0; pcs_callee = pcs_callee0 } = x_43
     415    pcs_classify0; pcs_callee = pcs_callee0 } = x_25261
    410416  in
    411417  h_mk_preclassified_system pcs_exec0 pcs_labelled0 pcs_classify0 pcs_callee0
  • extracted/rTL.ml

    r2854 r2867  
    111111    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    112112let rec rtl_seq_rect_Type4 h_rtl_stack_address = function
    113 | Rtl_stack_address (x_2091, x_2090) -> h_rtl_stack_address x_2091 x_2090
     113| Rtl_stack_address (x_20906, x_20905) -> h_rtl_stack_address x_20906 x_20905
    114114
    115115(** val rtl_seq_rect_Type5 :
    116116    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    117117let rec rtl_seq_rect_Type5 h_rtl_stack_address = function
    118 | Rtl_stack_address (x_2095, x_2094) -> h_rtl_stack_address x_2095 x_2094
     118| Rtl_stack_address (x_20910, x_20909) -> h_rtl_stack_address x_20910 x_20909
    119119
    120120(** val rtl_seq_rect_Type3 :
    121121    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    122122let rec rtl_seq_rect_Type3 h_rtl_stack_address = function
    123 | Rtl_stack_address (x_2099, x_2098) -> h_rtl_stack_address x_2099 x_2098
     123| Rtl_stack_address (x_20914, x_20913) -> h_rtl_stack_address x_20914 x_20913
    124124
    125125(** val rtl_seq_rect_Type2 :
    126126    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    127127let rec rtl_seq_rect_Type2 h_rtl_stack_address = function
    128 | Rtl_stack_address (x_2103, x_2102) -> h_rtl_stack_address x_2103 x_2102
     128| Rtl_stack_address (x_20918, x_20917) -> h_rtl_stack_address x_20918 x_20917
    129129
    130130(** val rtl_seq_rect_Type1 :
    131131    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    132132let rec rtl_seq_rect_Type1 h_rtl_stack_address = function
    133 | Rtl_stack_address (x_2107, x_2106) -> h_rtl_stack_address x_2107 x_2106
     133| Rtl_stack_address (x_20922, x_20921) -> h_rtl_stack_address x_20922 x_20921
    134134
    135135(** val rtl_seq_rect_Type0 :
    136136    (Registers.register -> Registers.register -> 'a1) -> rtl_seq -> 'a1 **)
    137137let rec rtl_seq_rect_Type0 h_rtl_stack_address = function
    138 | Rtl_stack_address (x_2111, x_2110) -> h_rtl_stack_address x_2111 x_2110
     138| Rtl_stack_address (x_20926, x_20925) -> h_rtl_stack_address x_20926 x_20925
    139139
    140140(** val rtl_seq_inv_rect_Type4 :
  • extracted/rTLToERTL.ml

    r2827 r2867  
    483483          TranslateUtils.init_stack_size = new_stacksize;
    484484          TranslateUtils.added_prologue = prologue0;
    485           TranslateUtils.new_regs = (List.Cons (addr2, (List.Cons (addr1,
    486           (List.Cons (tmpr, (List.Cons (rah, (List.Cons (ral,
    487           (List.map (fun x -> x.Types.fst) to_save)))))))))));
     485          TranslateUtils.new_regs =
     486          (List.reverse (List.Cons (addr2, (List.Cons (addr1, (List.Cons
     487            (tmpr, (List.Cons (rah, (List.Cons (ral,
     488            (List.map (fun x -> x.Types.fst) to_save))))))))))));
    488489          TranslateUtils.f_step = (translate_step globals);
    489490          TranslateUtils.f_fin =
  • extracted/rTL_semantics.ml

    r2829 r2867  
    158158    (Registers.register List.list -> ByteValues.program_counter ->
    159159    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    160 let rec frame_rect_Type4 h_mk_frame x_3 =
     160let rec frame_rect_Type4 h_mk_frame x_26197 =
    161161  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    162     fr_regs = fr_regs0 } = x_3
     162    fr_regs = fr_regs0 } = x_26197
    163163  in
    164164  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    167167    (Registers.register List.list -> ByteValues.program_counter ->
    168168    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    169 let rec frame_rect_Type5 h_mk_frame x_5 =
     169let rec frame_rect_Type5 h_mk_frame x_26199 =
    170170  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    171     fr_regs = fr_regs0 } = x_5
     171    fr_regs = fr_regs0 } = x_26199
    172172  in
    173173  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    176176    (Registers.register List.list -> ByteValues.program_counter ->
    177177    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    178 let rec frame_rect_Type3 h_mk_frame x_7 =
     178let rec frame_rect_Type3 h_mk_frame x_26201 =
    179179  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    180     fr_regs = fr_regs0 } = x_7
     180    fr_regs = fr_regs0 } = x_26201
    181181  in
    182182  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    185185    (Registers.register List.list -> ByteValues.program_counter ->
    186186    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    187 let rec frame_rect_Type2 h_mk_frame x_9 =
     187let rec frame_rect_Type2 h_mk_frame x_26203 =
    188188  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    189     fr_regs = fr_regs0 } = x_9
     189    fr_regs = fr_regs0 } = x_26203
    190190  in
    191191  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    194194    (Registers.register List.list -> ByteValues.program_counter ->
    195195    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    196 let rec frame_rect_Type1 h_mk_frame x_11 =
     196let rec frame_rect_Type1 h_mk_frame x_26205 =
    197197  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    198     fr_regs = fr_regs0 } = x_11
     198    fr_regs = fr_regs0 } = x_26205
    199199  in
    200200  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
     
    203203    (Registers.register List.list -> ByteValues.program_counter ->
    204204    ByteValues.bebit -> SemanticsUtils.reg_sp -> 'a1) -> frame -> 'a1 **)
    205 let rec frame_rect_Type0 h_mk_frame x_13 =
     205let rec frame_rect_Type0 h_mk_frame x_26207 =
    206206  let { fr_ret_regs = fr_ret_regs0; fr_pc = fr_pc0; fr_carry = fr_carry0;
    207     fr_regs = fr_regs0 } = x_13
     207    fr_regs = fr_regs0 } = x_26207
    208208  in
    209209  h_mk_frame fr_ret_regs0 fr_pc0 fr_carry0 fr_regs0
  • extracted/rTLabsToRTL.ml

    r2854 r2867  
    150150    -> 'a1) -> register_type -> 'a1 **)
    151151let rec register_type_rect_Type4 h_register_int h_register_ptr = function
    152 | Register_int x_2144 -> h_register_int x_2144
    153 | Register_ptr (x_2146, x_2145) -> h_register_ptr x_2146 x_2145
     152| Register_int x_21128 -> h_register_int x_21128
     153| Register_ptr (x_21130, x_21129) -> h_register_ptr x_21130 x_21129
    154154
    155155(** val register_type_rect_Type5 :
     
    157157    -> 'a1) -> register_type -> 'a1 **)
    158158let rec register_type_rect_Type5 h_register_int h_register_ptr = function
    159 | Register_int x_2150 -> h_register_int x_2150
    160 | Register_ptr (x_2152, x_2151) -> h_register_ptr x_2152 x_2151
     159| Register_int x_21134 -> h_register_int x_21134
     160| Register_ptr (x_21136, x_21135) -> h_register_ptr x_21136 x_21135
    161161
    162162(** val register_type_rect_Type3 :
     
    164164    -> 'a1) -> register_type -> 'a1 **)
    165165let rec register_type_rect_Type3 h_register_int h_register_ptr = function
    166 | Register_int x_2156 -> h_register_int x_2156
    167 | Register_ptr (x_2158, x_2157) -> h_register_ptr x_2158 x_2157
     166| Register_int x_21140 -> h_register_int x_21140
     167| Register_ptr (x_21142, x_21141) -> h_register_ptr x_21142 x_21141
    168168
    169169(** val register_type_rect_Type2 :
     
    171171    -> 'a1) -> register_type -> 'a1 **)
    172172let rec register_type_rect_Type2 h_register_int h_register_ptr = function
    173 | Register_int x_2162 -> h_register_int x_2162
    174 | Register_ptr (x_2164, x_2163) -> h_register_ptr x_2164 x_2163
     173| Register_int x_21146 -> h_register_int x_21146
     174| Register_ptr (x_21148, x_21147) -> h_register_ptr x_21148 x_21147
    175175
    176176(** val register_type_rect_Type1 :
     
    178178    -> 'a1) -> register_type -> 'a1 **)
    179179let rec register_type_rect_Type1 h_register_int h_register_ptr = function
    180 | Register_int x_2168 -> h_register_int x_2168
    181 | Register_ptr (x_2170, x_2169) -> h_register_ptr x_2170 x_2169
     180| Register_int x_21152 -> h_register_int x_21152
     181| Register_ptr (x_21154, x_21153) -> h_register_ptr x_21154 x_21153
    182182
    183183(** val register_type_rect_Type0 :
     
    185185    -> 'a1) -> register_type -> 'a1 **)
    186186let rec register_type_rect_Type0 h_register_int h_register_ptr = function
    187 | Register_int x_2174 -> h_register_int x_2174
    188 | Register_ptr (x_2176, x_2175) -> h_register_ptr x_2176 x_2175
     187| Register_int x_21158 -> h_register_int x_21158
     188| Register_ptr (x_21160, x_21159) -> h_register_ptr x_21160 x_21159
    189189
    190190(** val register_type_inv_rect_Type4 :
     
    362362(** val split_into_bytes :
    363363    AST.intsize -> AST.bvint -> BitVector.byte List.list Types.sig0 **)
    364 let split_into_bytes size =
    365   vrsplit (AST.size_intsize size) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    366     (Nat.S (Nat.S Nat.O))))))))
     364let split_into_bytes size int =
     365  List.reverse
     366    (Types.pi1
     367      (vrsplit (AST.size_intsize size) (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
     368        (Nat.S (Nat.S (Nat.S Nat.O)))))))) int))
    367369
    368370(** val list_inject_All_aux : 'a1 List.list -> 'a1 Types.sig0 List.list **)
     
    373375     (fun _ -> List.Cons (hd, (list_inject_All_aux tl)))) __
    374376
     377(** val translate_op_aux :
     378    AST.ident List.list -> BackEndOps.op2 -> Registers.register List.list ->
     379    Joint.psd_argument List.list -> Joint.psd_argument List.list ->
     380    Joint.joint_seq List.list **)
     381let translate_op_aux globals op destrs srcrs1 srcrs2 =
     382  Util.map3 (fun x x0 x1 -> Joint.OP2 (op, x, x0, x1)) (Obj.magic destrs)
     383    (Obj.magic srcrs1) (Obj.magic srcrs2)
     384
    375385(** val translate_op :
    376386    AST.ident List.list -> BackEndOps.op2 -> Registers.register List.list ->
     
    378388    (Registers.register, Joint.joint_seq List.list) Bind_new.bind_new **)
    379389let translate_op globals op destrs srcrs1 srcrs2 =
    380   let l =
    381     List.append
    382       (match op with
    383        | BackEndOps.Add -> List.Nil
    384        | BackEndOps.Addc -> List.Cons (Joint.CLEAR_CARRY, List.Nil)
    385        | BackEndOps.Sub -> List.Cons (Joint.CLEAR_CARRY, List.Nil)
    386        | BackEndOps.And -> List.Nil
    387        | BackEndOps.Or -> List.Nil
    388        | BackEndOps.Xor -> List.Nil)
    389       (Util.map3 (fun x x0 x1 -> Joint.OP2 (op, x, x0, x1))
    390         (Obj.magic destrs) (Obj.magic srcrs1) (Obj.magic srcrs2))
    391   in
    392   Bind_new.Bret l
     390  (match op with
     391   | BackEndOps.Add ->
     392     (fun _ ->
     393       (match destrs with
     394        | List.Nil -> (fun _ _ _ -> let l = List.Nil in Bind_new.Bret l)
     395        | List.Cons (destr, destrs') ->
     396          (fun _ ->
     397            (match srcrs1 with
     398             | List.Nil -> (fun _ _ -> assert false (* absurd case *))
     399             | List.Cons (srcr1, srcrs1') ->
     400               (fun _ _ ->
     401                 (match srcrs2 with
     402                  | List.Nil -> (fun _ _ -> assert false (* absurd case *))
     403                  | List.Cons (srcr2, srcrs2') ->
     404                    (fun _ _ ->
     405                      let l = List.Cons ((Joint.OP2 (BackEndOps.Add,
     406                        (Obj.magic destr), (Obj.magic srcr1),
     407                        (Obj.magic srcr2))),
     408                        (translate_op_aux globals BackEndOps.Addc destrs'
     409                          srcrs1' srcrs2'))
     410                      in
     411                      Bind_new.Bret l)) __)) __)) __)
     412   | BackEndOps.Addc ->
     413     (fun _ _ _ ->
     414       let l =
     415         List.append (List.Cons (Joint.CLEAR_CARRY, List.Nil))
     416           (translate_op_aux globals BackEndOps.Addc destrs srcrs1 srcrs2)
     417       in
     418       Bind_new.Bret l)
     419   | BackEndOps.Sub ->
     420     (fun _ _ _ ->
     421       let l =
     422         List.append (List.Cons (Joint.CLEAR_CARRY, List.Nil))
     423           (translate_op_aux globals BackEndOps.Sub destrs srcrs1 srcrs2)
     424       in
     425       Bind_new.Bret l)
     426   | BackEndOps.And ->
     427     (fun _ _ _ ->
     428       let l = translate_op_aux globals op destrs srcrs1 srcrs2 in
     429       Bind_new.Bret l)
     430   | BackEndOps.Or ->
     431     (fun _ _ _ ->
     432       let l = translate_op_aux globals op destrs srcrs1 srcrs2 in
     433       Bind_new.Bret l)
     434   | BackEndOps.Xor ->
     435     (fun _ _ _ ->
     436       let l = translate_op_aux globals op destrs srcrs1 srcrs2 in
     437       Bind_new.Bret l)) __ __ __
    393438
    394439(** val cast_list : 'a1 -> Nat.nat -> 'a1 List.list -> 'a1 List.list **)
     
    416461  translate_op globals op destrs srcrs1' srcrs2'
    417462
    418 (** val nat_to_args :
    419     Nat.nat -> Nat.nat -> Joint.psd_argument List.list Types.sig0 **)
    420 let rec nat_to_args size k =
    421   (match size with
    422    | Nat.O -> (fun _ -> List.Nil)
    423    | Nat.S size' ->
    424      (fun _ -> List.Cons
    425        ((let x = Joint.psd_argument_from_byte (Joint.byte_of_nat k) in x),
    426        (Types.pi1
    427          (nat_to_args size'
    428            (Util.division k (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S
    429              (Nat.S Nat.O)))))))))))))) __
     463(** val zero_args : Nat.nat -> Joint.psd_argument List.list Types.sig0 **)
     464let zero_args size =
     465  List.make_list (Joint.psd_argument_from_byte Joint.zero_byte) size
     466
     467(** val one_args : Nat.nat -> Joint.psd_argument List.list Types.sig0 **)
     468let one_args = function
     469| Nat.O -> List.Nil
     470| Nat.S k ->
     471  List.Cons
     472    ((let x = Joint.psd_argument_from_byte (Joint.byte_of_nat (Nat.S Nat.O))
     473      in
     474     x), (Types.pi1 (zero_args k)))
    430475
    431476(** val size_of_cst : AST.typ -> FrontEndOps.constant -> Nat.nat **)
     
    534579    List.list **)
    535580let translate_fill_with_zero globals destrs =
    536   let res = nat_to_args (List.length destrs) Nat.O in
    537   translate_move globals destrs res
     581  translate_move globals destrs (Types.pi1 (zero_args (List.length destrs)))
    538582
    539583(** val last : 'a1 List.list -> 'a1 Types.option **)
     
    625669    (translate_op globals BackEndOps.Add destrs
    626670      (List.map (fun x -> Joint.Reg x) destrs)
    627       (Types.pi1 (nat_to_args (List.length destrs) (Nat.S Nat.O))))
     671      (Types.pi1 (one_args (List.length destrs))))
    628672
    629673(** val translate_notbool :
  • extracted/rTLabsToRTL.mli

    r2775 r2867  
    238238val list_inject_All_aux : 'a1 List.list -> 'a1 Types.sig0 List.list
    239239
     240val translate_op_aux :
     241  AST.ident List.list -> BackEndOps.op2 -> Registers.register List.list ->
     242  Joint.psd_argument List.list -> Joint.psd_argument List.list ->
     243  Joint.joint_seq List.list
     244
    240245val translate_op :
    241246  AST.ident List.list -> BackEndOps.op2 -> Registers.register List.list ->
     
    250255  (Registers.register, Joint.joint_seq List.list) Bind_new.bind_new
    251256
    252 val nat_to_args :
    253   Nat.nat -> Nat.nat -> Joint.psd_argument List.list Types.sig0
     257val zero_args : Nat.nat -> Joint.psd_argument List.list Types.sig0
     258
     259val one_args : Nat.nat -> Joint.psd_argument List.list Types.sig0
    254260
    255261val size_of_cst : AST.typ -> FrontEndOps.constant -> Nat.nat
  • extracted/rTLabs_traces.ml

    r2854 r2867  
    296296    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    297297    flat_trace -> will_return -> 'a1 **)
    298 let rec will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_2230 s x_2229 = function
    299 | Wr_step (s0, tr, s', depth, trace, x_2232) ->
    300   h_wr_step s0 tr s' depth __ trace __ x_2232
     298let rec will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17709 s x_17708 = function
     299| Wr_step (s0, tr, s', depth, trace, x_17711) ->
     300  h_wr_step s0 tr s' depth __ trace __ x_17711
    301301    (will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    302       s' trace x_2232)
    303 | Wr_call (s0, tr, s', depth, trace, x_2234) ->
    304   h_wr_call s0 tr s' depth __ trace __ x_2234
     302      s' trace x_17711)
     303| Wr_call (s0, tr, s', depth, trace, x_17713) ->
     304  h_wr_call s0 tr s' depth __ trace __ x_17713
    305305    (will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    306       depth) s' trace x_2234)
    307 | Wr_ret (s0, tr, s', depth, trace, x_2236) ->
    308   h_wr_ret s0 tr s' depth __ trace __ x_2236
     306      depth) s' trace x_17713)
     307| Wr_ret (s0, tr, s', depth, trace, x_17715) ->
     308  h_wr_ret s0 tr s' depth __ trace __ x_17715
    309309    (will_return_rect_Type4 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    310       s' trace x_2236)
     310      s' trace x_17715)
    311311| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    312312
     
    323323    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    324324    flat_trace -> will_return -> 'a1 **)
    325 let rec will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_2258 s x_2257 = function
    326 | Wr_step (s0, tr, s', depth, trace, x_2260) ->
    327   h_wr_step s0 tr s' depth __ trace __ x_2260
     325let rec will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17737 s x_17736 = function
     326| Wr_step (s0, tr, s', depth, trace, x_17739) ->
     327  h_wr_step s0 tr s' depth __ trace __ x_17739
    328328    (will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    329       s' trace x_2260)
    330 | Wr_call (s0, tr, s', depth, trace, x_2262) ->
    331   h_wr_call s0 tr s' depth __ trace __ x_2262
     329      s' trace x_17739)
     330| Wr_call (s0, tr, s', depth, trace, x_17741) ->
     331  h_wr_call s0 tr s' depth __ trace __ x_17741
    332332    (will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    333       depth) s' trace x_2262)
    334 | Wr_ret (s0, tr, s', depth, trace, x_2264) ->
    335   h_wr_ret s0 tr s' depth __ trace __ x_2264
     333      depth) s' trace x_17741)
     334| Wr_ret (s0, tr, s', depth, trace, x_17743) ->
     335  h_wr_ret s0 tr s' depth __ trace __ x_17743
    336336    (will_return_rect_Type3 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    337       s' trace x_2264)
     337      s' trace x_17743)
    338338| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    339339
     
    350350    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    351351    flat_trace -> will_return -> 'a1 **)
    352 let rec will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_2272 s x_2271 = function
    353 | Wr_step (s0, tr, s', depth, trace, x_2274) ->
    354   h_wr_step s0 tr s' depth __ trace __ x_2274
     352let rec will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17751 s x_17750 = function
     353| Wr_step (s0, tr, s', depth, trace, x_17753) ->
     354  h_wr_step s0 tr s' depth __ trace __ x_17753
    355355    (will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    356       s' trace x_2274)
    357 | Wr_call (s0, tr, s', depth, trace, x_2276) ->
    358   h_wr_call s0 tr s' depth __ trace __ x_2276
     356      s' trace x_17753)
     357| Wr_call (s0, tr, s', depth, trace, x_17755) ->
     358  h_wr_call s0 tr s' depth __ trace __ x_17755
    359359    (will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    360       depth) s' trace x_2276)
    361 | Wr_ret (s0, tr, s', depth, trace, x_2278) ->
    362   h_wr_ret s0 tr s' depth __ trace __ x_2278
     360      depth) s' trace x_17755)
     361| Wr_ret (s0, tr, s', depth, trace, x_17757) ->
     362  h_wr_ret s0 tr s' depth __ trace __ x_17757
    363363    (will_return_rect_Type2 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    364       s' trace x_2278)
     364      s' trace x_17757)
    365365| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    366366
     
    377377    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    378378    flat_trace -> will_return -> 'a1 **)
    379 let rec will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_2286 s x_2285 = function
    380 | Wr_step (s0, tr, s', depth, trace, x_2288) ->
    381   h_wr_step s0 tr s' depth __ trace __ x_2288
     379let rec will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17765 s x_17764 = function
     380| Wr_step (s0, tr, s', depth, trace, x_17767) ->
     381  h_wr_step s0 tr s' depth __ trace __ x_17767
    382382    (will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    383       s' trace x_2288)
    384 | Wr_call (s0, tr, s', depth, trace, x_2290) ->
    385   h_wr_call s0 tr s' depth __ trace __ x_2290
     383      s' trace x_17767)
     384| Wr_call (s0, tr, s', depth, trace, x_17769) ->
     385  h_wr_call s0 tr s' depth __ trace __ x_17769
    386386    (will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    387       depth) s' trace x_2290)
    388 | Wr_ret (s0, tr, s', depth, trace, x_2292) ->
    389   h_wr_ret s0 tr s' depth __ trace __ x_2292
     387      depth) s' trace x_17769)
     388| Wr_ret (s0, tr, s', depth, trace, x_17771) ->
     389  h_wr_ret s0 tr s' depth __ trace __ x_17771
    390390    (will_return_rect_Type1 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    391       s' trace x_2292)
     391      s' trace x_17771)
    392392| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    393393
     
    404404    'a1) -> Nat.nat -> RTLabs_semantics.state -> (IO.io_out, IO.io_in)
    405405    flat_trace -> will_return -> 'a1 **)
    406 let rec will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_2300 s x_2299 = function
    407 | Wr_step (s0, tr, s', depth, trace, x_2302) ->
    408   h_wr_step s0 tr s' depth __ trace __ x_2302
     406let rec will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base x_17779 s x_17778 = function
     407| Wr_step (s0, tr, s', depth, trace, x_17781) ->
     408  h_wr_step s0 tr s' depth __ trace __ x_17781
    409409    (will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    410       s' trace x_2302)
    411 | Wr_call (s0, tr, s', depth, trace, x_2304) ->
    412   h_wr_call s0 tr s' depth __ trace __ x_2304
     410      s' trace x_17781)
     411| Wr_call (s0, tr, s', depth, trace, x_17783) ->
     412  h_wr_call s0 tr s' depth __ trace __ x_17783
    413413    (will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base (Nat.S
    414       depth) s' trace x_2304)
    415 | Wr_ret (s0, tr, s', depth, trace, x_2306) ->
    416   h_wr_ret s0 tr s' depth __ trace __ x_2306
     414      depth) s' trace x_17783)
     415| Wr_ret (s0, tr, s', depth, trace, x_17785) ->
     416  h_wr_ret s0 tr s' depth __ trace __ x_17785
    417417    (will_return_rect_Type0 ge h_wr_step h_wr_call h_wr_ret h_wr_base depth
    418       s' trace x_2306)
     418      s' trace x_17785)
    419419| Wr_base (s0, tr, s', trace) -> h_wr_base s0 tr s' __ trace __
    420420
     
    839839    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    840840    trace_result -> 'a2 **)
    841 let rec trace_result_rect_Type4 ge depth ends start full original_terminates limit h_mk_trace_result x_2841 =
     841let rec trace_result_rect_Type4 ge depth ends start full original_terminates limit h_mk_trace_result x_18320 =
    842842  let { new_state = new_state0; remainder = remainder0; new_trace =
    843     new_trace0; terminates = terminates0 } = x_2841
     843    new_trace0; terminates = terminates0 } = x_18320
    844844  in
    845845  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    851851    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    852852    trace_result -> 'a2 **)
    853 let rec trace_result_rect_Type5 ge depth ends start full original_terminates limit h_mk_trace_result x_2843 =
     853let rec trace_result_rect_Type5 ge depth ends start full original_terminates limit h_mk_trace_result x_18322 =
    854854  let { new_state = new_state0; remainder = remainder0; new_trace =
    855     new_trace0; terminates = terminates0 } = x_2843
     855    new_trace0; terminates = terminates0 } = x_18322
    856856  in
    857857  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    863863    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    864864    trace_result -> 'a2 **)
    865 let rec trace_result_rect_Type3 ge depth ends start full original_terminates limit h_mk_trace_result x_2845 =
     865let rec trace_result_rect_Type3 ge depth ends start full original_terminates limit h_mk_trace_result x_18324 =
    866866  let { new_state = new_state0; remainder = remainder0; new_trace =
    867     new_trace0; terminates = terminates0 } = x_2845
     867    new_trace0; terminates = terminates0 } = x_18324
    868868  in
    869869  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    875875    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    876876    trace_result -> 'a2 **)
    877 let rec trace_result_rect_Type2 ge depth ends start full original_terminates limit h_mk_trace_result x_2847 =
     877let rec trace_result_rect_Type2 ge depth ends start full original_terminates limit h_mk_trace_result x_18326 =
    878878  let { new_state = new_state0; remainder = remainder0; new_trace =
    879     new_trace0; terminates = terminates0 } = x_2847
     879    new_trace0; terminates = terminates0 } = x_18326
    880880  in
    881881  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    887887    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    888888    trace_result -> 'a2 **)
    889 let rec trace_result_rect_Type1 ge depth ends start full original_terminates limit h_mk_trace_result x_2849 =
     889let rec trace_result_rect_Type1 ge depth ends start full original_terminates limit h_mk_trace_result x_18328 =
    890890  let { new_state = new_state0; remainder = remainder0; new_trace =
    891     new_trace0; terminates = terminates0 } = x_2849
     891    new_trace0; terminates = terminates0 } = x_18328
    892892  in
    893893  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    899899    (IO.io_out, IO.io_in) flat_trace -> __ -> 'a1 -> __ -> __ -> 'a2) -> 'a1
    900900    trace_result -> 'a2 **)
    901 let rec trace_result_rect_Type0 ge depth ends start full original_terminates limit h_mk_trace_result x_2851 =
     901let rec trace_result_rect_Type0 ge depth ends start full original_terminates limit h_mk_trace_result x_18330 =
    902902  let { new_state = new_state0; remainder = remainder0; new_trace =
    903     new_trace0; terminates = terminates0 } = x_2851
     903    new_trace0; terminates = terminates0 } = x_18330
    904904  in
    905905  h_mk_trace_result new_state0 remainder0 __ new_trace0 __ terminates0
     
    999999    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10001000    sub_trace_result -> 'a2 **)
    1001 let rec sub_trace_result_rect_Type4 ge depth start full original_terminates limit h_mk_sub_trace_result x_2869 =
    1002   let { ends = ends0; trace_res = trace_res0 } = x_2869 in
     1001let rec sub_trace_result_rect_Type4 ge depth start full original_terminates limit h_mk_sub_trace_result x_18348 =
     1002  let { ends = ends0; trace_res = trace_res0 } = x_18348 in
    10031003  h_mk_sub_trace_result ends0 trace_res0
    10041004
     
    10081008    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10091009    sub_trace_result -> 'a2 **)
    1010 let rec sub_trace_result_rect_Type5 ge depth start full original_terminates limit h_mk_sub_trace_result x_2871 =
    1011   let { ends = ends0; trace_res = trace_res0 } = x_2871 in
     1010let rec sub_trace_result_rect_Type5 ge depth start full original_terminates limit h_mk_sub_trace_result x_18350 =
     1011  let { ends = ends0; trace_res = trace_res0 } = x_18350 in
    10121012  h_mk_sub_trace_result ends0 trace_res0
    10131013
     
    10171017    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10181018    sub_trace_result -> 'a2 **)
    1019 let rec sub_trace_result_rect_Type3 ge depth start full original_terminates limit h_mk_sub_trace_result x_2873 =
    1020   let { ends = ends0; trace_res = trace_res0 } = x_2873 in
     1019let rec sub_trace_result_rect_Type3 ge depth start full original_terminates limit h_mk_sub_trace_result x_18352 =
     1020  let { ends = ends0; trace_res = trace_res0 } = x_18352 in
    10211021  h_mk_sub_trace_result ends0 trace_res0
    10221022
     
    10261026    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10271027    sub_trace_result -> 'a2 **)
    1028 let rec sub_trace_result_rect_Type2 ge depth start full original_terminates limit h_mk_sub_trace_result x_2875 =
    1029   let { ends = ends0; trace_res = trace_res0 } = x_2875 in
     1028let rec sub_trace_result_rect_Type2 ge depth start full original_terminates limit h_mk_sub_trace_result x_18354 =
     1029  let { ends = ends0; trace_res = trace_res0 } = x_18354 in
    10301030  h_mk_sub_trace_result ends0 trace_res0
    10311031
     
    10351035    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10361036    sub_trace_result -> 'a2 **)
    1037 let rec sub_trace_result_rect_Type1 ge depth start full original_terminates limit h_mk_sub_trace_result x_2877 =
    1038   let { ends = ends0; trace_res = trace_res0 } = x_2877 in
     1037let rec sub_trace_result_rect_Type1 ge depth start full original_terminates limit h_mk_sub_trace_result x_18356 =
     1038  let { ends = ends0; trace_res = trace_res0 } = x_18356 in
    10391039  h_mk_sub_trace_result ends0 trace_res0
    10401040
     
    10441044    (StructuredTraces.trace_ends_with_ret -> 'a1 trace_result -> 'a2) -> 'a1
    10451045    sub_trace_result -> 'a2 **)
    1046 let rec sub_trace_result_rect_Type0 ge depth start full original_terminates limit h_mk_sub_trace_result x_2879 =
    1047   let { ends = ends0; trace_res = trace_res0 } = x_2879 in
     1046let rec sub_trace_result_rect_Type0 ge depth start full original_terminates limit h_mk_sub_trace_result x_18358 =
     1047  let { ends = ends0; trace_res = trace_res0 } = x_18358 in
    10481048  h_mk_sub_trace_result ends0 trace_res0
    10491049
     
    15581558    ('a1, 'a2) partial_flat_trace -> 'a3 -> 'a3) -> RTLabs_semantics.state ->
    15591559    RTLabs_semantics.state -> ('a1, 'a2) partial_flat_trace -> 'a3 **)
    1560 let rec partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step x_3214 x_3213 = function
     1560let rec partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step x_18693 x_18692 = function
    15611561| Pft_base (s, tr, s') -> h_pft_base s tr s' __
    1562 | Pft_step (s, tr, s', s'', x_3217) ->
    1563   h_pft_step s tr s' s'' __ x_3217
    1564     (partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step s' s'' x_3217)
     1562| Pft_step (s, tr, s', s'', x_18696) ->
     1563  h_pft_step s tr s' s'' __ x_18696
     1564    (partial_flat_trace_rect_Type4 ge h_pft_base h_pft_step s' s'' x_18696)
    15651565
    15661566(** val partial_flat_trace_rect_Type3 :
     
    15701570    ('a1, 'a2) partial_flat_trace -> 'a3 -> 'a3) -> RTLabs_semantics.state ->
    15711571    RTLabs_semantics.state -> ('a1, 'a2) partial_flat_trace -> 'a3 **)
    1572 let rec partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step x_3230 x_3229 = function
     1572let rec partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step x_18709 x_18708 = function
    15731573| Pft_base (s, tr, s') -> h_pft_base s tr s' __
    1574 | Pft_step (s, tr, s', s'', x_3233) ->
    1575   h_pft_step s tr s' s'' __ x_3233
    1576     (partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step s' s'' x_3233)
     1574| Pft_step (s, tr, s', s'', x_18712) ->
     1575  h_pft_step s tr s' s'' __ x_18712
     1576    (partial_flat_trace_rect_Type3 ge h_pft_base h_pft_step s' s'' x_18712)
    15771577
    15781578(** val partial_flat_trace_rect_Type2 :
     
    15821582    ('a1, 'a2) partial_flat_trace -> 'a3 -> 'a3) -> RTLabs_semantics.state ->
    15831583    RTLabs_semantics.state -> ('a1, 'a2) partial_flat_trace -> 'a3 **)
    1584 let rec partial_flat_trace_rect_Type2 ge h_pft_base h_pft_step x_3238 x_3237 = function
     1584let rec partial_flat_trace_rect_Type2 ge h_pft_base h_pft_step x_18717 x_18716 = function
    15851585| Pft_base (s, tr, s') -> h_pft_base s tr s' __
    1586 | Pft_step (s, tr, s', s'', x_3241) ->
    1587   h_pft_step s tr s' s'' __ x_3241
    1588     (partial_flat_trace_rect_Type2 ge h_pft_base h_pft_step s' s'' x_3241)
     1586| Pft_step (s, tr, s', s'', x_18720) ->
     1587  h_pft_step s tr s' s'' __ x_18720
     1588    (partial_flat_trace_rect_Type2 ge h_pft_base h_pft_step s' s'' x_18720)
    15891589
    15901590(** val partial_flat_trace_rect_Type1 :
     
    15941594    ('a1, 'a2) partial_flat_trace -> 'a3 -> 'a3) -> RTLabs_semantics.state ->
    15951595    RTLabs_semantics.state -> ('a1, 'a2) partial_flat_trace -> 'a3 **)
    1596 let rec partial_flat_trace_rect_Type1 ge h_pft_base h_pft_step x_3246 x_3245 = function
     1596let rec partial_flat_trace_rect_Type1 ge h_pft_base h_pft_step x_18725 x_18724 = function
    15971597| Pft_base (s, tr, s') -> h_pft_base s tr s' __
    1598 | Pft_step (s, tr, s', s'', x_3249) ->
    1599   h_pft_step s tr s' s'' __ x_3249
    1600     (partial_flat_trace_rect_Type1 ge h_pft_base h_pft_step s' s'' x_3249)
     1598| Pft_step (s, tr, s', s'', x_18728) ->
     1599  h_pft_step s tr s' s'' __ x_18728
     1600    (partial_flat_trace_rect_Type1 ge h_pft_base h_pft_step s' s'' x_18728)
    16011601
    16021602(** val partial_flat_trace_rect_Type0 :
     
    16061606    ('a1, 'a2) partial_flat_trace -> 'a3 -> 'a3) -> RTLabs_semantics.state ->
    16071607    RTLabs_semantics.state -> ('a1, 'a2) partial_flat_trace -> 'a3 **)
    1608 let rec partial_flat_trace_rect_Type0 ge h_pft_base h_pft_step x_3254 x_3253 = function
     1608let rec partial_flat_trace_rect_Type0 ge h_pft_base h_pft_step x_18733 x_18732 = function
    16091609| Pft_base (s, tr, s') -> h_pft_base s tr s' __
    1610 | Pft_step (s, tr, s', s'', x_3257) ->
    1611   h_pft_step s tr s' s'' __ x_3257
    1612     (partial_flat_trace_rect_Type0 ge h_pft_base h_pft_step s' s'' x_3257)
     1610| Pft_step (s, tr, s', s'', x_18736) ->
     1611  h_pft_step s tr s' s'' __ x_18736
     1612    (partial_flat_trace_rect_Type0 ge h_pft_base h_pft_step s' s'' x_18736)
    16131613
    16141614(** val partial_flat_trace_inv_rect_Type4 :
  • extracted/semantics.ml

    r2829 r2867  
    2424
    2525open Policy
     26
     27open AssocList
     28
     29open Uses
    2630
    2731open ASM
     
    320324    Compiler.pass -> (Measurable.preclassified_system -> __ -> 'a1) ->
    321325    preclassified_system_pass -> 'a1 **)
    322 let rec preclassified_system_pass_rect_Type4 p h_mk_preclassified_system_pass x_198 =
    323   let pcs_pcs = x_198 in h_mk_preclassified_system_pass pcs_pcs __
     326let rec preclassified_system_pass_rect_Type4 p h_mk_preclassified_system_pass x_26223 =
     327  let pcs_pcs = x_26223 in h_mk_preclassified_system_pass pcs_pcs __
    324328
    325329(** val preclassified_system_pass_rect_Type5 :
    326330    Compiler.pass -> (Measurable.preclassified_system -> __ -> 'a1) ->
    327331    preclassified_system_pass -> 'a1 **)
    328 let rec preclassified_system_pass_rect_Type5 p h_mk_preclassified_system_pass x_200 =
    329   let pcs_pcs = x_200 in h_mk_preclassified_system_pass pcs_pcs __
     332let rec preclassified_system_pass_rect_Type5 p h_mk_preclassified_system_pass x_26225 =
     333  let pcs_pcs = x_26225 in h_mk_preclassified_system_pass pcs_pcs __
    330334
    331335(** val preclassified_system_pass_rect_Type3 :
    332336    Compiler.pass -> (Measurable.preclassified_system -> __ -> 'a1) ->
    333337    preclassified_system_pass -> 'a1 **)
    334 let rec preclassified_system_pass_rect_Type3 p h_mk_preclassified_system_pass x_202 =
    335   let pcs_pcs = x_202 in h_mk_preclassified_system_pass pcs_pcs __
     338let rec preclassified_system_pass_rect_Type3 p h_mk_preclassified_system_pass x_26227 =
     339  let pcs_pcs = x_26227 in h_mk_preclassified_system_pass pcs_pcs __
    336340
    337341(** val preclassified_system_pass_rect_Type2 :
    338342    Compiler.pass -> (Measurable.preclassified_system -> __ -> 'a1) ->
    339343    preclassified_system_pass -> 'a1 **)
    340 let rec preclassified_system_pass_rect_Type2 p h_mk_preclassified_system_pass x_204 =
    341   let pcs_pcs = x_204 in h_mk_preclassified_system_pass pcs_pcs __
     344let rec preclassified_system_pass_rect_Type2 p h_mk_preclassified_system_pass x_26229 =
     345  let pcs_pcs = x_26229 in h_mk_preclassified_system_pass pcs_pcs __
    342346
    343347(** val preclassified_system_pass_rect_Type1 :
    344348    Compiler.pass -> (Measurable.preclassified_system -> __ -> 'a1) ->
    345349    preclassified_system_pass -> 'a1 **)
    346 let rec preclassified_system_pass_rect_Type1 p h_mk_preclassified_system_pass x_206 =
    347   let pcs_pcs = x_206 in h_mk_preclassified_system_pass pcs_pcs __
     350let rec preclassified_system_pass_rect_Type1 p h_mk_preclassified_system_pass x_26231 =
     351  let pcs_pcs = x_26231 in h_mk_preclassified_system_pass pcs_pcs __
    348352
    349353(** val preclassified_system_pass_rect_Type0 :
    350354    Compiler.pass -> (Measurable.preclassified_system -> __ -> 'a1) ->
    351355    preclassified_system_pass -> 'a1 **)
    352 let rec preclassified_system_pass_rect_Type0 p h_mk_preclassified_system_pass x_208 =
    353   let pcs_pcs = x_208 in h_mk_preclassified_system_pass pcs_pcs __
     356let rec preclassified_system_pass_rect_Type0 p h_mk_preclassified_system_pass x_26233 =
     357  let pcs_pcs = x_26233 in h_mk_preclassified_system_pass pcs_pcs __
    354358
    355359(** val pcs_pcs :
     
    427431      ERTLptr_semantics.eRTLptr_semantics)
    428432| Compiler.Ltl_pass ->
    429   Joint_fullexec.joint_preclassified_system LTL_semantics.lTL_semantics
     433  Joint_fullexec.joint_preclassified_system
     434    (SemanticsUtils.sem_graph_params_to_sem_params
     435      LTL_semantics.lTL_semantics)
    430436| Compiler.Lin_pass ->
    431437  Joint_fullexec.joint_preclassified_system LIN_semantics.lIN_semantics
  • extracted/semantics.mli

    r2829 r2867  
    2424
    2525open Policy
     26
     27open AssocList
     28
     29open Uses
    2630
    2731open ASM
  • extracted/semanticsUtils.ml

    r2829 r2867  
    154154    (ByteValues.beval BitVectorTrie.bitVectorTrie -> ByteValues.bebit -> 'a1)
    155155    -> hw_register_env -> 'a1 **)
    156 let rec hw_register_env_rect_Type4 h_mk_hw_register_env x_3 =
    157   let { reg_env = reg_env0; other_bit = other_bit0 } = x_3 in
     156let rec hw_register_env_rect_Type4 h_mk_hw_register_env x_26065 =
     157  let { reg_env = reg_env0; other_bit = other_bit0 } = x_26065 in
    158158  h_mk_hw_register_env reg_env0 other_bit0
    159159
     
    161161    (ByteValues.beval BitVectorTrie.bitVectorTrie -> ByteValues.bebit -> 'a1)
    162162    -> hw_register_env -> 'a1 **)
    163 let rec hw_register_env_rect_Type5 h_mk_hw_register_env x_5 =
    164   let { reg_env = reg_env0; other_bit = other_bit0 } = x_5 in
     163let rec hw_register_env_rect_Type5 h_mk_hw_register_env x_26067 =
     164  let { reg_env = reg_env0; other_bit = other_bit0 } = x_26067 in
    165165  h_mk_hw_register_env reg_env0 other_bit0
    166166
     
    168168    (ByteValues.beval BitVectorTrie.bitVectorTrie -> ByteValues.bebit -> 'a1)
    169169    -> hw_register_env -> 'a1 **)
    170 let rec hw_register_env_rect_Type3 h_mk_hw_register_env x_7 =
    171   let { reg_env = reg_env0; other_bit = other_bit0 } = x_7 in
     170let rec hw_register_env_rect_Type3 h_mk_hw_register_env x_26069 =
     171  let { reg_env = reg_env0; other_bit = other_bit0 } = x_26069 in
    172172  h_mk_hw_register_env reg_env0 other_bit0
    173173
     
    175175    (ByteValues.beval BitVectorTrie.bitVectorTrie -> ByteValues.bebit -> 'a1)
    176176    -> hw_register_env -> 'a1 **)
    177 let rec hw_register_env_rect_Type2 h_mk_hw_register_env x_9 =
    178   let { reg_env = reg_env0; other_bit = other_bit0 } = x_9 in
     177let rec hw_register_env_rect_Type2 h_mk_hw_register_env x_26071 =
     178  let { reg_env = reg_env0; other_bit = other_bit0 } = x_26071 in
    179179  h_mk_hw_register_env reg_env0 other_bit0
    180180
     
    182182    (ByteValues.beval BitVectorTrie.bitVectorTrie -> ByteValues.bebit -> 'a1)
    183183    -> hw_register_env -> 'a1 **)
    184 let rec hw_register_env_rect_Type1 h_mk_hw_register_env x_11 =
    185   let { reg_env = reg_env0; other_bit = other_bit0 } = x_11 in
     184let rec hw_register_env_rect_Type1 h_mk_hw_register_env x_26073 =
     185  let { reg_env = reg_env0; other_bit = other_bit0 } = x_26073 in
    186186  h_mk_hw_register_env reg_env0 other_bit0
    187187
     
    189189    (ByteValues.beval BitVectorTrie.bitVectorTrie -> ByteValues.bebit -> 'a1)
    190190    -> hw_register_env -> 'a1 **)
    191 let rec hw_register_env_rect_Type0 h_mk_hw_register_env x_13 =
    192   let { reg_env = reg_env0; other_bit = other_bit0 } = x_13 in
     191let rec hw_register_env_rect_Type0 h_mk_hw_register_env x_26075 =
     192  let { reg_env = reg_env0; other_bit = other_bit0 } = x_26075 in
    193193  h_mk_hw_register_env reg_env0 other_bit0
    194194
     
    301301    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    302302    'a1) -> reg_sp -> 'a1 **)
    303 let rec reg_sp_rect_Type4 h_mk_reg_sp x_29 =
    304   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_29 in
     303let rec reg_sp_rect_Type4 h_mk_reg_sp x_26091 =
     304  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_26091 in
    305305  h_mk_reg_sp reg_sp_env0 stackp0
    306306
     
    308308    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    309309    'a1) -> reg_sp -> 'a1 **)
    310 let rec reg_sp_rect_Type5 h_mk_reg_sp x_31 =
    311   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_31 in
     310let rec reg_sp_rect_Type5 h_mk_reg_sp x_26093 =
     311  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_26093 in
    312312  h_mk_reg_sp reg_sp_env0 stackp0
    313313
     
    315315    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    316316    'a1) -> reg_sp -> 'a1 **)
    317 let rec reg_sp_rect_Type3 h_mk_reg_sp x_33 =
    318   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_33 in
     317let rec reg_sp_rect_Type3 h_mk_reg_sp x_26095 =
     318  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_26095 in
    319319  h_mk_reg_sp reg_sp_env0 stackp0
    320320
     
    322322    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    323323    'a1) -> reg_sp -> 'a1 **)
    324 let rec reg_sp_rect_Type2 h_mk_reg_sp x_35 =
    325   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_35 in
     324let rec reg_sp_rect_Type2 h_mk_reg_sp x_26097 =
     325  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_26097 in
    326326  h_mk_reg_sp reg_sp_env0 stackp0
    327327
     
    329329    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    330330    'a1) -> reg_sp -> 'a1 **)
    331 let rec reg_sp_rect_Type1 h_mk_reg_sp x_37 =
    332   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_37 in
     331let rec reg_sp_rect_Type1 h_mk_reg_sp x_26099 =
     332  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_26099 in
    333333  h_mk_reg_sp reg_sp_env0 stackp0
    334334
     
    336336    (ByteValues.beval Identifiers.identifier_map -> ByteValues.xpointer ->
    337337    'a1) -> reg_sp -> 'a1 **)
    338 let rec reg_sp_rect_Type0 h_mk_reg_sp x_39 =
    339   let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_39 in
     338let rec reg_sp_rect_Type0 h_mk_reg_sp x_26101 =
     339  let { reg_sp_env = reg_sp_env0; stackp = stackp0 } = x_26101 in
    340340  h_mk_reg_sp reg_sp_env0 stackp0
    341341
     
    459459    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    460460    -> 'a1) -> sem_graph_params -> 'a1 **)
    461 let rec sem_graph_params_rect_Type4 h_mk_sem_graph_params x_55 =
    462   let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_55 in
     461let rec sem_graph_params_rect_Type4 h_mk_sem_graph_params x_26117 =
     462  let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_26117 in
    463463  h_mk_sem_graph_params sgp_pars0 sgp_sup0
    464464
     
    466466    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    467467    -> 'a1) -> sem_graph_params -> 'a1 **)
    468 let rec sem_graph_params_rect_Type5 h_mk_sem_graph_params x_57 =
    469   let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_57 in
     468let rec sem_graph_params_rect_Type5 h_mk_sem_graph_params x_26119 =
     469  let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_26119 in
    470470  h_mk_sem_graph_params sgp_pars0 sgp_sup0
    471471
     
    473473    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    474474    -> 'a1) -> sem_graph_params -> 'a1 **)
    475 let rec sem_graph_params_rect_Type3 h_mk_sem_graph_params x_59 =
    476   let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_59 in
     475let rec sem_graph_params_rect_Type3 h_mk_sem_graph_params x_26121 =
     476  let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_26121 in
    477477  h_mk_sem_graph_params sgp_pars0 sgp_sup0
    478478
     
    480480    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    481481    -> 'a1) -> sem_graph_params -> 'a1 **)
    482 let rec sem_graph_params_rect_Type2 h_mk_sem_graph_params x_61 =
    483   let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_61 in
     482let rec sem_graph_params_rect_Type2 h_mk_sem_graph_params x_26123 =
     483  let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_26123 in
    484484  h_mk_sem_graph_params sgp_pars0 sgp_sup0
    485485
     
    487487    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    488488    -> 'a1) -> sem_graph_params -> 'a1 **)
    489 let rec sem_graph_params_rect_Type1 h_mk_sem_graph_params x_63 =
    490   let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_63 in
     489let rec sem_graph_params_rect_Type1 h_mk_sem_graph_params x_26125 =
     490  let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_26125 in
    491491  h_mk_sem_graph_params sgp_pars0 sgp_sup0
    492492
     
    494494    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    495495    -> 'a1) -> sem_graph_params -> 'a1 **)
    496 let rec sem_graph_params_rect_Type0 h_mk_sem_graph_params x_65 =
    497   let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_65 in
     496let rec sem_graph_params_rect_Type0 h_mk_sem_graph_params x_26127 =
     497  let { sgp_pars = sgp_pars0; sgp_sup = sgp_sup0 } = x_26127 in
    498498  h_mk_sem_graph_params sgp_pars0 sgp_sup0
    499499
     
    599599    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    600600    -> 'a1) -> sem_lin_params -> 'a1 **)
    601 let rec sem_lin_params_rect_Type4 h_mk_sem_lin_params x_82 =
    602   let { slp_pars = slp_pars0; slp_sup = slp_sup0 } = x_82 in
     601let rec sem_lin_params_rect_Type4 h_mk_sem_lin_params x_26144 =
     602  let { slp_pars = slp_pars0; slp_sup = slp_sup0 } = x_26144 in
    603603  h_mk_sem_lin_params slp_pars0 slp_sup0
    604604
     
    606606    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    607607    -> 'a1) -> sem_lin_params -> 'a1 **)
    608 let rec sem_lin_params_rect_Type5 h_mk_sem_lin_params x_84 =
    609   let { slp_pars = slp_pars0; slp_sup = slp_sup0 } = x_84 in
     608let rec sem_lin_params_rect_Type5 h_mk_sem_lin_params x_26146 =
     609  let { slp_pars = slp_pars0; slp_sup = slp_sup0 } = x_26146 in
    610610  h_mk_sem_lin_params slp_pars0 slp_sup0
    611611
     
    613613    (Joint.uns_params -> (__ -> __ Joint_semantics.sem_unserialized_params)
    614614    -> 'a1) -> sem_lin_params -> 'a1 **)
    615 let rec sem_lin_params_rect_Type3 h_mk_sem_lin_params x_86 =
    616   let { slp_pars = slp_pars0; slp_sup = slp_sup0 } = x_86 in
     615let rec sem_lin_params_rect_Type3 h_mk_sem_lin_params x_26148 =
     616  let { slp_pars = slp_pars0; slp_sup = slp_sup0 } = x_26148 in
    617617  h_mk_sem_lin_params slp_pars0 slp_sup0
    618618