- Timestamp:
- Mar 7, 2013, 12:55:34 PM (8 years ago)
- Location:
- extracted
- Files:
-
- 58 edited
Legend:
- Unmodified
- Added
- Removed
-
extracted/aSM.ml
r2775 r2797 113 113 -> 'a1) -> addressing_mode -> 'a1 **) 114 114 let rec addressing_mode_rect_Type4 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 115 | DIRECT x_21 846 -> h_DIRECT x_21846116 | INDIRECT x_21 847 -> h_INDIRECT x_21847117 | EXT_INDIRECT x_21 848 -> h_EXT_INDIRECT x_21848118 | REGISTER x_21 849 -> h_REGISTER x_21849115 | DIRECT x_21925 -> h_DIRECT x_21925 116 | INDIRECT x_21926 -> h_INDIRECT x_21926 117 | EXT_INDIRECT x_21927 -> h_EXT_INDIRECT x_21927 118 | REGISTER x_21928 -> h_REGISTER x_21928 119 119 | ACC_A -> h_ACC_A 120 120 | ACC_B -> h_ACC_B 121 121 | DPTR -> h_DPTR 122 | DATA x_21 850 -> h_DATA x_21850123 | DATA16 x_21 851 -> h_DATA16 x_21851122 | DATA x_21929 -> h_DATA x_21929 123 | DATA16 x_21930 -> h_DATA16 x_21930 124 124 | ACC_DPTR -> h_ACC_DPTR 125 125 | ACC_PC -> h_ACC_PC … … 127 127 | INDIRECT_DPTR -> h_INDIRECT_DPTR 128 128 | CARRY -> h_CARRY 129 | BIT_ADDR x_21 852 -> h_BIT_ADDR x_21852130 | N_BIT_ADDR x_21 853 -> h_N_BIT_ADDR x_21853131 | RELATIVE x_21 854 -> h_RELATIVE x_21854132 | ADDR11 x_21 855 -> h_ADDR11 x_21855133 | ADDR16 x_21 856 -> h_ADDR16 x_21856129 | BIT_ADDR x_21931 -> h_BIT_ADDR x_21931 130 | N_BIT_ADDR x_21932 -> h_N_BIT_ADDR x_21932 131 | RELATIVE x_21933 -> h_RELATIVE x_21933 132 | ADDR11 x_21934 -> h_ADDR11 x_21934 133 | ADDR16 x_21935 -> h_ADDR16 x_21935 134 134 135 135 (** val addressing_mode_rect_Type5 : … … 141 141 -> 'a1) -> addressing_mode -> 'a1 **) 142 142 let rec addressing_mode_rect_Type5 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 143 | DIRECT x_21 877 -> h_DIRECT x_21877144 | INDIRECT x_21 878 -> h_INDIRECT x_21878145 | EXT_INDIRECT x_21 879 -> h_EXT_INDIRECT x_21879146 | REGISTER x_21 880 -> h_REGISTER x_21880143 | DIRECT x_21956 -> h_DIRECT x_21956 144 | INDIRECT x_21957 -> h_INDIRECT x_21957 145 | EXT_INDIRECT x_21958 -> h_EXT_INDIRECT x_21958 146 | REGISTER x_21959 -> h_REGISTER x_21959 147 147 | ACC_A -> h_ACC_A 148 148 | ACC_B -> h_ACC_B 149 149 | DPTR -> h_DPTR 150 | DATA x_21 881 -> h_DATA x_21881151 | DATA16 x_21 882 -> h_DATA16 x_21882150 | DATA x_21960 -> h_DATA x_21960 151 | DATA16 x_21961 -> h_DATA16 x_21961 152 152 | ACC_DPTR -> h_ACC_DPTR 153 153 | ACC_PC -> h_ACC_PC … … 155 155 | INDIRECT_DPTR -> h_INDIRECT_DPTR 156 156 | CARRY -> h_CARRY 157 | BIT_ADDR x_21 883 -> h_BIT_ADDR x_21883158 | N_BIT_ADDR x_21 884 -> h_N_BIT_ADDR x_21884159 | RELATIVE x_21 885 -> h_RELATIVE x_21885160 | ADDR11 x_21 886 -> h_ADDR11 x_21886161 | ADDR16 x_21 887 -> h_ADDR16 x_21887157 | BIT_ADDR x_21962 -> h_BIT_ADDR x_21962 158 | N_BIT_ADDR x_21963 -> h_N_BIT_ADDR x_21963 159 | RELATIVE x_21964 -> h_RELATIVE x_21964 160 | ADDR11 x_21965 -> h_ADDR11 x_21965 161 | ADDR16 x_21966 -> h_ADDR16 x_21966 162 162 163 163 (** val addressing_mode_rect_Type3 : … … 169 169 -> 'a1) -> addressing_mode -> 'a1 **) 170 170 let rec addressing_mode_rect_Type3 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 171 | DIRECT x_219 08 -> h_DIRECT x_21908172 | INDIRECT x_219 09 -> h_INDIRECT x_21909173 | EXT_INDIRECT x_219 10 -> h_EXT_INDIRECT x_21910174 | REGISTER x_219 11 -> h_REGISTER x_21911171 | DIRECT x_21987 -> h_DIRECT x_21987 172 | INDIRECT x_21988 -> h_INDIRECT x_21988 173 | EXT_INDIRECT x_21989 -> h_EXT_INDIRECT x_21989 174 | REGISTER x_21990 -> h_REGISTER x_21990 175 175 | ACC_A -> h_ACC_A 176 176 | ACC_B -> h_ACC_B 177 177 | DPTR -> h_DPTR 178 | DATA x_219 12 -> h_DATA x_21912179 | DATA16 x_219 13 -> h_DATA16 x_21913178 | DATA x_21991 -> h_DATA x_21991 179 | DATA16 x_21992 -> h_DATA16 x_21992 180 180 | ACC_DPTR -> h_ACC_DPTR 181 181 | ACC_PC -> h_ACC_PC … … 183 183 | INDIRECT_DPTR -> h_INDIRECT_DPTR 184 184 | CARRY -> h_CARRY 185 | BIT_ADDR x_219 14 -> h_BIT_ADDR x_21914186 | N_BIT_ADDR x_219 15 -> h_N_BIT_ADDR x_21915187 | RELATIVE x_219 16 -> h_RELATIVE x_21916188 | ADDR11 x_219 17 -> h_ADDR11 x_21917189 | ADDR16 x_219 18 -> h_ADDR16 x_21918185 | BIT_ADDR x_21993 -> h_BIT_ADDR x_21993 186 | N_BIT_ADDR x_21994 -> h_N_BIT_ADDR x_21994 187 | RELATIVE x_21995 -> h_RELATIVE x_21995 188 | ADDR11 x_21996 -> h_ADDR11 x_21996 189 | ADDR16 x_21997 -> h_ADDR16 x_21997 190 190 191 191 (** val addressing_mode_rect_Type2 : … … 197 197 -> 'a1) -> addressing_mode -> 'a1 **) 198 198 let rec addressing_mode_rect_Type2 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 199 | DIRECT x_2 1939 -> h_DIRECT x_21939200 | INDIRECT x_2 1940 -> h_INDIRECT x_21940201 | EXT_INDIRECT x_2 1941 -> h_EXT_INDIRECT x_21941202 | REGISTER x_2 1942 -> h_REGISTER x_21942199 | DIRECT x_22018 -> h_DIRECT x_22018 200 | INDIRECT x_22019 -> h_INDIRECT x_22019 201 | EXT_INDIRECT x_22020 -> h_EXT_INDIRECT x_22020 202 | REGISTER x_22021 -> h_REGISTER x_22021 203 203 | ACC_A -> h_ACC_A 204 204 | ACC_B -> h_ACC_B 205 205 | DPTR -> h_DPTR 206 | DATA x_2 1943 -> h_DATA x_21943207 | DATA16 x_2 1944 -> h_DATA16 x_21944206 | DATA x_22022 -> h_DATA x_22022 207 | DATA16 x_22023 -> h_DATA16 x_22023 208 208 | ACC_DPTR -> h_ACC_DPTR 209 209 | ACC_PC -> h_ACC_PC … … 211 211 | INDIRECT_DPTR -> h_INDIRECT_DPTR 212 212 | CARRY -> h_CARRY 213 | BIT_ADDR x_2 1945 -> h_BIT_ADDR x_21945214 | N_BIT_ADDR x_2 1946 -> h_N_BIT_ADDR x_21946215 | RELATIVE x_2 1947 -> h_RELATIVE x_21947216 | ADDR11 x_2 1948 -> h_ADDR11 x_21948217 | ADDR16 x_2 1949 -> h_ADDR16 x_21949213 | BIT_ADDR x_22024 -> h_BIT_ADDR x_22024 214 | N_BIT_ADDR x_22025 -> h_N_BIT_ADDR x_22025 215 | RELATIVE x_22026 -> h_RELATIVE x_22026 216 | ADDR11 x_22027 -> h_ADDR11 x_22027 217 | ADDR16 x_22028 -> h_ADDR16 x_22028 218 218 219 219 (** val addressing_mode_rect_Type1 : … … 225 225 -> 'a1) -> addressing_mode -> 'a1 **) 226 226 let rec addressing_mode_rect_Type1 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 227 | DIRECT x_2 1970 -> h_DIRECT x_21970228 | INDIRECT x_2 1971 -> h_INDIRECT x_21971229 | EXT_INDIRECT x_2 1972 -> h_EXT_INDIRECT x_21972230 | REGISTER x_2 1973 -> h_REGISTER x_21973227 | DIRECT x_22049 -> h_DIRECT x_22049 228 | INDIRECT x_22050 -> h_INDIRECT x_22050 229 | EXT_INDIRECT x_22051 -> h_EXT_INDIRECT x_22051 230 | REGISTER x_22052 -> h_REGISTER x_22052 231 231 | ACC_A -> h_ACC_A 232 232 | ACC_B -> h_ACC_B 233 233 | DPTR -> h_DPTR 234 | DATA x_2 1974 -> h_DATA x_21974235 | DATA16 x_2 1975 -> h_DATA16 x_21975234 | DATA x_22053 -> h_DATA x_22053 235 | DATA16 x_22054 -> h_DATA16 x_22054 236 236 | ACC_DPTR -> h_ACC_DPTR 237 237 | ACC_PC -> h_ACC_PC … … 239 239 | INDIRECT_DPTR -> h_INDIRECT_DPTR 240 240 | CARRY -> h_CARRY 241 | BIT_ADDR x_2 1976 -> h_BIT_ADDR x_21976242 | N_BIT_ADDR x_2 1977 -> h_N_BIT_ADDR x_21977243 | RELATIVE x_2 1978 -> h_RELATIVE x_21978244 | ADDR11 x_2 1979 -> h_ADDR11 x_21979245 | ADDR16 x_2 1980 -> h_ADDR16 x_21980241 | BIT_ADDR x_22055 -> h_BIT_ADDR x_22055 242 | N_BIT_ADDR x_22056 -> h_N_BIT_ADDR x_22056 243 | RELATIVE x_22057 -> h_RELATIVE x_22057 244 | ADDR11 x_22058 -> h_ADDR11 x_22058 245 | ADDR16 x_22059 -> h_ADDR16 x_22059 246 246 247 247 (** val addressing_mode_rect_Type0 : … … 253 253 -> 'a1) -> addressing_mode -> 'a1 **) 254 254 let rec addressing_mode_rect_Type0 h_DIRECT h_INDIRECT h_EXT_INDIRECT h_REGISTER h_ACC_A h_ACC_B h_DPTR h_DATA h_DATA16 h_ACC_DPTR h_ACC_PC h_EXT_INDIRECT_DPTR h_INDIRECT_DPTR h_CARRY h_BIT_ADDR h_N_BIT_ADDR h_RELATIVE h_ADDR11 h_ADDR16 = function 255 | DIRECT x_220 01 -> h_DIRECT x_22001256 | INDIRECT x_220 02 -> h_INDIRECT x_22002257 | EXT_INDIRECT x_220 03 -> h_EXT_INDIRECT x_22003258 | REGISTER x_220 04 -> h_REGISTER x_22004255 | DIRECT x_22080 -> h_DIRECT x_22080 256 | INDIRECT x_22081 -> h_INDIRECT x_22081 257 | EXT_INDIRECT x_22082 -> h_EXT_INDIRECT x_22082 258 | REGISTER x_22083 -> h_REGISTER x_22083 259 259 | ACC_A -> h_ACC_A 260 260 | ACC_B -> h_ACC_B 261 261 | DPTR -> h_DPTR 262 | DATA x_220 05 -> h_DATA x_22005263 | DATA16 x_220 06 -> h_DATA16 x_22006262 | DATA x_22084 -> h_DATA x_22084 263 | DATA16 x_22085 -> h_DATA16 x_22085 264 264 | ACC_DPTR -> h_ACC_DPTR 265 265 | ACC_PC -> h_ACC_PC … … 267 267 | INDIRECT_DPTR -> h_INDIRECT_DPTR 268 268 | CARRY -> h_CARRY 269 | BIT_ADDR x_220 07 -> h_BIT_ADDR x_22007270 | N_BIT_ADDR x_220 08 -> h_N_BIT_ADDR x_22008271 | RELATIVE x_220 09 -> h_RELATIVE x_22009272 | ADDR11 x_220 10 -> h_ADDR11 x_22010273 | ADDR16 x_220 11 -> h_ADDR16 x_22011269 | BIT_ADDR x_22086 -> h_BIT_ADDR x_22086 270 | N_BIT_ADDR x_22087 -> h_N_BIT_ADDR x_22087 271 | RELATIVE x_22088 -> h_RELATIVE x_22088 272 | ADDR11 x_22089 -> h_ADDR11 x_22089 273 | ADDR16 x_22090 -> h_ADDR16 x_22090 274 274 275 275 (** val addressing_mode_inv_rect_Type4 : … … 1926 1926 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1927 1927 'a1) -> subaddressing_mode -> 'a1 **) 1928 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22 479=1929 let subaddressing_modeel = x_22 479in1928 let rec subaddressing_mode_rect_Type4 n l h_mk_subaddressing_mode x_22558 = 1929 let subaddressing_modeel = x_22558 in 1930 1930 h_mk_subaddressing_mode subaddressing_modeel __ 1931 1931 … … 1933 1933 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1934 1934 'a1) -> subaddressing_mode -> 'a1 **) 1935 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22 481=1936 let subaddressing_modeel = x_22 481in1935 let rec subaddressing_mode_rect_Type5 n l h_mk_subaddressing_mode x_22560 = 1936 let subaddressing_modeel = x_22560 in 1937 1937 h_mk_subaddressing_mode subaddressing_modeel __ 1938 1938 … … 1940 1940 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1941 1941 'a1) -> subaddressing_mode -> 'a1 **) 1942 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22 483=1943 let subaddressing_modeel = x_22 483in1942 let rec subaddressing_mode_rect_Type3 n l h_mk_subaddressing_mode x_22562 = 1943 let subaddressing_modeel = x_22562 in 1944 1944 h_mk_subaddressing_mode subaddressing_modeel __ 1945 1945 … … 1947 1947 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1948 1948 'a1) -> subaddressing_mode -> 'a1 **) 1949 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22 485=1950 let subaddressing_modeel = x_22 485in1949 let rec subaddressing_mode_rect_Type2 n l h_mk_subaddressing_mode x_22564 = 1950 let subaddressing_modeel = x_22564 in 1951 1951 h_mk_subaddressing_mode subaddressing_modeel __ 1952 1952 … … 1954 1954 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1955 1955 'a1) -> subaddressing_mode -> 'a1 **) 1956 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22 487=1957 let subaddressing_modeel = x_22 487in1956 let rec subaddressing_mode_rect_Type1 n l h_mk_subaddressing_mode x_22566 = 1957 let subaddressing_modeel = x_22566 in 1958 1958 h_mk_subaddressing_mode subaddressing_modeel __ 1959 1959 … … 1961 1961 Nat.nat -> addressing_mode_tag Vector.vector -> (addressing_mode -> __ -> 1962 1962 'a1) -> subaddressing_mode -> 'a1 **) 1963 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22 489=1964 let subaddressing_modeel = x_22 489in1963 let rec subaddressing_mode_rect_Type0 n l h_mk_subaddressing_mode x_22568 = 1964 let subaddressing_modeel = x_22568 in 1965 1965 h_mk_subaddressing_mode subaddressing_modeel __ 1966 1966 … … 2288 2288 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2289 2289 let rec preinstruction_rect_Type4 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2290 | ADD (x_22 591, x_22590) -> h_ADD x_22591 x_225902291 | ADDC (x_22 593, x_22592) -> h_ADDC x_22593 x_225922292 | SUBB (x_22 595, x_22594) -> h_SUBB x_22595 x_225942293 | INC x_22 596 -> h_INC x_225962294 | DEC x_22 597 -> h_DEC x_225972295 | MUL (x_22 599, x_22598) -> h_MUL x_22599 x_225982296 | DIV (x_226 01, x_22600) -> h_DIV x_22601 x_226002297 | DA x_226 02 -> h_DA x_226022298 | JC x_226 03 -> h_JC x_226032299 | JNC x_226 04 -> h_JNC x_226042300 | JB (x_226 06, x_22605) -> h_JB x_22606 x_226052301 | JNB (x_226 08, x_22607) -> h_JNB x_22608 x_226072302 | JBC (x_226 10, x_22609) -> h_JBC x_22610 x_226092303 | JZ x_226 11 -> h_JZ x_226112304 | JNZ x_226 12 -> h_JNZ x_226122305 | CJNE (x_226 14, x_22613) -> h_CJNE x_22614 x_226132306 | DJNZ (x_226 16, x_22615) -> h_DJNZ x_22616 x_226152307 | ANL x_226 17 -> h_ANL x_226172308 | ORL x_226 18 -> h_ORL x_226182309 | XRL x_226 19 -> h_XRL x_226192310 | CLR x_226 20 -> h_CLR x_226202311 | CPL x_22 621 -> h_CPL x_226212312 | RL x_22 622 -> h_RL x_226222313 | RLC x_22 623 -> h_RLC x_226232314 | RR x_22 624 -> h_RR x_226242315 | RRC x_22 625 -> h_RRC x_226252316 | SWAP x_22 626 -> h_SWAP x_226262317 | MOV x_22 627 -> h_MOV x_226272318 | MOVX x_22 628 -> h_MOVX x_226282319 | SETB x_22 629 -> h_SETB x_226292320 | PUSH x_22 630 -> h_PUSH x_226302321 | POP x_22 631 -> h_POP x_226312322 | XCH (x_22 633, x_22632) -> h_XCH x_22633 x_226322323 | XCHD (x_22 635, x_22634) -> h_XCHD x_22635 x_226342290 | ADD (x_22670, x_22669) -> h_ADD x_22670 x_22669 2291 | ADDC (x_22672, x_22671) -> h_ADDC x_22672 x_22671 2292 | SUBB (x_22674, x_22673) -> h_SUBB x_22674 x_22673 2293 | INC x_22675 -> h_INC x_22675 2294 | DEC x_22676 -> h_DEC x_22676 2295 | MUL (x_22678, x_22677) -> h_MUL x_22678 x_22677 2296 | DIV (x_22680, x_22679) -> h_DIV x_22680 x_22679 2297 | DA x_22681 -> h_DA x_22681 2298 | JC x_22682 -> h_JC x_22682 2299 | JNC x_22683 -> h_JNC x_22683 2300 | JB (x_22685, x_22684) -> h_JB x_22685 x_22684 2301 | JNB (x_22687, x_22686) -> h_JNB x_22687 x_22686 2302 | JBC (x_22689, x_22688) -> h_JBC x_22689 x_22688 2303 | JZ x_22690 -> h_JZ x_22690 2304 | JNZ x_22691 -> h_JNZ x_22691 2305 | CJNE (x_22693, x_22692) -> h_CJNE x_22693 x_22692 2306 | DJNZ (x_22695, x_22694) -> h_DJNZ x_22695 x_22694 2307 | ANL x_22696 -> h_ANL x_22696 2308 | ORL x_22697 -> h_ORL x_22697 2309 | XRL x_22698 -> h_XRL x_22698 2310 | CLR x_22699 -> h_CLR x_22699 2311 | CPL x_22700 -> h_CPL x_22700 2312 | RL x_22701 -> h_RL x_22701 2313 | RLC x_22702 -> h_RLC x_22702 2314 | RR x_22703 -> h_RR x_22703 2315 | RRC x_22704 -> h_RRC x_22704 2316 | SWAP x_22705 -> h_SWAP x_22705 2317 | MOV x_22706 -> h_MOV x_22706 2318 | MOVX x_22707 -> h_MOVX x_22707 2319 | SETB x_22708 -> h_SETB x_22708 2320 | PUSH x_22709 -> h_PUSH x_22709 2321 | POP x_22710 -> h_POP x_22710 2322 | XCH (x_22712, x_22711) -> h_XCH x_22712 x_22711 2323 | XCHD (x_22714, x_22713) -> h_XCHD x_22714 x_22713 2324 2324 | RET -> h_RET 2325 2325 | RETI -> h_RETI 2326 2326 | NOP -> h_NOP 2327 | JMP x_22 636 -> h_JMP x_226362327 | JMP x_22715 -> h_JMP x_22715 2328 2328 2329 2329 (** val preinstruction_rect_Type5 : … … 2363 2363 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2364 2364 let rec preinstruction_rect_Type5 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2365 | ADD (x_22 677, x_22676) -> h_ADD x_22677 x_226762366 | ADDC (x_22 679, x_22678) -> h_ADDC x_22679 x_226782367 | SUBB (x_22 681, x_22680) -> h_SUBB x_22681 x_226802368 | INC x_22 682 -> h_INC x_226822369 | DEC x_22 683 -> h_DEC x_226832370 | MUL (x_22 685, x_22684) -> h_MUL x_22685 x_226842371 | DIV (x_22 687, x_22686) -> h_DIV x_22687 x_226862372 | DA x_22 688 -> h_DA x_226882373 | JC x_22 689 -> h_JC x_226892374 | JNC x_22 690 -> h_JNC x_226902375 | JB (x_22 692, x_22691) -> h_JB x_22692 x_226912376 | JNB (x_22 694, x_22693) -> h_JNB x_22694 x_226932377 | JBC (x_22 696, x_22695) -> h_JBC x_22696 x_226952378 | JZ x_22 697 -> h_JZ x_226972379 | JNZ x_22 698 -> h_JNZ x_226982380 | CJNE (x_227 00, x_22699) -> h_CJNE x_22700 x_226992381 | DJNZ (x_227 02, x_22701) -> h_DJNZ x_22702 x_227012382 | ANL x_227 03 -> h_ANL x_227032383 | ORL x_227 04 -> h_ORL x_227042384 | XRL x_227 05 -> h_XRL x_227052385 | CLR x_227 06 -> h_CLR x_227062386 | CPL x_227 07 -> h_CPL x_227072387 | RL x_227 08 -> h_RL x_227082388 | RLC x_227 09 -> h_RLC x_227092389 | RR x_227 10 -> h_RR x_227102390 | RRC x_227 11 -> h_RRC x_227112391 | SWAP x_227 12 -> h_SWAP x_227122392 | MOV x_227 13 -> h_MOV x_227132393 | MOVX x_227 14 -> h_MOVX x_227142394 | SETB x_227 15 -> h_SETB x_227152395 | PUSH x_227 16 -> h_PUSH x_227162396 | POP x_227 17 -> h_POP x_227172397 | XCH (x_227 19, x_22718) -> h_XCH x_22719 x_227182398 | XCHD (x_22 721, x_22720) -> h_XCHD x_22721 x_227202365 | ADD (x_22756, x_22755) -> h_ADD x_22756 x_22755 2366 | ADDC (x_22758, x_22757) -> h_ADDC x_22758 x_22757 2367 | SUBB (x_22760, x_22759) -> h_SUBB x_22760 x_22759 2368 | INC x_22761 -> h_INC x_22761 2369 | DEC x_22762 -> h_DEC x_22762 2370 | MUL (x_22764, x_22763) -> h_MUL x_22764 x_22763 2371 | DIV (x_22766, x_22765) -> h_DIV x_22766 x_22765 2372 | DA x_22767 -> h_DA x_22767 2373 | JC x_22768 -> h_JC x_22768 2374 | JNC x_22769 -> h_JNC x_22769 2375 | JB (x_22771, x_22770) -> h_JB x_22771 x_22770 2376 | JNB (x_22773, x_22772) -> h_JNB x_22773 x_22772 2377 | JBC (x_22775, x_22774) -> h_JBC x_22775 x_22774 2378 | JZ x_22776 -> h_JZ x_22776 2379 | JNZ x_22777 -> h_JNZ x_22777 2380 | CJNE (x_22779, x_22778) -> h_CJNE x_22779 x_22778 2381 | DJNZ (x_22781, x_22780) -> h_DJNZ x_22781 x_22780 2382 | ANL x_22782 -> h_ANL x_22782 2383 | ORL x_22783 -> h_ORL x_22783 2384 | XRL x_22784 -> h_XRL x_22784 2385 | CLR x_22785 -> h_CLR x_22785 2386 | CPL x_22786 -> h_CPL x_22786 2387 | RL x_22787 -> h_RL x_22787 2388 | RLC x_22788 -> h_RLC x_22788 2389 | RR x_22789 -> h_RR x_22789 2390 | RRC x_22790 -> h_RRC x_22790 2391 | SWAP x_22791 -> h_SWAP x_22791 2392 | MOV x_22792 -> h_MOV x_22792 2393 | MOVX x_22793 -> h_MOVX x_22793 2394 | SETB x_22794 -> h_SETB x_22794 2395 | PUSH x_22795 -> h_PUSH x_22795 2396 | POP x_22796 -> h_POP x_22796 2397 | XCH (x_22798, x_22797) -> h_XCH x_22798 x_22797 2398 | XCHD (x_22800, x_22799) -> h_XCHD x_22800 x_22799 2399 2399 | RET -> h_RET 2400 2400 | RETI -> h_RETI 2401 2401 | NOP -> h_NOP 2402 | JMP x_22 722 -> h_JMP x_227222402 | JMP x_22801 -> h_JMP x_22801 2403 2403 2404 2404 (** val preinstruction_rect_Type3 : … … 2438 2438 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2439 2439 let rec preinstruction_rect_Type3 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2440 | ADD (x_22 763, x_22762) -> h_ADD x_22763 x_227622441 | ADDC (x_22 765, x_22764) -> h_ADDC x_22765 x_227642442 | SUBB (x_22 767, x_22766) -> h_SUBB x_22767 x_227662443 | INC x_22 768 -> h_INC x_227682444 | DEC x_22 769 -> h_DEC x_227692445 | MUL (x_22 771, x_22770) -> h_MUL x_22771 x_227702446 | DIV (x_22 773, x_22772) -> h_DIV x_22773 x_227722447 | DA x_22 774 -> h_DA x_227742448 | JC x_22 775 -> h_JC x_227752449 | JNC x_22 776 -> h_JNC x_227762450 | JB (x_22 778, x_22777) -> h_JB x_22778 x_227772451 | JNB (x_22 780, x_22779) -> h_JNB x_22780 x_227792452 | JBC (x_22 782, x_22781) -> h_JBC x_22782 x_227812453 | JZ x_22 783 -> h_JZ x_227832454 | JNZ x_22 784 -> h_JNZ x_227842455 | CJNE (x_22 786, x_22785) -> h_CJNE x_22786 x_227852456 | DJNZ (x_22 788, x_22787) -> h_DJNZ x_22788 x_227872457 | ANL x_22 789 -> h_ANL x_227892458 | ORL x_22 790 -> h_ORL x_227902459 | XRL x_22 791 -> h_XRL x_227912460 | CLR x_22 792 -> h_CLR x_227922461 | CPL x_22 793 -> h_CPL x_227932462 | RL x_22 794 -> h_RL x_227942463 | RLC x_22 795 -> h_RLC x_227952464 | RR x_22 796 -> h_RR x_227962465 | RRC x_22 797 -> h_RRC x_227972466 | SWAP x_22 798 -> h_SWAP x_227982467 | MOV x_22 799 -> h_MOV x_227992468 | MOVX x_228 00 -> h_MOVX x_228002469 | SETB x_228 01 -> h_SETB x_228012470 | PUSH x_228 02 -> h_PUSH x_228022471 | POP x_228 03 -> h_POP x_228032472 | XCH (x_228 05, x_22804) -> h_XCH x_22805 x_228042473 | XCHD (x_228 07, x_22806) -> h_XCHD x_22807 x_228062440 | ADD (x_22842, x_22841) -> h_ADD x_22842 x_22841 2441 | ADDC (x_22844, x_22843) -> h_ADDC x_22844 x_22843 2442 | SUBB (x_22846, x_22845) -> h_SUBB x_22846 x_22845 2443 | INC x_22847 -> h_INC x_22847 2444 | DEC x_22848 -> h_DEC x_22848 2445 | MUL (x_22850, x_22849) -> h_MUL x_22850 x_22849 2446 | DIV (x_22852, x_22851) -> h_DIV x_22852 x_22851 2447 | DA x_22853 -> h_DA x_22853 2448 | JC x_22854 -> h_JC x_22854 2449 | JNC x_22855 -> h_JNC x_22855 2450 | JB (x_22857, x_22856) -> h_JB x_22857 x_22856 2451 | JNB (x_22859, x_22858) -> h_JNB x_22859 x_22858 2452 | JBC (x_22861, x_22860) -> h_JBC x_22861 x_22860 2453 | JZ x_22862 -> h_JZ x_22862 2454 | JNZ x_22863 -> h_JNZ x_22863 2455 | CJNE (x_22865, x_22864) -> h_CJNE x_22865 x_22864 2456 | DJNZ (x_22867, x_22866) -> h_DJNZ x_22867 x_22866 2457 | ANL x_22868 -> h_ANL x_22868 2458 | ORL x_22869 -> h_ORL x_22869 2459 | XRL x_22870 -> h_XRL x_22870 2460 | CLR x_22871 -> h_CLR x_22871 2461 | CPL x_22872 -> h_CPL x_22872 2462 | RL x_22873 -> h_RL x_22873 2463 | RLC x_22874 -> h_RLC x_22874 2464 | RR x_22875 -> h_RR x_22875 2465 | RRC x_22876 -> h_RRC x_22876 2466 | SWAP x_22877 -> h_SWAP x_22877 2467 | MOV x_22878 -> h_MOV x_22878 2468 | MOVX x_22879 -> h_MOVX x_22879 2469 | SETB x_22880 -> h_SETB x_22880 2470 | PUSH x_22881 -> h_PUSH x_22881 2471 | POP x_22882 -> h_POP x_22882 2472 | XCH (x_22884, x_22883) -> h_XCH x_22884 x_22883 2473 | XCHD (x_22886, x_22885) -> h_XCHD x_22886 x_22885 2474 2474 | RET -> h_RET 2475 2475 | RETI -> h_RETI 2476 2476 | NOP -> h_NOP 2477 | JMP x_228 08 -> h_JMP x_228082477 | JMP x_22887 -> h_JMP x_22887 2478 2478 2479 2479 (** val preinstruction_rect_Type2 : … … 2513 2513 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2514 2514 let rec preinstruction_rect_Type2 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2515 | ADD (x_22 849, x_22848) -> h_ADD x_22849 x_228482516 | ADDC (x_22 851, x_22850) -> h_ADDC x_22851 x_228502517 | SUBB (x_22 853, x_22852) -> h_SUBB x_22853 x_228522518 | INC x_22 854 -> h_INC x_228542519 | DEC x_22 855 -> h_DEC x_228552520 | MUL (x_22 857, x_22856) -> h_MUL x_22857 x_228562521 | DIV (x_22 859, x_22858) -> h_DIV x_22859 x_228582522 | DA x_22 860 -> h_DA x_228602523 | JC x_22 861 -> h_JC x_228612524 | JNC x_22 862 -> h_JNC x_228622525 | JB (x_22 864, x_22863) -> h_JB x_22864 x_228632526 | JNB (x_22 866, x_22865) -> h_JNB x_22866 x_228652527 | JBC (x_22 868, x_22867) -> h_JBC x_22868 x_228672528 | JZ x_22 869 -> h_JZ x_228692529 | JNZ x_22 870 -> h_JNZ x_228702530 | CJNE (x_22 872, x_22871) -> h_CJNE x_22872 x_228712531 | DJNZ (x_22 874, x_22873) -> h_DJNZ x_22874 x_228732532 | ANL x_22 875 -> h_ANL x_228752533 | ORL x_22 876 -> h_ORL x_228762534 | XRL x_22 877 -> h_XRL x_228772535 | CLR x_22 878 -> h_CLR x_228782536 | CPL x_22 879 -> h_CPL x_228792537 | RL x_22 880 -> h_RL x_228802538 | RLC x_22 881 -> h_RLC x_228812539 | RR x_22 882 -> h_RR x_228822540 | RRC x_22 883 -> h_RRC x_228832541 | SWAP x_22 884 -> h_SWAP x_228842542 | MOV x_22 885 -> h_MOV x_228852543 | MOVX x_22 886 -> h_MOVX x_228862544 | SETB x_22 887 -> h_SETB x_228872545 | PUSH x_22 888 -> h_PUSH x_228882546 | POP x_22 889 -> h_POP x_228892547 | XCH (x_22 891, x_22890) -> h_XCH x_22891 x_228902548 | XCHD (x_22 893, x_22892) -> h_XCHD x_22893 x_228922515 | ADD (x_22928, x_22927) -> h_ADD x_22928 x_22927 2516 | ADDC (x_22930, x_22929) -> h_ADDC x_22930 x_22929 2517 | SUBB (x_22932, x_22931) -> h_SUBB x_22932 x_22931 2518 | INC x_22933 -> h_INC x_22933 2519 | DEC x_22934 -> h_DEC x_22934 2520 | MUL (x_22936, x_22935) -> h_MUL x_22936 x_22935 2521 | DIV (x_22938, x_22937) -> h_DIV x_22938 x_22937 2522 | DA x_22939 -> h_DA x_22939 2523 | JC x_22940 -> h_JC x_22940 2524 | JNC x_22941 -> h_JNC x_22941 2525 | JB (x_22943, x_22942) -> h_JB x_22943 x_22942 2526 | JNB (x_22945, x_22944) -> h_JNB x_22945 x_22944 2527 | JBC (x_22947, x_22946) -> h_JBC x_22947 x_22946 2528 | JZ x_22948 -> h_JZ x_22948 2529 | JNZ x_22949 -> h_JNZ x_22949 2530 | CJNE (x_22951, x_22950) -> h_CJNE x_22951 x_22950 2531 | DJNZ (x_22953, x_22952) -> h_DJNZ x_22953 x_22952 2532 | ANL x_22954 -> h_ANL x_22954 2533 | ORL x_22955 -> h_ORL x_22955 2534 | XRL x_22956 -> h_XRL x_22956 2535 | CLR x_22957 -> h_CLR x_22957 2536 | CPL x_22958 -> h_CPL x_22958 2537 | RL x_22959 -> h_RL x_22959 2538 | RLC x_22960 -> h_RLC x_22960 2539 | RR x_22961 -> h_RR x_22961 2540 | RRC x_22962 -> h_RRC x_22962 2541 | SWAP x_22963 -> h_SWAP x_22963 2542 | MOV x_22964 -> h_MOV x_22964 2543 | MOVX x_22965 -> h_MOVX x_22965 2544 | SETB x_22966 -> h_SETB x_22966 2545 | PUSH x_22967 -> h_PUSH x_22967 2546 | POP x_22968 -> h_POP x_22968 2547 | XCH (x_22970, x_22969) -> h_XCH x_22970 x_22969 2548 | XCHD (x_22972, x_22971) -> h_XCHD x_22972 x_22971 2549 2549 | RET -> h_RET 2550 2550 | RETI -> h_RETI 2551 2551 | NOP -> h_NOP 2552 | JMP x_22 894 -> h_JMP x_228942552 | JMP x_22973 -> h_JMP x_22973 2553 2553 2554 2554 (** val preinstruction_rect_Type1 : … … 2588 2588 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2589 2589 let rec preinstruction_rect_Type1 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2590 | ADD (x_2 2935, x_22934) -> h_ADD x_22935 x_229342591 | ADDC (x_2 2937, x_22936) -> h_ADDC x_22937 x_229362592 | SUBB (x_2 2939, x_22938) -> h_SUBB x_22939 x_229382593 | INC x_2 2940 -> h_INC x_229402594 | DEC x_2 2941 -> h_DEC x_229412595 | MUL (x_2 2943, x_22942) -> h_MUL x_22943 x_229422596 | DIV (x_2 2945, x_22944) -> h_DIV x_22945 x_229442597 | DA x_2 2946 -> h_DA x_229462598 | JC x_2 2947 -> h_JC x_229472599 | JNC x_2 2948 -> h_JNC x_229482600 | JB (x_2 2950, x_22949) -> h_JB x_22950 x_229492601 | JNB (x_2 2952, x_22951) -> h_JNB x_22952 x_229512602 | JBC (x_2 2954, x_22953) -> h_JBC x_22954 x_229532603 | JZ x_2 2955 -> h_JZ x_229552604 | JNZ x_2 2956 -> h_JNZ x_229562605 | CJNE (x_2 2958, x_22957) -> h_CJNE x_22958 x_229572606 | DJNZ (x_2 2960, x_22959) -> h_DJNZ x_22960 x_229592607 | ANL x_2 2961 -> h_ANL x_229612608 | ORL x_2 2962 -> h_ORL x_229622609 | XRL x_2 2963 -> h_XRL x_229632610 | CLR x_2 2964 -> h_CLR x_229642611 | CPL x_2 2965 -> h_CPL x_229652612 | RL x_2 2966 -> h_RL x_229662613 | RLC x_2 2967 -> h_RLC x_229672614 | RR x_2 2968 -> h_RR x_229682615 | RRC x_2 2969 -> h_RRC x_229692616 | SWAP x_2 2970 -> h_SWAP x_229702617 | MOV x_2 2971 -> h_MOV x_229712618 | MOVX x_2 2972 -> h_MOVX x_229722619 | SETB x_2 2973 -> h_SETB x_229732620 | PUSH x_2 2974 -> h_PUSH x_229742621 | POP x_2 2975 -> h_POP x_229752622 | XCH (x_2 2977, x_22976) -> h_XCH x_22977 x_229762623 | XCHD (x_2 2979, x_22978) -> h_XCHD x_22979 x_229782590 | ADD (x_23014, x_23013) -> h_ADD x_23014 x_23013 2591 | ADDC (x_23016, x_23015) -> h_ADDC x_23016 x_23015 2592 | SUBB (x_23018, x_23017) -> h_SUBB x_23018 x_23017 2593 | INC x_23019 -> h_INC x_23019 2594 | DEC x_23020 -> h_DEC x_23020 2595 | MUL (x_23022, x_23021) -> h_MUL x_23022 x_23021 2596 | DIV (x_23024, x_23023) -> h_DIV x_23024 x_23023 2597 | DA x_23025 -> h_DA x_23025 2598 | JC x_23026 -> h_JC x_23026 2599 | JNC x_23027 -> h_JNC x_23027 2600 | JB (x_23029, x_23028) -> h_JB x_23029 x_23028 2601 | JNB (x_23031, x_23030) -> h_JNB x_23031 x_23030 2602 | JBC (x_23033, x_23032) -> h_JBC x_23033 x_23032 2603 | JZ x_23034 -> h_JZ x_23034 2604 | JNZ x_23035 -> h_JNZ x_23035 2605 | CJNE (x_23037, x_23036) -> h_CJNE x_23037 x_23036 2606 | DJNZ (x_23039, x_23038) -> h_DJNZ x_23039 x_23038 2607 | ANL x_23040 -> h_ANL x_23040 2608 | ORL x_23041 -> h_ORL x_23041 2609 | XRL x_23042 -> h_XRL x_23042 2610 | CLR x_23043 -> h_CLR x_23043 2611 | CPL x_23044 -> h_CPL x_23044 2612 | RL x_23045 -> h_RL x_23045 2613 | RLC x_23046 -> h_RLC x_23046 2614 | RR x_23047 -> h_RR x_23047 2615 | RRC x_23048 -> h_RRC x_23048 2616 | SWAP x_23049 -> h_SWAP x_23049 2617 | MOV x_23050 -> h_MOV x_23050 2618 | MOVX x_23051 -> h_MOVX x_23051 2619 | SETB x_23052 -> h_SETB x_23052 2620 | PUSH x_23053 -> h_PUSH x_23053 2621 | POP x_23054 -> h_POP x_23054 2622 | XCH (x_23056, x_23055) -> h_XCH x_23056 x_23055 2623 | XCHD (x_23058, x_23057) -> h_XCHD x_23058 x_23057 2624 2624 | RET -> h_RET 2625 2625 | RETI -> h_RETI 2626 2626 | NOP -> h_NOP 2627 | JMP x_2 2980 -> h_JMP x_229802627 | JMP x_23059 -> h_JMP x_23059 2628 2628 2629 2629 (** val preinstruction_rect_Type0 : … … 2663 2663 'a2 -> 'a2 -> (subaddressing_mode -> 'a2) -> 'a1 preinstruction -> 'a2 **) 2664 2664 let rec preinstruction_rect_Type0 h_ADD h_ADDC h_SUBB h_INC h_DEC h_MUL h_DIV h_DA h_JC h_JNC h_JB h_JNB h_JBC h_JZ h_JNZ h_CJNE h_DJNZ h_ANL h_ORL h_XRL h_CLR h_CPL h_RL h_RLC h_RR h_RRC h_SWAP h_MOV h_MOVX h_SETB h_PUSH h_POP h_XCH h_XCHD h_RET h_RETI h_NOP h_JMP = function 2665 | ADD (x_23 021, x_23020) -> h_ADD x_23021 x_230202666 | ADDC (x_23 023, x_23022) -> h_ADDC x_23023 x_230222667 | SUBB (x_23 025, x_23024) -> h_SUBB x_23025 x_230242668 | INC x_23 026 -> h_INC x_230262669 | DEC x_23 027 -> h_DEC x_230272670 | MUL (x_23 029, x_23028) -> h_MUL x_23029 x_230282671 | DIV (x_23 031, x_23030) -> h_DIV x_23031 x_230302672 | DA x_23 032 -> h_DA x_230322673 | JC x_23 033 -> h_JC x_230332674 | JNC x_23 034 -> h_JNC x_230342675 | JB (x_23 036, x_23035) -> h_JB x_23036 x_230352676 | JNB (x_23 038, x_23037) -> h_JNB x_23038 x_230372677 | JBC (x_23 040, x_23039) -> h_JBC x_23040 x_230392678 | JZ x_23 041 -> h_JZ x_230412679 | JNZ x_23 042 -> h_JNZ x_230422680 | CJNE (x_23 044, x_23043) -> h_CJNE x_23044 x_230432681 | DJNZ (x_23 046, x_23045) -> h_DJNZ x_23046 x_230452682 | ANL x_23 047 -> h_ANL x_230472683 | ORL x_23 048 -> h_ORL x_230482684 | XRL x_23 049 -> h_XRL x_230492685 | CLR x_23 050 -> h_CLR x_230502686 | CPL x_23 051 -> h_CPL x_230512687 | RL x_23 052 -> h_RL x_230522688 | RLC x_23 053 -> h_RLC x_230532689 | RR x_23 054 -> h_RR x_230542690 | RRC x_23 055 -> h_RRC x_230552691 | SWAP x_23 056 -> h_SWAP x_230562692 | MOV x_23 057 -> h_MOV x_230572693 | MOVX x_23 058 -> h_MOVX x_230582694 | SETB x_23 059 -> h_SETB x_230592695 | PUSH x_23 060 -> h_PUSH x_230602696 | POP x_23 061 -> h_POP x_230612697 | XCH (x_23 063, x_23062) -> h_XCH x_23063 x_230622698 | XCHD (x_23 065, x_23064) -> h_XCHD x_23065 x_230642665 | ADD (x_23100, x_23099) -> h_ADD x_23100 x_23099 2666 | ADDC (x_23102, x_23101) -> h_ADDC x_23102 x_23101 2667 | SUBB (x_23104, x_23103) -> h_SUBB x_23104 x_23103 2668 | INC x_23105 -> h_INC x_23105 2669 | DEC x_23106 -> h_DEC x_23106 2670 | MUL (x_23108, x_23107) -> h_MUL x_23108 x_23107 2671 | DIV (x_23110, x_23109) -> h_DIV x_23110 x_23109 2672 | DA x_23111 -> h_DA x_23111 2673 | JC x_23112 -> h_JC x_23112 2674 | JNC x_23113 -> h_JNC x_23113 2675 | JB (x_23115, x_23114) -> h_JB x_23115 x_23114 2676 | JNB (x_23117, x_23116) -> h_JNB x_23117 x_23116 2677 | JBC (x_23119, x_23118) -> h_JBC x_23119 x_23118 2678 | JZ x_23120 -> h_JZ x_23120 2679 | JNZ x_23121 -> h_JNZ x_23121 2680 | CJNE (x_23123, x_23122) -> h_CJNE x_23123 x_23122 2681 | DJNZ (x_23125, x_23124) -> h_DJNZ x_23125 x_23124 2682 | ANL x_23126 -> h_ANL x_23126 2683 | ORL x_23127 -> h_ORL x_23127 2684 | XRL x_23128 -> h_XRL x_23128 2685 | CLR x_23129 -> h_CLR x_23129 2686 | CPL x_23130 -> h_CPL x_23130 2687 | RL x_23131 -> h_RL x_23131 2688 | RLC x_23132 -> h_RLC x_23132 2689 | RR x_23133 -> h_RR x_23133 2690 | RRC x_23134 -> h_RRC x_23134 2691 | SWAP x_23135 -> h_SWAP x_23135 2692 | MOV x_23136 -> h_MOV x_23136 2693 | MOVX x_23137 -> h_MOVX x_23137 2694 | SETB x_23138 -> h_SETB x_23138 2695 | PUSH x_23139 -> h_PUSH x_23139 2696 | POP x_23140 -> h_POP x_23140 2697 | XCH (x_23142, x_23141) -> h_XCH x_23142 x_23141 2698 | XCHD (x_23144, x_23143) -> h_XCHD x_23144 x_23143 2699 2699 | RET -> h_RET 2700 2700 | RETI -> h_RETI 2701 2701 | NOP -> h_NOP 2702 | JMP x_23 066 -> h_JMP x_230662702 | JMP x_23145 -> h_JMP x_23145 2703 2703 2704 2704 (** val preinstruction_inv_rect_Type4 : … … 5104 5104 'a1 **) 5105 5105 let rec instruction_rect_Type4 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5106 | ACALL x_23 638 -> h_ACALL x_236385107 | LCALL x_23 639 -> h_LCALL x_236395108 | AJMP x_23 640 -> h_AJMP x_236405109 | LJMP x_23 641 -> h_LJMP x_236415110 | SJMP x_23 642 -> h_SJMP x_236425111 | MOVC (x_23 644, x_23643) -> h_MOVC x_23644 x_236435112 | RealInstruction x_23 645 -> h_RealInstruction x_236455106 | ACALL x_23717 -> h_ACALL x_23717 5107 | LCALL x_23718 -> h_LCALL x_23718 5108 | AJMP x_23719 -> h_AJMP x_23719 5109 | LJMP x_23720 -> h_LJMP x_23720 5110 | SJMP x_23721 -> h_SJMP x_23721 5111 | MOVC (x_23723, x_23722) -> h_MOVC x_23723 x_23722 5112 | RealInstruction x_23724 -> h_RealInstruction x_23724 5113 5113 5114 5114 (** val instruction_rect_Type5 : … … 5119 5119 'a1 **) 5120 5120 let rec instruction_rect_Type5 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5121 | ACALL x_23 654 -> h_ACALL x_236545122 | LCALL x_23 655 -> h_LCALL x_236555123 | AJMP x_23 656 -> h_AJMP x_236565124 | LJMP x_23 657 -> h_LJMP x_236575125 | SJMP x_23 658 -> h_SJMP x_236585126 | MOVC (x_23 660, x_23659) -> h_MOVC x_23660 x_236595127 | RealInstruction x_23 661 -> h_RealInstruction x_236615121 | ACALL x_23733 -> h_ACALL x_23733 5122 | LCALL x_23734 -> h_LCALL x_23734 5123 | AJMP x_23735 -> h_AJMP x_23735 5124 | LJMP x_23736 -> h_LJMP x_23736 5125 | SJMP x_23737 -> h_SJMP x_23737 5126 | MOVC (x_23739, x_23738) -> h_MOVC x_23739 x_23738 5127 | RealInstruction x_23740 -> h_RealInstruction x_23740 5128 5128 5129 5129 (** val instruction_rect_Type3 : … … 5134 5134 'a1 **) 5135 5135 let rec instruction_rect_Type3 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5136 | ACALL x_23 670 -> h_ACALL x_236705137 | LCALL x_23 671 -> h_LCALL x_236715138 | AJMP x_23 672 -> h_AJMP x_236725139 | LJMP x_23 673 -> h_LJMP x_236735140 | SJMP x_23 674 -> h_SJMP x_236745141 | MOVC (x_23 676, x_23675) -> h_MOVC x_23676 x_236755142 | RealInstruction x_23 677 -> h_RealInstruction x_236775136 | ACALL x_23749 -> h_ACALL x_23749 5137 | LCALL x_23750 -> h_LCALL x_23750 5138 | AJMP x_23751 -> h_AJMP x_23751 5139 | LJMP x_23752 -> h_LJMP x_23752 5140 | SJMP x_23753 -> h_SJMP x_23753 5141 | MOVC (x_23755, x_23754) -> h_MOVC x_23755 x_23754 5142 | RealInstruction x_23756 -> h_RealInstruction x_23756 5143 5143 5144 5144 (** val instruction_rect_Type2 : … … 5149 5149 'a1 **) 5150 5150 let rec instruction_rect_Type2 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5151 | ACALL x_23 686 -> h_ACALL x_236865152 | LCALL x_23 687 -> h_LCALL x_236875153 | AJMP x_23 688 -> h_AJMP x_236885154 | LJMP x_23 689 -> h_LJMP x_236895155 | SJMP x_23 690 -> h_SJMP x_236905156 | MOVC (x_23 692, x_23691) -> h_MOVC x_23692 x_236915157 | RealInstruction x_23 693 -> h_RealInstruction x_236935151 | ACALL x_23765 -> h_ACALL x_23765 5152 | LCALL x_23766 -> h_LCALL x_23766 5153 | AJMP x_23767 -> h_AJMP x_23767 5154 | LJMP x_23768 -> h_LJMP x_23768 5155 | SJMP x_23769 -> h_SJMP x_23769 5156 | MOVC (x_23771, x_23770) -> h_MOVC x_23771 x_23770 5157 | RealInstruction x_23772 -> h_RealInstruction x_23772 5158 5158 5159 5159 (** val instruction_rect_Type1 : … … 5164 5164 'a1 **) 5165 5165 let rec instruction_rect_Type1 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5166 | ACALL x_237 02 -> h_ACALL x_237025167 | LCALL x_237 03 -> h_LCALL x_237035168 | AJMP x_237 04 -> h_AJMP x_237045169 | LJMP x_237 05 -> h_LJMP x_237055170 | SJMP x_237 06 -> h_SJMP x_237065171 | MOVC (x_237 08, x_23707) -> h_MOVC x_23708 x_237075172 | RealInstruction x_237 09 -> h_RealInstruction x_237095166 | ACALL x_23781 -> h_ACALL x_23781 5167 | LCALL x_23782 -> h_LCALL x_23782 5168 | AJMP x_23783 -> h_AJMP x_23783 5169 | LJMP x_23784 -> h_LJMP x_23784 5170 | SJMP x_23785 -> h_SJMP x_23785 5171 | MOVC (x_23787, x_23786) -> h_MOVC x_23787 x_23786 5172 | RealInstruction x_23788 -> h_RealInstruction x_23788 5173 5173 5174 5174 (** val instruction_rect_Type0 : … … 5179 5179 'a1 **) 5180 5180 let rec instruction_rect_Type0 h_ACALL h_LCALL h_AJMP h_LJMP h_SJMP h_MOVC h_RealInstruction = function 5181 | ACALL x_237 18 -> h_ACALL x_237185182 | LCALL x_237 19 -> h_LCALL x_237195183 | AJMP x_237 20 -> h_AJMP x_237205184 | LJMP x_23 721 -> h_LJMP x_237215185 | SJMP x_23 722 -> h_SJMP x_237225186 | MOVC (x_23 724, x_23723) -> h_MOVC x_23724 x_237235187 | RealInstruction x_23 725 -> h_RealInstruction x_237255181 | ACALL x_23797 -> h_ACALL x_23797 5182 | LCALL x_23798 -> h_LCALL x_23798 5183 | AJMP x_23799 -> h_AJMP x_23799 5184 | LJMP x_23800 -> h_LJMP x_23800 5185 | SJMP x_23801 -> h_SJMP x_23801 5186 | MOVC (x_23803, x_23802) -> h_MOVC x_23803 x_23802 5187 | RealInstruction x_23804 -> h_RealInstruction x_23804 5188 5188 5189 5189 (** val instruction_inv_rect_Type4 : … … 5476 5476 -> 'a1 **) 5477 5477 let 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_23 891 -> h_Instruction x_238915479 | Comment x_23 892 -> h_Comment x_238925480 | Cost x_23 893 -> h_Cost x_238935481 | Jmp x_23 894 -> h_Jmp x_238945482 | Jnz (x_23 897, x_23896, x_23895) -> h_Jnz x_23897 x_23896 x_238955483 | MovSuccessor (x_239 00, x_23899, x_23898) ->5484 h_MovSuccessor x_239 00 x_23899 x_238985485 | Call x_239 01 -> h_Call x_239015486 | Mov (x_239 03, x_23902) -> h_Mov x_23903 x_239025478 | Instruction x_23970 -> h_Instruction x_23970 5479 | Comment x_23971 -> h_Comment x_23971 5480 | Cost x_23972 -> h_Cost x_23972 5481 | Jmp x_23973 -> h_Jmp x_23973 5482 | Jnz (x_23976, x_23975, x_23974) -> h_Jnz x_23976 x_23975 x_23974 5483 | MovSuccessor (x_23979, x_23978, x_23977) -> 5484 h_MovSuccessor x_23979 x_23978 x_23977 5485 | Call x_23980 -> h_Call x_23980 5486 | Mov (x_23982, x_23981) -> h_Mov x_23982 x_23981 5487 5487 5488 5488 (** val pseudo_instruction_rect_Type5 : … … 5494 5494 -> 'a1 **) 5495 5495 let 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_239 13 -> h_Instruction x_239135497 | Comment x_239 14 -> h_Comment x_239145498 | Cost x_239 15 -> h_Cost x_239155499 | Jmp x_239 16 -> h_Jmp x_239165500 | Jnz (x_239 19, x_23918, x_23917) -> h_Jnz x_23919 x_23918 x_239175501 | MovSuccessor (x_2 3922, x_23921, x_23920) ->5502 h_MovSuccessor x_2 3922 x_23921 x_239205503 | Call x_2 3923 -> h_Call x_239235504 | Mov (x_2 3925, x_23924) -> h_Mov x_23925 x_239245496 | Instruction x_23992 -> h_Instruction x_23992 5497 | Comment x_23993 -> h_Comment x_23993 5498 | Cost x_23994 -> h_Cost x_23994 5499 | Jmp x_23995 -> h_Jmp x_23995 5500 | Jnz (x_23998, x_23997, x_23996) -> h_Jnz x_23998 x_23997 x_23996 5501 | MovSuccessor (x_24001, x_24000, x_23999) -> 5502 h_MovSuccessor x_24001 x_24000 x_23999 5503 | Call x_24002 -> h_Call x_24002 5504 | Mov (x_24004, x_24003) -> h_Mov x_24004 x_24003 5505 5505 5506 5506 (** val pseudo_instruction_rect_Type3 : … … 5512 5512 -> 'a1 **) 5513 5513 let 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_2 3935 -> h_Instruction x_239355515 | Comment x_2 3936 -> h_Comment x_239365516 | Cost x_2 3937 -> h_Cost x_239375517 | Jmp x_2 3938 -> h_Jmp x_239385518 | Jnz (x_2 3941, x_23940, x_23939) -> h_Jnz x_23941 x_23940 x_239395519 | MovSuccessor (x_2 3944, x_23943, x_23942) ->5520 h_MovSuccessor x_2 3944 x_23943 x_239425521 | Call x_2 3945 -> h_Call x_239455522 | Mov (x_2 3947, x_23946) -> h_Mov x_23947 x_239465514 | Instruction x_24014 -> h_Instruction x_24014 5515 | Comment x_24015 -> h_Comment x_24015 5516 | Cost x_24016 -> h_Cost x_24016 5517 | Jmp x_24017 -> h_Jmp x_24017 5518 | Jnz (x_24020, x_24019, x_24018) -> h_Jnz x_24020 x_24019 x_24018 5519 | MovSuccessor (x_24023, x_24022, x_24021) -> 5520 h_MovSuccessor x_24023 x_24022 x_24021 5521 | Call x_24024 -> h_Call x_24024 5522 | Mov (x_24026, x_24025) -> h_Mov x_24026 x_24025 5523 5523 5524 5524 (** val pseudo_instruction_rect_Type2 : … … 5530 5530 -> 'a1 **) 5531 5531 let 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_2 3957 -> h_Instruction x_239575533 | Comment x_2 3958 -> h_Comment x_239585534 | Cost x_2 3959 -> h_Cost x_239595535 | Jmp x_2 3960 -> h_Jmp x_239605536 | Jnz (x_2 3963, x_23962, x_23961) -> h_Jnz x_23963 x_23962 x_239615537 | MovSuccessor (x_2 3966, x_23965, x_23964) ->5538 h_MovSuccessor x_2 3966 x_23965 x_239645539 | Call x_2 3967 -> h_Call x_239675540 | Mov (x_2 3969, x_23968) -> h_Mov x_23969 x_239685532 | Instruction x_24036 -> h_Instruction x_24036 5533 | Comment x_24037 -> h_Comment x_24037 5534 | Cost x_24038 -> h_Cost x_24038 5535 | Jmp x_24039 -> h_Jmp x_24039 5536 | Jnz (x_24042, x_24041, x_24040) -> h_Jnz x_24042 x_24041 x_24040 5537 | MovSuccessor (x_24045, x_24044, x_24043) -> 5538 h_MovSuccessor x_24045 x_24044 x_24043 5539 | Call x_24046 -> h_Call x_24046 5540 | Mov (x_24048, x_24047) -> h_Mov x_24048 x_24047 5541 5541 5542 5542 (** val pseudo_instruction_rect_Type1 : … … 5548 5548 -> 'a1 **) 5549 5549 let 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_2 3979 -> h_Instruction x_239795551 | Comment x_2 3980 -> h_Comment x_239805552 | Cost x_2 3981 -> h_Cost x_239815553 | Jmp x_2 3982 -> h_Jmp x_239825554 | Jnz (x_2 3985, x_23984, x_23983) -> h_Jnz x_23985 x_23984 x_239835555 | MovSuccessor (x_2 3988, x_23987, x_23986) ->5556 h_MovSuccessor x_2 3988 x_23987 x_239865557 | Call x_2 3989 -> h_Call x_239895558 | Mov (x_2 3991, x_23990) -> h_Mov x_23991 x_239905550 | Instruction x_24058 -> h_Instruction x_24058 5551 | Comment x_24059 -> h_Comment x_24059 5552 | Cost x_24060 -> h_Cost x_24060 5553 | Jmp x_24061 -> h_Jmp x_24061 5554 | Jnz (x_24064, x_24063, x_24062) -> h_Jnz x_24064 x_24063 x_24062 5555 | MovSuccessor (x_24067, x_24066, x_24065) -> 5556 h_MovSuccessor x_24067 x_24066 x_24065 5557 | Call x_24068 -> h_Call x_24068 5558 | Mov (x_24070, x_24069) -> h_Mov x_24070 x_24069 5559 5559 5560 5560 (** val pseudo_instruction_rect_Type0 : … … 5566 5566 -> 'a1 **) 5567 5567 let 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_240 01 -> h_Instruction x_240015569 | Comment x_240 02 -> h_Comment x_240025570 | Cost x_240 03 -> h_Cost x_240035571 | Jmp x_240 04 -> h_Jmp x_240045572 | Jnz (x_240 07, x_24006, x_24005) -> h_Jnz x_24007 x_24006 x_240055573 | MovSuccessor (x_240 10, x_24009, x_24008) ->5574 h_MovSuccessor x_240 10 x_24009 x_240085575 | Call x_240 11 -> h_Call x_240115576 | Mov (x_240 13, x_24012) -> h_Mov x_24013 x_240125568 | Instruction x_24080 -> h_Instruction x_24080 5569 | Comment x_24081 -> h_Comment x_24081 5570 | Cost x_24082 -> h_Cost x_24082 5571 | Jmp x_24083 -> h_Jmp x_24083 5572 | Jnz (x_24086, x_24085, x_24084) -> h_Jnz x_24086 x_24085 x_24084 5573 | MovSuccessor (x_24089, x_24088, x_24087) -> 5574 h_MovSuccessor x_24089 x_24088 x_24087 5575 | Call x_24090 -> h_Call x_24090 5576 | Mov (x_24092, x_24091) -> h_Mov x_24092 x_24091 5577 5577 5578 5578 (** val pseudo_instruction_inv_rect_Type4 : … … 5796 5796 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5797 5797 pseudo_assembly_program -> 'a1 **) 5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24 156=5798 let rec pseudo_assembly_program_rect_Type4 h_mk_pseudo_assembly_program x_24235 = 5799 5799 let { preamble = preamble0; code = code0; renamed_symbols = 5800 renamed_symbols0; final_label = final_label0 } = x_24 1565800 renamed_symbols0; final_label = final_label0 } = x_24235 5801 5801 in 5802 5802 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5808 5808 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5809 5809 pseudo_assembly_program -> 'a1 **) 5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24 158=5810 let rec pseudo_assembly_program_rect_Type5 h_mk_pseudo_assembly_program x_24237 = 5811 5811 let { preamble = preamble0; code = code0; renamed_symbols = 5812 renamed_symbols0; final_label = final_label0 } = x_24 1585812 renamed_symbols0; final_label = final_label0 } = x_24237 5813 5813 in 5814 5814 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5820 5820 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5821 5821 pseudo_assembly_program -> 'a1 **) 5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24 160=5822 let rec pseudo_assembly_program_rect_Type3 h_mk_pseudo_assembly_program x_24239 = 5823 5823 let { preamble = preamble0; code = code0; renamed_symbols = 5824 renamed_symbols0; final_label = final_label0 } = x_24 1605824 renamed_symbols0; final_label = final_label0 } = x_24239 5825 5825 in 5826 5826 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5832 5832 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5833 5833 pseudo_assembly_program -> 'a1 **) 5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24 162=5834 let rec pseudo_assembly_program_rect_Type2 h_mk_pseudo_assembly_program x_24241 = 5835 5835 let { preamble = preamble0; code = code0; renamed_symbols = 5836 renamed_symbols0; final_label = final_label0 } = x_24 1625836 renamed_symbols0; final_label = final_label0 } = x_24241 5837 5837 in 5838 5838 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5844 5844 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5845 5845 pseudo_assembly_program -> 'a1 **) 5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24 164=5846 let rec pseudo_assembly_program_rect_Type1 h_mk_pseudo_assembly_program x_24243 = 5847 5847 let { preamble = preamble0; code = code0; renamed_symbols = 5848 renamed_symbols0; final_label = final_label0 } = x_24 1645848 renamed_symbols0; final_label = final_label0 } = x_24243 5849 5849 in 5850 5850 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5856 5856 Types.prod List.list -> identifier -> __ -> __ -> 'a1) -> 5857 5857 pseudo_assembly_program -> 'a1 **) 5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24 166=5858 let rec pseudo_assembly_program_rect_Type0 h_mk_pseudo_assembly_program x_24245 = 5859 5859 let { preamble = preamble0; code = code0; renamed_symbols = 5860 renamed_symbols0; final_label = final_label0 } = x_24 1665860 renamed_symbols0; final_label = final_label0 } = x_24245 5861 5861 in 5862 5862 h_mk_pseudo_assembly_program preamble0 code0 __ renamed_symbols0 … … 5944 5944 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5945 5945 -> 'a1) -> labelled_object_code -> 'a1 **) 5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24 182=5946 let rec labelled_object_code_rect_Type4 h_mk_labelled_object_code x_24261 = 5947 5947 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5948 final_pc = final_pc0 } = x_24 1825948 final_pc = final_pc0 } = x_24261 5949 5949 in 5950 5950 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5953 5953 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5954 5954 -> 'a1) -> labelled_object_code -> 'a1 **) 5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24 184=5955 let rec labelled_object_code_rect_Type5 h_mk_labelled_object_code x_24263 = 5956 5956 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5957 final_pc = final_pc0 } = x_24 1845957 final_pc = final_pc0 } = x_24263 5958 5958 in 5959 5959 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5962 5962 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5963 5963 -> 'a1) -> labelled_object_code -> 'a1 **) 5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24 186=5964 let rec labelled_object_code_rect_Type3 h_mk_labelled_object_code x_24265 = 5965 5965 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5966 final_pc = final_pc0 } = x_24 1865966 final_pc = final_pc0 } = x_24265 5967 5967 in 5968 5968 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5971 5971 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5972 5972 -> 'a1) -> labelled_object_code -> 'a1 **) 5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24 188=5973 let rec labelled_object_code_rect_Type2 h_mk_labelled_object_code x_24267 = 5974 5974 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5975 final_pc = final_pc0 } = x_24 1885975 final_pc = final_pc0 } = x_24267 5976 5976 in 5977 5977 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5980 5980 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5981 5981 -> 'a1) -> labelled_object_code -> 'a1 **) 5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24 190=5982 let rec labelled_object_code_rect_Type1 h_mk_labelled_object_code x_24269 = 5983 5983 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5984 final_pc = final_pc0 } = x_24 1905984 final_pc = final_pc0 } = x_24269 5985 5985 in 5986 5986 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ … … 5989 5989 (object_code -> costlabel_map -> symboltable_type -> BitVector.word -> __ 5990 5990 -> 'a1) -> labelled_object_code -> 'a1 **) 5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24 192=5991 let rec labelled_object_code_rect_Type0 h_mk_labelled_object_code x_24271 = 5992 5992 let { oc = oc0; costlabels = costlabels0; symboltable = symboltable0; 5993 final_pc = final_pc0 } = x_24 1925993 final_pc = final_pc0 } = x_24271 5994 5994 in 5995 5995 h_mk_labelled_object_code oc0 costlabels0 symboltable0 final_pc0 __ -
extracted/aSMCosts.ml
r2775 r2797 128 128 (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S (Nat.S 129 129 Nat.O)))))))))))))))) (Obj.magic pc) cost_labels); 130 StructuredTraces.as_result = ( fun _ ->assert false (* absurd case *));131 StructuredTraces.as_call_ident = ( fun _ ->assert false (* absurd case *));132 StructuredTraces.as_tailcall_ident = ( fun _ ->assert false (* absurd case *)) }130 StructuredTraces.as_result = (assert false (* absurd case *)); 131 StructuredTraces.as_call_ident = (assert false (* absurd case *)); 132 StructuredTraces.as_tailcall_ident = (assert false (* absurd case *)) } 133 133 134 134 (** val trace_any_label_length : -
extracted/aST.ml
r2775 r2797 418 418 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 419 419 let rec typ_rect_Type4 h_ASTint h_ASTptr = function 420 | ASTint (x_35 19, x_3518) -> h_ASTint x_3519 x_3518420 | ASTint (x_3532, x_3531) -> h_ASTint x_3532 x_3531 421 421 | ASTptr -> h_ASTptr 422 422 … … 424 424 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 425 425 let rec typ_rect_Type5 h_ASTint h_ASTptr = function 426 | ASTint (x_35 24, x_3523) -> h_ASTint x_3524 x_3523426 | ASTint (x_3537, x_3536) -> h_ASTint x_3537 x_3536 427 427 | ASTptr -> h_ASTptr 428 428 … … 430 430 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 431 431 let rec typ_rect_Type3 h_ASTint h_ASTptr = function 432 | ASTint (x_35 29, x_3528) -> h_ASTint x_3529 x_3528432 | ASTint (x_3542, x_3541) -> h_ASTint x_3542 x_3541 433 433 | ASTptr -> h_ASTptr 434 434 … … 436 436 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 437 437 let rec typ_rect_Type2 h_ASTint h_ASTptr = function 438 | ASTint (x_35 34, x_3533) -> h_ASTint x_3534 x_3533438 | ASTint (x_3547, x_3546) -> h_ASTint x_3547 x_3546 439 439 | ASTptr -> h_ASTptr 440 440 … … 442 442 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 443 443 let rec typ_rect_Type1 h_ASTint h_ASTptr = function 444 | ASTint (x_35 39, x_3538) -> h_ASTint x_3539 x_3538444 | ASTint (x_3552, x_3551) -> h_ASTint x_3552 x_3551 445 445 | ASTptr -> h_ASTptr 446 446 … … 448 448 (intsize -> signedness -> 'a1) -> 'a1 -> typ -> 'a1 **) 449 449 let rec typ_rect_Type0 h_ASTint h_ASTptr = function 450 | ASTint (x_35 44, x_3543) -> h_ASTint x_3544 x_3543450 | ASTint (x_3557, x_3556) -> h_ASTint x_3557 x_3556 451 451 | ASTptr -> h_ASTptr 452 452 … … 877 877 (** val signature_rect_Type4 : 878 878 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 879 let rec signature_rect_Type4 h_mk_signature x_35 79=880 let { sig_args = sig_args0; sig_res = sig_res0 } = x_35 79in879 let rec signature_rect_Type4 h_mk_signature x_3592 = 880 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3592 in 881 881 h_mk_signature sig_args0 sig_res0 882 882 883 883 (** val signature_rect_Type5 : 884 884 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 885 let rec signature_rect_Type5 h_mk_signature x_35 81=886 let { sig_args = sig_args0; sig_res = sig_res0 } = x_35 81in885 let rec signature_rect_Type5 h_mk_signature x_3594 = 886 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3594 in 887 887 h_mk_signature sig_args0 sig_res0 888 888 889 889 (** val signature_rect_Type3 : 890 890 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 891 let rec signature_rect_Type3 h_mk_signature x_35 83=892 let { sig_args = sig_args0; sig_res = sig_res0 } = x_35 83in891 let rec signature_rect_Type3 h_mk_signature x_3596 = 892 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3596 in 893 893 h_mk_signature sig_args0 sig_res0 894 894 895 895 (** val signature_rect_Type2 : 896 896 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 897 let rec signature_rect_Type2 h_mk_signature x_35 85=898 let { sig_args = sig_args0; sig_res = sig_res0 } = x_35 85in897 let rec signature_rect_Type2 h_mk_signature x_3598 = 898 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3598 in 899 899 h_mk_signature sig_args0 sig_res0 900 900 901 901 (** val signature_rect_Type1 : 902 902 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 903 let rec signature_rect_Type1 h_mk_signature x_3 587=904 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3 587in903 let rec signature_rect_Type1 h_mk_signature x_3600 = 904 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3600 in 905 905 h_mk_signature sig_args0 sig_res0 906 906 907 907 (** val signature_rect_Type0 : 908 908 (typ List.list -> typ Types.option -> 'a1) -> signature -> 'a1 **) 909 let rec signature_rect_Type0 h_mk_signature x_3 589=910 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3 589in909 let rec signature_rect_Type0 h_mk_signature x_3602 = 910 let { sig_args = sig_args0; sig_res = sig_res0 } = x_3602 in 911 911 h_mk_signature sig_args0 sig_res0 912 912 … … 984 984 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 985 985 let rec init_data_rect_Type4 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function 986 | Init_int8 x_3617 -> h_Init_int8 x_3617987 | Init_int16 x_3618 -> h_Init_int16 x_3618988 | Init_int32 x_3619 -> h_Init_int32 x_3619989 | Init_space x_3620 -> h_Init_space x_3620990 | Init_null -> h_Init_null991 | Init_addrof (x_3622, x_3621) -> h_Init_addrof x_3622 x_3621992 993 (** val init_data_rect_Type5 :994 (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) ->995 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **)996 let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function997 986 | Init_int8 x_3630 -> h_Init_int8 x_3630 998 987 | Init_int16 x_3631 -> h_Init_int16 x_3631 … … 1002 991 | Init_addrof (x_3635, x_3634) -> h_Init_addrof x_3635 x_3634 1003 992 1004 (** val init_data_rect_Type 3:993 (** val init_data_rect_Type5 : 1005 994 (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) -> 1006 995 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1007 let rec init_data_rect_Type 3h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function996 let rec init_data_rect_Type5 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function 1008 997 | Init_int8 x_3643 -> h_Init_int8 x_3643 1009 998 | Init_int16 x_3644 -> h_Init_int16 x_3644 … … 1013 1002 | Init_addrof (x_3648, x_3647) -> h_Init_addrof x_3648 x_3647 1014 1003 1015 (** val init_data_rect_Type 2:1004 (** val init_data_rect_Type3 : 1016 1005 (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) -> 1017 1006 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1018 let rec init_data_rect_Type 2h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function1007 let rec init_data_rect_Type3 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function 1019 1008 | Init_int8 x_3656 -> h_Init_int8 x_3656 1020 1009 | Init_int16 x_3657 -> h_Init_int16 x_3657 … … 1024 1013 | Init_addrof (x_3661, x_3660) -> h_Init_addrof x_3661 x_3660 1025 1014 1026 (** val init_data_rect_Type 1:1015 (** val init_data_rect_Type2 : 1027 1016 (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) -> 1028 1017 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1029 let rec init_data_rect_Type 1h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function1018 let rec init_data_rect_Type2 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function 1030 1019 | Init_int8 x_3669 -> h_Init_int8 x_3669 1031 1020 | Init_int16 x_3670 -> h_Init_int16 x_3670 … … 1035 1024 | Init_addrof (x_3674, x_3673) -> h_Init_addrof x_3674 x_3673 1036 1025 1037 (** val init_data_rect_Type 0:1026 (** val init_data_rect_Type1 : 1038 1027 (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) -> 1039 1028 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1040 let rec init_data_rect_Type 0h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function1029 let rec init_data_rect_Type1 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function 1041 1030 | Init_int8 x_3682 -> h_Init_int8 x_3682 1042 1031 | Init_int16 x_3683 -> h_Init_int16 x_3683 … … 1045 1034 | Init_null -> h_Init_null 1046 1035 | Init_addrof (x_3687, x_3686) -> h_Init_addrof x_3687 x_3686 1036 1037 (** val init_data_rect_Type0 : 1038 (bvint -> 'a1) -> (bvint -> 'a1) -> (bvint -> 'a1) -> (Nat.nat -> 'a1) -> 1039 'a1 -> (ident -> Nat.nat -> 'a1) -> init_data -> 'a1 **) 1040 let rec init_data_rect_Type0 h_Init_int8 h_Init_int16 h_Init_int32 h_Init_space h_Init_null h_Init_addrof = function 1041 | Init_int8 x_3695 -> h_Init_int8 x_3695 1042 | Init_int16 x_3696 -> h_Init_int16 x_3696 1043 | Init_int32 x_3697 -> h_Init_int32 x_3697 1044 | Init_space x_3698 -> h_Init_space x_3698 1045 | Init_null -> h_Init_null 1046 | Init_addrof (x_3700, x_3699) -> h_Init_addrof x_3700 x_3699 1047 1047 1048 1048 (** val init_data_inv_rect_Type4 : … … 1111 1111 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1112 1112 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1113 let rec program_rect_Type4 h_mk_program x_37 74=1113 let rec program_rect_Type4 h_mk_program x_3787 = 1114 1114 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1115 prog_main0 } = x_37 741115 prog_main0 } = x_3787 1116 1116 in 1117 1117 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1120 1120 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1121 1121 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1122 let rec program_rect_Type5 h_mk_program x_37 76=1122 let rec program_rect_Type5 h_mk_program x_3789 = 1123 1123 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1124 prog_main0 } = x_37 761124 prog_main0 } = x_3789 1125 1125 in 1126 1126 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1129 1129 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1130 1130 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1131 let rec program_rect_Type3 h_mk_program x_37 78=1131 let rec program_rect_Type3 h_mk_program x_3791 = 1132 1132 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1133 prog_main0 } = x_37 781133 prog_main0 } = x_3791 1134 1134 in 1135 1135 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1138 1138 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1139 1139 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1140 let rec program_rect_Type2 h_mk_program x_37 80=1140 let rec program_rect_Type2 h_mk_program x_3793 = 1141 1141 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1142 prog_main0 } = x_37 801142 prog_main0 } = x_3793 1143 1143 in 1144 1144 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1147 1147 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1148 1148 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1149 let rec program_rect_Type1 h_mk_program x_37 82=1149 let rec program_rect_Type1 h_mk_program x_3795 = 1150 1150 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1151 prog_main0 } = x_37 821151 prog_main0 } = x_3795 1152 1152 in 1153 1153 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1156 1156 (((ident, region) Types.prod, 'a2) Types.prod List.list -> (ident, 'a1) 1157 1157 Types.prod List.list -> ident -> 'a3) -> ('a1, 'a2) program -> 'a3 **) 1158 let rec program_rect_Type0 h_mk_program x_37 84=1158 let rec program_rect_Type0 h_mk_program x_3797 = 1159 1159 let { prog_vars = prog_vars0; prog_funct = prog_funct0; prog_main = 1160 prog_main0 } = x_37 841160 prog_main0 } = x_3797 1161 1161 in 1162 1162 h_mk_program prog_vars0 prog_funct0 prog_main0 … … 1477 1477 (** val external_function_rect_Type4 : 1478 1478 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1479 let rec external_function_rect_Type4 h_mk_external_function x_ 3988=1480 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 3988in1479 let rec external_function_rect_Type4 h_mk_external_function x_4001 = 1480 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4001 in 1481 1481 h_mk_external_function ef_id0 ef_sig0 1482 1482 1483 1483 (** val external_function_rect_Type5 : 1484 1484 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1485 let rec external_function_rect_Type5 h_mk_external_function x_ 3990=1486 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 3990in1485 let rec external_function_rect_Type5 h_mk_external_function x_4003 = 1486 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4003 in 1487 1487 h_mk_external_function ef_id0 ef_sig0 1488 1488 1489 1489 (** val external_function_rect_Type3 : 1490 1490 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1491 let rec external_function_rect_Type3 h_mk_external_function x_ 3992=1492 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 3992in1491 let rec external_function_rect_Type3 h_mk_external_function x_4005 = 1492 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4005 in 1493 1493 h_mk_external_function ef_id0 ef_sig0 1494 1494 1495 1495 (** val external_function_rect_Type2 : 1496 1496 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1497 let rec external_function_rect_Type2 h_mk_external_function x_ 3994=1498 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 3994in1497 let rec external_function_rect_Type2 h_mk_external_function x_4007 = 1498 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4007 in 1499 1499 h_mk_external_function ef_id0 ef_sig0 1500 1500 1501 1501 (** val external_function_rect_Type1 : 1502 1502 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1503 let rec external_function_rect_Type1 h_mk_external_function x_ 3996=1504 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 3996in1503 let rec external_function_rect_Type1 h_mk_external_function x_4009 = 1504 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4009 in 1505 1505 h_mk_external_function ef_id0 ef_sig0 1506 1506 1507 1507 (** val external_function_rect_Type0 : 1508 1508 (ident -> signature -> 'a1) -> external_function -> 'a1 **) 1509 let rec external_function_rect_Type0 h_mk_external_function x_ 3998=1510 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_ 3998in1509 let rec external_function_rect_Type0 h_mk_external_function x_4011 = 1510 let { ef_id = ef_id0; ef_sig = ef_sig0 } = x_4011 in 1511 1511 h_mk_external_function ef_id0 ef_sig0 1512 1512 … … 1575 1575 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1576 1576 let rec fundef_rect_Type4 h_Internal h_External = function 1577 | Internal x_40 18 -> h_Internal x_40181578 | External x_40 19 -> h_External x_40191577 | Internal x_4031 -> h_Internal x_4031 1578 | External x_4032 -> h_External x_4032 1579 1579 1580 1580 (** val fundef_rect_Type5 : 1581 1581 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1582 1582 let rec fundef_rect_Type5 h_Internal h_External = function 1583 | Internal x_40 23 -> h_Internal x_40231584 | External x_40 24 -> h_External x_40241583 | Internal x_4036 -> h_Internal x_4036 1584 | External x_4037 -> h_External x_4037 1585 1585 1586 1586 (** val fundef_rect_Type3 : 1587 1587 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1588 1588 let rec fundef_rect_Type3 h_Internal h_External = function 1589 | Internal x_40 28 -> h_Internal x_40281590 | External x_40 29 -> h_External x_40291589 | Internal x_4041 -> h_Internal x_4041 1590 | External x_4042 -> h_External x_4042 1591 1591 1592 1592 (** val fundef_rect_Type2 : 1593 1593 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1594 1594 let rec fundef_rect_Type2 h_Internal h_External = function 1595 | Internal x_40 33 -> h_Internal x_40331596 | External x_40 34 -> h_External x_40341595 | Internal x_4046 -> h_Internal x_4046 1596 | External x_4047 -> h_External x_4047 1597 1597 1598 1598 (** val fundef_rect_Type1 : 1599 1599 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1600 1600 let rec fundef_rect_Type1 h_Internal h_External = function 1601 | Internal x_40 38 -> h_Internal x_40381602 | External x_40 39 -> h_External x_40391601 | Internal x_4051 -> h_Internal x_4051 1602 | External x_4052 -> h_External x_4052 1603 1603 1604 1604 (** val fundef_rect_Type0 : 1605 1605 ('a1 -> 'a2) -> (external_function -> 'a2) -> 'a1 fundef -> 'a2 **) 1606 1606 let rec fundef_rect_Type0 h_Internal h_External = function 1607 | Internal x_40 43 -> h_Internal x_40431608 | External x_40 44 -> h_External x_40441607 | Internal x_4056 -> h_Internal x_4056 1608 | External x_4057 -> h_External x_4057 1609 1609 1610 1610 (** val fundef_inv_rect_Type4 : -
extracted/backEndOps.ml
r2775 r2797 402 402 -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte -> 403 403 (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **) 404 let rec eval_rect_Type4 h_mk_Eval x_189 72=405 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_189 72in404 let rec eval_rect_Type4 h_mk_Eval x_18985 = 405 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18985 in 406 406 h_mk_Eval opaccs0 op4 op5 407 407 … … 411 411 -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte -> 412 412 (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **) 413 let rec eval_rect_Type5 h_mk_Eval x_189 74=414 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_189 74in413 let rec eval_rect_Type5 h_mk_Eval x_18987 = 414 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18987 in 415 415 h_mk_Eval opaccs0 op4 op5 416 416 … … 420 420 -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte -> 421 421 (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **) 422 let rec eval_rect_Type3 h_mk_Eval x_189 76=423 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_189 76in422 let rec eval_rect_Type3 h_mk_Eval x_18989 = 423 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18989 in 424 424 h_mk_Eval opaccs0 op4 op5 425 425 … … 429 429 -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte -> 430 430 (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **) 431 let rec eval_rect_Type2 h_mk_Eval x_189 78=432 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_189 78in431 let rec eval_rect_Type2 h_mk_Eval x_18991 = 432 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18991 in 433 433 h_mk_Eval opaccs0 op4 op5 434 434 … … 438 438 -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte -> 439 439 (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **) 440 let rec eval_rect_Type1 h_mk_Eval x_189 80=441 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_189 80in440 let rec eval_rect_Type1 h_mk_Eval x_18993 = 441 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18993 in 442 442 h_mk_Eval opaccs0 op4 op5 443 443 … … 447 447 -> (BitVector.bit -> op2 -> BitVector.byte -> BitVector.byte -> 448 448 (BitVector.byte, BitVector.bit) Types.prod) -> 'a1) -> eval -> 'a1 **) 449 let rec eval_rect_Type0 h_mk_Eval x_189 82=450 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_189 82in449 let rec eval_rect_Type0 h_mk_Eval x_18995 = 450 let { opaccs = opaccs0; op0 = op4; op3 = op5 } = x_18995 in 451 451 h_mk_Eval opaccs0 op4 op5 452 452 -
extracted/bind_new.ml
r2775 r2797 35 35 ('a1, 'a2) bind_new -> 'a3 **) 36 36 let rec bind_new_rect_Type4 h_bret h_bnew = function 37 | Bret x_20 763 -> h_bret x_2076338 | Bnew x_20 765->39 h_bnew x_20 765 (fun x_20764->40 bind_new_rect_Type4 h_bret h_bnew (x_20 765 x_20764))37 | Bret x_20842 -> h_bret x_20842 38 | Bnew x_20844 -> 39 h_bnew x_20844 (fun x_20843 -> 40 bind_new_rect_Type4 h_bret h_bnew (x_20844 x_20843)) 41 41 42 42 (** val bind_new_rect_Type3 : … … 44 44 ('a1, 'a2) bind_new -> 'a3 **) 45 45 let rec bind_new_rect_Type3 h_bret h_bnew = function 46 | Bret x_20 775 -> h_bret x_2077547 | Bnew x_20 777->48 h_bnew x_20 777 (fun x_20776->49 bind_new_rect_Type3 h_bret h_bnew (x_20 777 x_20776))46 | Bret x_20854 -> h_bret x_20854 47 | Bnew x_20856 -> 48 h_bnew x_20856 (fun x_20855 -> 49 bind_new_rect_Type3 h_bret h_bnew (x_20856 x_20855)) 50 50 51 51 (** val bind_new_rect_Type2 : … … 53 53 ('a1, 'a2) bind_new -> 'a3 **) 54 54 let rec bind_new_rect_Type2 h_bret h_bnew = function 55 | Bret x_20 781 -> h_bret x_2078156 | Bnew x_20 783->57 h_bnew x_20 783 (fun x_20782->58 bind_new_rect_Type2 h_bret h_bnew (x_20 783 x_20782))55 | Bret x_20860 -> h_bret x_20860 56 | Bnew x_20862 -> 57 h_bnew x_20862 (fun x_20861 -> 58 bind_new_rect_Type2 h_bret h_bnew (x_20862 x_20861)) 59 59 60 60 (** val bind_new_rect_Type1 : … … 62 62 ('a1, 'a2) bind_new -> 'a3 **) 63 63 let rec bind_new_rect_Type1 h_bret h_bnew = function 64 | Bret x_20 787 -> h_bret x_2078765 | Bnew x_20 789->66 h_bnew x_20 789 (fun x_20788->67 bind_new_rect_Type1 h_bret h_bnew (x_20 789 x_20788))64 | Bret x_20866 -> h_bret x_20866 65 | Bnew x_20868 -> 66 h_bnew x_20868 (fun x_20867 -> 67 bind_new_rect_Type1 h_bret h_bnew (x_20868 x_20867)) 68 68 69 69 (** val bind_new_rect_Type0 : … … 71 71 ('a1, 'a2) bind_new -> 'a3 **) 72 72 let rec bind_new_rect_Type0 h_bret h_bnew = function 73 | Bret x_20 793 -> h_bret x_2079374 | Bnew x_20 795->75 h_bnew x_20 795 (fun x_20794->76 bind_new_rect_Type0 h_bret h_bnew (x_20 795 x_20794))73 | Bret x_20872 -> h_bret x_20872 74 | Bnew x_20874 -> 75 h_bnew x_20874 (fun x_20873 -> 76 bind_new_rect_Type0 h_bret h_bnew (x_20874 x_20873)) 77 77 78 78 (** val bind_new_inv_rect_Type4 : -
extracted/bitVectorTrie.ml
r2775 r2797 49 49 ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2 50 50 -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **) 51 let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_146 34= function52 | Leaf x_146 36 -> h_Leaf x_1463653 | Node (n, x_146 38, x_14637) ->54 h_Node n x_146 38 x_1463755 (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_146 38)56 (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_146 37)51 let rec bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub x_14647 = function 52 | Leaf x_14649 -> h_Leaf x_14649 53 | Node (n, x_14651, x_14650) -> 54 h_Node n x_14651 x_14650 55 (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14651) 56 (bitVectorTrie_rect_Type4 h_Leaf h_Node h_Stub n x_14650) 57 57 | Stub n -> h_Stub n 58 58 … … 60 60 ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2 61 61 -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **) 62 let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_146 50= function63 | Leaf x_146 52 -> h_Leaf x_1465264 | Node (n, x_146 54, x_14653) ->65 h_Node n x_146 54 x_1465366 (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_146 54)67 (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_146 53)62 let rec bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub x_14663 = function 63 | Leaf x_14665 -> h_Leaf x_14665 64 | Node (n, x_14667, x_14666) -> 65 h_Node n x_14667 x_14666 66 (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14667) 67 (bitVectorTrie_rect_Type3 h_Leaf h_Node h_Stub n x_14666) 68 68 | Stub n -> h_Stub n 69 69 … … 71 71 ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2 72 72 -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **) 73 let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_146 58= function74 | Leaf x_146 60 -> h_Leaf x_1466075 | Node (n, x_146 62, x_14661) ->76 h_Node n x_146 62 x_1466177 (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_146 62)78 (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_146 61)73 let rec bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub x_14671 = function 74 | Leaf x_14673 -> h_Leaf x_14673 75 | Node (n, x_14675, x_14674) -> 76 h_Node n x_14675 x_14674 77 (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14675) 78 (bitVectorTrie_rect_Type2 h_Leaf h_Node h_Stub n x_14674) 79 79 | Stub n -> h_Stub n 80 80 … … 82 82 ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2 83 83 -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **) 84 let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_146 66= function85 | Leaf x_146 68 -> h_Leaf x_1466886 | Node (n, x_146 70, x_14669) ->87 h_Node n x_146 70 x_1466988 (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_146 70)89 (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_146 69)84 let rec bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub x_14679 = function 85 | Leaf x_14681 -> h_Leaf x_14681 86 | Node (n, x_14683, x_14682) -> 87 h_Node n x_14683 x_14682 88 (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14683) 89 (bitVectorTrie_rect_Type1 h_Leaf h_Node h_Stub n x_14682) 90 90 | Stub n -> h_Stub n 91 91 … … 93 93 ('a1 -> 'a2) -> (Nat.nat -> 'a1 bitVectorTrie -> 'a1 bitVectorTrie -> 'a2 94 94 -> 'a2 -> 'a2) -> (Nat.nat -> 'a2) -> Nat.nat -> 'a1 bitVectorTrie -> 'a2 **) 95 let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_146 74= function96 | Leaf x_146 76 -> h_Leaf x_1467697 | Node (n, x_146 78, x_14677) ->98 h_Node n x_146 78 x_1467799 (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_146 78)100 (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_146 77)95 let rec bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub x_14687 = function 96 | Leaf x_14689 -> h_Leaf x_14689 97 | Node (n, x_14691, x_14690) -> 98 h_Node n x_14691 x_14690 99 (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14691) 100 (bitVectorTrie_rect_Type0 h_Leaf h_Node h_Stub n x_14690) 101 101 | Stub n -> h_Stub n 102 102 -
extracted/blocks.ml
r2773 r2797 149 149 | Types.None -> 150 150 { Types.fst = { Types.fst = List.Nil; Types.snd = (fun x -> 151 Joint.Step_seq (Joint.nOOP (Joint.stmt_pars__o__uns_pars p) g)) }; 151 Joint.Step_seq 152 (Joint.nOOP (Joint.stmt_pars__o__uns_pars__o__u_pars p) g)) }; 152 153 Types.snd = List.Nil } 153 154 | Types.Some pr -> -
extracted/byteValues.ml
r2775 r2797 89 89 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 90 90 'a1 **) 91 let rec program_counter_rect_Type4 h_mk_program_counter x_60 09=92 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_60 09in91 let rec program_counter_rect_Type4 h_mk_program_counter x_6022 = 92 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6022 in 93 93 h_mk_program_counter pc_block0 pc_offset0 94 94 … … 96 96 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 97 97 'a1 **) 98 let rec program_counter_rect_Type5 h_mk_program_counter x_60 11=99 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_60 11in98 let rec program_counter_rect_Type5 h_mk_program_counter x_6024 = 99 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6024 in 100 100 h_mk_program_counter pc_block0 pc_offset0 101 101 … … 103 103 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 104 104 'a1 **) 105 let rec program_counter_rect_Type3 h_mk_program_counter x_60 13=106 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_60 13in105 let rec program_counter_rect_Type3 h_mk_program_counter x_6026 = 106 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6026 in 107 107 h_mk_program_counter pc_block0 pc_offset0 108 108 … … 110 110 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 111 111 'a1 **) 112 let rec program_counter_rect_Type2 h_mk_program_counter x_60 15=113 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_60 15in112 let rec program_counter_rect_Type2 h_mk_program_counter x_6028 = 113 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6028 in 114 114 h_mk_program_counter pc_block0 pc_offset0 115 115 … … 117 117 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 118 118 'a1 **) 119 let rec program_counter_rect_Type1 h_mk_program_counter x_60 17=120 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_60 17in119 let rec program_counter_rect_Type1 h_mk_program_counter x_6030 = 120 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6030 in 121 121 h_mk_program_counter pc_block0 pc_offset0 122 122 … … 124 124 (Pointers.block Types.sig0 -> Positive.pos -> 'a1) -> program_counter -> 125 125 'a1 **) 126 let rec program_counter_rect_Type0 h_mk_program_counter x_60 19=127 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_60 19in126 let rec program_counter_rect_Type0 h_mk_program_counter x_6032 = 127 let { pc_block = pc_block0; pc_offset = pc_offset0 } = x_6032 in 128 128 h_mk_program_counter pc_block0 pc_offset0 129 129 … … 215 215 216 216 (** val part_rect_Type4 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 217 let rec part_rect_Type4 h_mk_part x_60 35=218 let part_no = x_60 35in h_mk_part part_no __217 let rec part_rect_Type4 h_mk_part x_6048 = 218 let part_no = x_6048 in h_mk_part part_no __ 219 219 220 220 (** val part_rect_Type5 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 221 let rec part_rect_Type5 h_mk_part x_60 37=222 let part_no = x_60 37in h_mk_part part_no __221 let rec part_rect_Type5 h_mk_part x_6050 = 222 let part_no = x_6050 in h_mk_part part_no __ 223 223 224 224 (** val part_rect_Type3 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 225 let rec part_rect_Type3 h_mk_part x_60 39=226 let part_no = x_60 39in h_mk_part part_no __225 let rec part_rect_Type3 h_mk_part x_6052 = 226 let part_no = x_6052 in h_mk_part part_no __ 227 227 228 228 (** val part_rect_Type2 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 229 let rec part_rect_Type2 h_mk_part x_60 41=230 let part_no = x_60 41in h_mk_part part_no __229 let rec part_rect_Type2 h_mk_part x_6054 = 230 let part_no = x_6054 in h_mk_part part_no __ 231 231 232 232 (** val part_rect_Type1 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 233 let rec part_rect_Type1 h_mk_part x_60 43=234 let part_no = x_60 43in h_mk_part part_no __233 let rec part_rect_Type1 h_mk_part x_6056 = 234 let part_no = x_6056 in h_mk_part part_no __ 235 235 236 236 (** val part_rect_Type0 : (Nat.nat -> __ -> 'a1) -> part -> 'a1 **) 237 let rec part_rect_Type0 h_mk_part x_60 45=238 let part_no = x_60 45in h_mk_part part_no __237 let rec part_rect_Type0 h_mk_part x_6058 = 238 let part_no = x_6058 in h_mk_part part_no __ 239 239 240 240 (** val part_no : part -> Nat.nat **) … … 486 486 | BVundef -> h_BVundef 487 487 | BVnonzero -> h_BVnonzero 488 | BVXor (x_60 79, x_6078, x_6077) -> h_BVXor x_6079 x_6078 x_6077489 | BVByte x_60 80 -> h_BVByte x_6080490 | BVnull x_60 81 -> h_BVnull x_6081491 | BVptr (x_60 83, x_6082) -> h_BVptr x_6083 x_6082492 | BVpc (x_60 85, x_6084) -> h_BVpc x_6085 x_6084488 | BVXor (x_6092, x_6091, x_6090) -> h_BVXor x_6092 x_6091 x_6090 489 | BVByte x_6093 -> h_BVByte x_6093 490 | BVnull x_6094 -> h_BVnull x_6094 491 | BVptr (x_6096, x_6095) -> h_BVptr x_6096 x_6095 492 | BVpc (x_6098, x_6097) -> h_BVpc x_6098 x_6097 493 493 494 494 (** val beval_rect_Type5 : … … 500 500 | BVundef -> h_BVundef 501 501 | BVnonzero -> h_BVnonzero 502 | BVXor (x_6 096, x_6095, x_6094) -> h_BVXor x_6096 x_6095 x_6094503 | BVByte x_6 097 -> h_BVByte x_6097504 | BVnull x_6 098 -> h_BVnull x_6098505 | BVptr (x_61 00, x_6099) -> h_BVptr x_6100 x_6099506 | BVpc (x_61 02, x_6101) -> h_BVpc x_6102 x_6101502 | BVXor (x_6109, x_6108, x_6107) -> h_BVXor x_6109 x_6108 x_6107 503 | BVByte x_6110 -> h_BVByte x_6110 504 | BVnull x_6111 -> h_BVnull x_6111 505 | BVptr (x_6113, x_6112) -> h_BVptr x_6113 x_6112 506 | BVpc (x_6115, x_6114) -> h_BVpc x_6115 x_6114 507 507 508 508 (** val beval_rect_Type3 : … … 514 514 | BVundef -> h_BVundef 515 515 | BVnonzero -> h_BVnonzero 516 | BVXor (x_61 13, x_6112, x_6111) -> h_BVXor x_6113 x_6112 x_6111517 | BVByte x_61 14 -> h_BVByte x_6114518 | BVnull x_61 15 -> h_BVnull x_6115519 | BVptr (x_61 17, x_6116) -> h_BVptr x_6117 x_6116520 | BVpc (x_61 19, x_6118) -> h_BVpc x_6119 x_6118516 | BVXor (x_6126, x_6125, x_6124) -> h_BVXor x_6126 x_6125 x_6124 517 | BVByte x_6127 -> h_BVByte x_6127 518 | BVnull x_6128 -> h_BVnull x_6128 519 | BVptr (x_6130, x_6129) -> h_BVptr x_6130 x_6129 520 | BVpc (x_6132, x_6131) -> h_BVpc x_6132 x_6131 521 521 522 522 (** val beval_rect_Type2 : … … 528 528 | BVundef -> h_BVundef 529 529 | BVnonzero -> h_BVnonzero 530 | BVXor (x_61 30, x_6129, x_6128) -> h_BVXor x_6130 x_6129 x_6128531 | BVByte x_61 31 -> h_BVByte x_6131532 | BVnull x_61 32 -> h_BVnull x_6132533 | BVptr (x_61 34, x_6133) -> h_BVptr x_6134 x_6133534 | BVpc (x_61 36, x_6135) -> h_BVpc x_6136 x_6135530 | BVXor (x_6143, x_6142, x_6141) -> h_BVXor x_6143 x_6142 x_6141 531 | BVByte x_6144 -> h_BVByte x_6144 532 | BVnull x_6145 -> h_BVnull x_6145 533 | BVptr (x_6147, x_6146) -> h_BVptr x_6147 x_6146 534 | BVpc (x_6149, x_6148) -> h_BVpc x_6149 x_6148 535 535 536 536 (** val beval_rect_Type1 : … … 542 542 | BVundef -> h_BVundef 543 543 | BVnonzero -> h_BVnonzero 544 | BVXor (x_61 47, x_6146, x_6145) -> h_BVXor x_6147 x_6146 x_6145545 | BVByte x_61 48 -> h_BVByte x_6148546 | BVnull x_61 49 -> h_BVnull x_6149547 | BVptr (x_61 51, x_6150) -> h_BVptr x_6151 x_6150548 | BVpc (x_61 53, x_6152) -> h_BVpc x_6153 x_6152544 | BVXor (x_6160, x_6159, x_6158) -> h_BVXor x_6160 x_6159 x_6158 545 | BVByte x_6161 -> h_BVByte x_6161 546 | BVnull x_6162 -> h_BVnull x_6162 547 | BVptr (x_6164, x_6163) -> h_BVptr x_6164 x_6163 548 | BVpc (x_6166, x_6165) -> h_BVpc x_6166 x_6165 549 549 550 550 (** val beval_rect_Type0 : … … 556 556 | BVundef -> h_BVundef 557 557 | BVnonzero -> h_BVnonzero 558 | BVXor (x_61 64, x_6163, x_6162) -> h_BVXor x_6164 x_6163 x_6162559 | BVByte x_61 65 -> h_BVByte x_6165560 | BVnull x_61 66 -> h_BVnull x_6166561 | BVptr (x_61 68, x_6167) -> h_BVptr x_6168 x_6167562 | BVpc (x_61 70, x_6169) -> h_BVpc x_6170 x_6169558 | BVXor (x_6177, x_6176, x_6175) -> h_BVXor x_6177 x_6176 x_6175 559 | BVByte x_6178 -> h_BVByte x_6178 560 | BVnull x_6179 -> h_BVnull x_6179 561 | BVptr (x_6181, x_6180) -> h_BVptr x_6181 x_6180 562 | BVpc (x_6183, x_6182) -> h_BVpc x_6183 x_6182 563 563 564 564 (** val beval_inv_rect_Type4 : … … 899 899 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 900 900 let rec bebit_rect_Type4 h_BBbit h_BBundef h_BBptrcarry = function 901 | BBbit x_6 289 -> h_BBbit x_6289901 | BBbit x_6302 -> h_BBbit x_6302 902 902 | BBundef -> h_BBundef 903 | BBptrcarry (x_6 292, x_6291, p, x_6290) ->904 h_BBptrcarry x_6 292 x_6291 p x_6290903 | BBptrcarry (x_6305, x_6304, p, x_6303) -> 904 h_BBptrcarry x_6305 x_6304 p x_6303 905 905 906 906 (** val bebit_rect_Type5 : … … 908 908 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 909 909 let rec bebit_rect_Type5 h_BBbit h_BBundef h_BBptrcarry = function 910 | BBbit x_6 297 -> h_BBbit x_6297910 | BBbit x_6310 -> h_BBbit x_6310 911 911 | BBundef -> h_BBundef 912 | BBptrcarry (x_63 00, x_6299, p, x_6298) ->913 h_BBptrcarry x_63 00 x_6299 p x_6298912 | BBptrcarry (x_6313, x_6312, p, x_6311) -> 913 h_BBptrcarry x_6313 x_6312 p x_6311 914 914 915 915 (** val bebit_rect_Type3 : … … 917 917 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 918 918 let rec bebit_rect_Type3 h_BBbit h_BBundef h_BBptrcarry = function 919 | BBbit x_63 05 -> h_BBbit x_6305919 | BBbit x_6318 -> h_BBbit x_6318 920 920 | BBundef -> h_BBundef 921 | BBptrcarry (x_63 08, x_6307, p, x_6306) ->922 h_BBptrcarry x_63 08 x_6307 p x_6306921 | BBptrcarry (x_6321, x_6320, p, x_6319) -> 922 h_BBptrcarry x_6321 x_6320 p x_6319 923 923 924 924 (** val bebit_rect_Type2 : … … 926 926 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 927 927 let rec bebit_rect_Type2 h_BBbit h_BBundef h_BBptrcarry = function 928 | BBbit x_63 13 -> h_BBbit x_6313928 | BBbit x_6326 -> h_BBbit x_6326 929 929 | BBundef -> h_BBundef 930 | BBptrcarry (x_63 16, x_6315, p, x_6314) ->931 h_BBptrcarry x_63 16 x_6315 p x_6314930 | BBptrcarry (x_6329, x_6328, p, x_6327) -> 931 h_BBptrcarry x_6329 x_6328 p x_6327 932 932 933 933 (** val bebit_rect_Type1 : … … 935 935 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 936 936 let rec bebit_rect_Type1 h_BBbit h_BBundef h_BBptrcarry = function 937 | BBbit x_63 21 -> h_BBbit x_6321937 | BBbit x_6334 -> h_BBbit x_6334 938 938 | BBundef -> h_BBundef 939 | BBptrcarry (x_63 24, x_6323, p, x_6322) ->940 h_BBptrcarry x_63 24 x_6323 p x_6322939 | BBptrcarry (x_6337, x_6336, p, x_6335) -> 940 h_BBptrcarry x_6337 x_6336 p x_6335 941 941 942 942 (** val bebit_rect_Type0 : … … 944 944 BitVector.bitVector -> 'a1) -> bebit -> 'a1 **) 945 945 let rec bebit_rect_Type0 h_BBbit h_BBundef h_BBptrcarry = function 946 | BBbit x_63 29 -> h_BBbit x_6329946 | BBbit x_6342 -> h_BBbit x_6342 947 947 | BBundef -> h_BBundef 948 | BBptrcarry (x_63 32, x_6331, p, x_6330) ->949 h_BBptrcarry x_63 32 x_6331 p x_6330948 | BBptrcarry (x_6345, x_6344, p, x_6343) -> 949 h_BBptrcarry x_6345 x_6344 p x_6343 950 950 951 951 (** val bebit_inv_rect_Type4 : -
extracted/classifyOp.ml
r2775 r2797 96 96 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 97 97 -> classify_add_cases -> 'a1 **) 98 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_72 59 x_7258= function98 let rec classify_add_cases_rect_Type4 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7272 x_7271 = function 99 99 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 100 100 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 108 108 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 109 109 -> classify_add_cases -> 'a1 **) 110 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_72 66 x_7265= function110 let rec classify_add_cases_rect_Type5 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7279 x_7278 = function 111 111 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 112 112 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 120 120 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 121 121 -> classify_add_cases -> 'a1 **) 122 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_72 73 x_7272= function122 let rec classify_add_cases_rect_Type3 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7286 x_7285 = function 123 123 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 124 124 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 132 132 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 133 133 -> classify_add_cases -> 'a1 **) 134 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_72 80 x_7279= function134 let rec classify_add_cases_rect_Type2 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7293 x_7292 = function 135 135 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 136 136 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 144 144 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 145 145 -> classify_add_cases -> 'a1 **) 146 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7 287 x_7286= function146 let rec classify_add_cases_rect_Type1 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7300 x_7299 = function 147 147 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 148 148 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 156 156 (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 157 157 -> classify_add_cases -> 'a1 **) 158 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7 294 x_7293= function158 let rec classify_add_cases_rect_Type0 h_add_case_ii h_add_case_pi h_add_case_ip h_add_default x_7307 x_7306 = function 159 159 | Add_case_ii (sz, sg) -> h_add_case_ii sz sg 160 160 | Add_case_pi (n, ty, sz, sg) -> h_add_case_pi n ty sz sg … … 319 319 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 320 320 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 321 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_73 50 x_7349= function321 let rec classify_sub_cases_rect_Type4 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7363 x_7362 = function 322 322 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 323 323 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 331 331 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 332 332 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 333 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_73 57 x_7356= function333 let rec classify_sub_cases_rect_Type5 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7370 x_7369 = function 334 334 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 335 335 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 343 343 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 344 344 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 345 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_73 64 x_7363= function345 let rec classify_sub_cases_rect_Type3 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7377 x_7376 = function 346 346 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 347 347 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 355 355 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 356 356 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 357 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_73 71 x_7370= function357 let rec classify_sub_cases_rect_Type2 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7384 x_7383 = function 358 358 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 359 359 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 367 367 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 368 368 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 369 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_73 78 x_7377= function369 let rec classify_sub_cases_rect_Type1 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7391 x_7390 = function 370 370 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 371 371 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 379 379 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> Csyntax.type0 -> 380 380 Csyntax.type0 -> classify_sub_cases -> 'a1 **) 381 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_73 85 x_7384= function381 let rec classify_sub_cases_rect_Type0 h_sub_case_ii h_sub_case_pi h_sub_case_pp h_sub_default x_7398 x_7397 = function 382 382 | Sub_case_ii (sz, sg) -> h_sub_case_ii sz sg 383 383 | Sub_case_pi (n, ty, sz, sg) -> h_sub_case_pi n ty sz sg … … 519 519 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 520 520 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 521 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_74 39 x_7438= function521 let rec classify_aop_cases_rect_Type4 h_aop_case_ii h_aop_default x_7452 x_7451 = function 522 522 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 523 523 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 526 526 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 527 527 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 528 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_74 44 x_7443= function528 let rec classify_aop_cases_rect_Type5 h_aop_case_ii h_aop_default x_7457 x_7456 = function 529 529 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 530 530 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 533 533 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 534 534 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 535 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_74 49 x_7448= function535 let rec classify_aop_cases_rect_Type3 h_aop_case_ii h_aop_default x_7462 x_7461 = function 536 536 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 537 537 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 540 540 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 541 541 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 542 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_74 54 x_7453= function542 let rec classify_aop_cases_rect_Type2 h_aop_case_ii h_aop_default x_7467 x_7466 = function 543 543 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 544 544 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 547 547 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 548 548 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 549 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_74 59 x_7458= function549 let rec classify_aop_cases_rect_Type1 h_aop_case_ii h_aop_default x_7472 x_7471 = function 550 550 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 551 551 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 554 554 (AST.intsize -> AST.signedness -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 555 555 -> 'a1) -> Csyntax.type0 -> Csyntax.type0 -> classify_aop_cases -> 'a1 **) 556 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_74 64 x_7463= function556 let rec classify_aop_cases_rect_Type0 h_aop_case_ii h_aop_default x_7477 x_7476 = function 557 557 | Aop_case_ii (sz, sg) -> h_aop_case_ii sz sg 558 558 | Aop_default (ty, ty') -> h_aop_default ty ty' … … 636 636 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 637 637 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 638 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_75 05 x_7504= function638 let rec classify_cmp_cases_rect_Type4 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7518 x_7517 = function 639 639 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 640 640 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 645 645 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 646 646 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 647 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_75 11 x_7510= function647 let rec classify_cmp_cases_rect_Type5 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7524 x_7523 = function 648 648 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 649 649 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 654 654 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 655 655 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 656 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_75 17 x_7516= function656 let rec classify_cmp_cases_rect_Type3 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7530 x_7529 = function 657 657 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 658 658 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 663 663 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 664 664 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 665 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_75 23 x_7522= function665 let rec classify_cmp_cases_rect_Type2 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7536 x_7535 = function 666 666 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 667 667 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 672 672 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 673 673 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 674 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_75 29 x_7528= function674 let rec classify_cmp_cases_rect_Type1 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7542 x_7541 = function 675 675 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 676 676 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 681 681 Csyntax.type0 -> 'a1) -> (Csyntax.type0 -> Csyntax.type0 -> 'a1) -> 682 682 Csyntax.type0 -> Csyntax.type0 -> classify_cmp_cases -> 'a1 **) 683 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_75 35 x_7534= function683 let rec classify_cmp_cases_rect_Type0 h_cmp_case_ii h_cmp_case_pp h_cmp_default x_7548 x_7547 = function 684 684 | Cmp_case_ii (sz, sg) -> h_cmp_case_ii sz sg 685 685 | Cmp_case_pp (n, ty) -> h_cmp_case_pp n ty … … 780 780 -> 'a1 **) 781 781 let rec classify_fun_cases_rect_Type4 h_fun_case_f h_fun_default = function 782 | Fun_case_f (x_75 83, x_7582) -> h_fun_case_f x_7583 x_7582782 | Fun_case_f (x_7596, x_7595) -> h_fun_case_f x_7596 x_7595 783 783 | Fun_default -> h_fun_default 784 784 … … 787 787 -> 'a1 **) 788 788 let rec classify_fun_cases_rect_Type5 h_fun_case_f h_fun_default = function 789 | Fun_case_f (x_7 588, x_7587) -> h_fun_case_f x_7588 x_7587789 | Fun_case_f (x_7601, x_7600) -> h_fun_case_f x_7601 x_7600 790 790 | Fun_default -> h_fun_default 791 791 … … 794 794 -> 'a1 **) 795 795 let rec classify_fun_cases_rect_Type3 h_fun_case_f h_fun_default = function 796 | Fun_case_f (x_7 593, x_7592) -> h_fun_case_f x_7593 x_7592796 | Fun_case_f (x_7606, x_7605) -> h_fun_case_f x_7606 x_7605 797 797 | Fun_default -> h_fun_default 798 798 … … 801 801 -> 'a1 **) 802 802 let rec classify_fun_cases_rect_Type2 h_fun_case_f h_fun_default = function 803 | Fun_case_f (x_7 598, x_7597) -> h_fun_case_f x_7598 x_7597803 | Fun_case_f (x_7611, x_7610) -> h_fun_case_f x_7611 x_7610 804 804 | Fun_default -> h_fun_default 805 805 … … 808 808 -> 'a1 **) 809 809 let rec classify_fun_cases_rect_Type1 h_fun_case_f h_fun_default = function 810 | Fun_case_f (x_76 03, x_7602) -> h_fun_case_f x_7603 x_7602810 | Fun_case_f (x_7616, x_7615) -> h_fun_case_f x_7616 x_7615 811 811 | Fun_default -> h_fun_default 812 812 … … 815 815 -> 'a1 **) 816 816 let rec classify_fun_cases_rect_Type0 h_fun_case_f h_fun_default = function 817 | Fun_case_f (x_76 08, x_7607) -> h_fun_case_f x_7608 x_7607817 | Fun_case_f (x_7621, x_7620) -> h_fun_case_f x_7621 x_7620 818 818 | Fun_default -> h_fun_default 819 819 -
extracted/cminor_syntax.ml
r2775 r2797 113 113 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 114 114 -> 'a1) -> AST.typ -> expr -> 'a1 **) 115 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_136 16= function116 | Id (t, x_136 18) -> h_Id t x_13618117 | Cst (t, x_136 19) -> h_Cst t x_13619118 | Op1 (t, t', x_136 21, x_13620) ->119 h_Op1 t t' x_136 21 x_13620120 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 20)121 | Op2 (t1, t2, t', x_136 24, x_13623, x_13622) ->122 h_Op2 t1 t2 t' x_136 24 x_13623 x_13622123 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_136 23)124 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_136 22)125 | Mem (t, x_136 25) ->126 h_Mem t x_136 25115 let rec expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13629 = function 116 | Id (t, x_13631) -> h_Id t x_13631 117 | Cst (t, x_13632) -> h_Cst t x_13632 118 | Op1 (t, t', x_13634, x_13633) -> 119 h_Op1 t t' x_13634 x_13633 120 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13633) 121 | Op2 (t1, t2, t', x_13637, x_13636, x_13635) -> 122 h_Op2 t1 t2 t' x_13637 x_13636 x_13635 123 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13636) 124 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13635) 125 | Mem (t, x_13638) -> 126 h_Mem t x_13638 127 127 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 128 x_136 25)129 | Cond (sz, sg, t, x_136 28, x_13627, x_13626) ->130 h_Cond sz sg t x_136 28 x_13627 x_13626128 x_13638) 129 | Cond (sz, sg, t, x_13641, x_13640, x_13639) -> 130 h_Cond sz sg t x_13641 x_13640 x_13639 131 131 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 132 (sz, sg)) x_136 28)133 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 27)134 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 26)135 | Ecost (t, x_136 30, x_13629) ->136 h_Ecost t x_136 30 x_13629137 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 29)132 (sz, sg)) x_13641) 133 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13640) 134 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13639) 135 | Ecost (t, x_13643, x_13642) -> 136 h_Ecost t x_13643 x_13642 137 (expr_rect_Type4 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13642) 138 138 139 139 (** val expr_rect_Type3 : … … 145 145 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 146 146 -> 'a1) -> AST.typ -> expr -> 'a1 **) 147 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_136 60= function148 | Id (t, x_136 62) -> h_Id t x_13662149 | Cst (t, x_136 63) -> h_Cst t x_13663150 | Op1 (t, t', x_136 65, x_13664) ->151 h_Op1 t t' x_136 65 x_13664152 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 64)153 | Op2 (t1, t2, t', x_136 68, x_13667, x_13666) ->154 h_Op2 t1 t2 t' x_136 68 x_13667 x_13666155 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_136 67)156 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_136 66)157 | Mem (t, x_136 69) ->158 h_Mem t x_136 69147 let rec expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13673 = function 148 | Id (t, x_13675) -> h_Id t x_13675 149 | Cst (t, x_13676) -> h_Cst t x_13676 150 | Op1 (t, t', x_13678, x_13677) -> 151 h_Op1 t t' x_13678 x_13677 152 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13677) 153 | Op2 (t1, t2, t', x_13681, x_13680, x_13679) -> 154 h_Op2 t1 t2 t' x_13681 x_13680 x_13679 155 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13680) 156 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13679) 157 | Mem (t, x_13682) -> 158 h_Mem t x_13682 159 159 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 160 x_136 69)161 | Cond (sz, sg, t, x_136 72, x_13671, x_13670) ->162 h_Cond sz sg t x_136 72 x_13671 x_13670160 x_13682) 161 | Cond (sz, sg, t, x_13685, x_13684, x_13683) -> 162 h_Cond sz sg t x_13685 x_13684 x_13683 163 163 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 164 (sz, sg)) x_136 72)165 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 71)166 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 70)167 | Ecost (t, x_136 74, x_13673) ->168 h_Ecost t x_136 74 x_13673169 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 73)164 (sz, sg)) x_13685) 165 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13684) 166 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13683) 167 | Ecost (t, x_13687, x_13686) -> 168 h_Ecost t x_13687 x_13686 169 (expr_rect_Type3 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13686) 170 170 171 171 (** val expr_rect_Type2 : … … 177 177 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 178 178 -> 'a1) -> AST.typ -> expr -> 'a1 **) 179 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_136 82= function180 | Id (t, x_136 84) -> h_Id t x_13684181 | Cst (t, x_136 85) -> h_Cst t x_13685182 | Op1 (t, t', x_13 687, x_13686) ->183 h_Op1 t t' x_13 687 x_13686184 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_136 86)185 | Op2 (t1, t2, t', x_13 690, x_13689, x_13688) ->186 h_Op2 t1 t2 t' x_13 690 x_13689 x_13688187 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13 689)188 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13 688)189 | Mem (t, x_13 691) ->190 h_Mem t x_13 691179 let rec expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13695 = function 180 | Id (t, x_13697) -> h_Id t x_13697 181 | Cst (t, x_13698) -> h_Cst t x_13698 182 | Op1 (t, t', x_13700, x_13699) -> 183 h_Op1 t t' x_13700 x_13699 184 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13699) 185 | Op2 (t1, t2, t', x_13703, x_13702, x_13701) -> 186 h_Op2 t1 t2 t' x_13703 x_13702 x_13701 187 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13702) 188 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13701) 189 | Mem (t, x_13704) -> 190 h_Mem t x_13704 191 191 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 192 x_13 691)193 | Cond (sz, sg, t, x_13 694, x_13693, x_13692) ->194 h_Cond sz sg t x_13 694 x_13693 x_13692192 x_13704) 193 | Cond (sz, sg, t, x_13707, x_13706, x_13705) -> 194 h_Cond sz sg t x_13707 x_13706 x_13705 195 195 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 196 (sz, sg)) x_13 694)197 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13 693)198 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13 692)199 | Ecost (t, x_13 696, x_13695) ->200 h_Ecost t x_13 696 x_13695201 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13 695)196 (sz, sg)) x_13707) 197 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13706) 198 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13705) 199 | Ecost (t, x_13709, x_13708) -> 200 h_Ecost t x_13709 x_13708 201 (expr_rect_Type2 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13708) 202 202 203 203 (** val expr_rect_Type1 : … … 209 209 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 210 210 -> 'a1) -> AST.typ -> expr -> 'a1 **) 211 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_137 04= function212 | Id (t, x_137 06) -> h_Id t x_13706213 | Cst (t, x_137 07) -> h_Cst t x_13707214 | Op1 (t, t', x_137 09, x_13708) ->215 h_Op1 t t' x_137 09 x_13708216 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 08)217 | Op2 (t1, t2, t', x_137 12, x_13711, x_13710) ->218 h_Op2 t1 t2 t' x_137 12 x_13711 x_13710219 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_137 11)220 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_137 10)221 | Mem (t, x_137 13) ->222 h_Mem t x_137 13211 let rec expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13717 = function 212 | Id (t, x_13719) -> h_Id t x_13719 213 | Cst (t, x_13720) -> h_Cst t x_13720 214 | Op1 (t, t', x_13722, x_13721) -> 215 h_Op1 t t' x_13722 x_13721 216 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13721) 217 | Op2 (t1, t2, t', x_13725, x_13724, x_13723) -> 218 h_Op2 t1 t2 t' x_13725 x_13724 x_13723 219 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13724) 220 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13723) 221 | Mem (t, x_13726) -> 222 h_Mem t x_13726 223 223 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 224 x_137 13)225 | Cond (sz, sg, t, x_137 16, x_13715, x_13714) ->226 h_Cond sz sg t x_137 16 x_13715 x_13714224 x_13726) 225 | Cond (sz, sg, t, x_13729, x_13728, x_13727) -> 226 h_Cond sz sg t x_13729 x_13728 x_13727 227 227 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 228 (sz, sg)) x_137 16)229 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 15)230 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 14)231 | Ecost (t, x_137 18, x_13717) ->232 h_Ecost t x_137 18 x_13717233 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 17)228 (sz, sg)) x_13729) 229 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13728) 230 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13727) 231 | Ecost (t, x_13731, x_13730) -> 232 h_Ecost t x_13731 x_13730 233 (expr_rect_Type1 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13730) 234 234 235 235 (** val expr_rect_Type0 : … … 241 241 -> 'a1 -> 'a1 -> 'a1) -> (AST.typ -> CostLabel.costlabel -> expr -> 'a1 242 242 -> 'a1) -> AST.typ -> expr -> 'a1 **) 243 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_137 26= function244 | Id (t, x_137 28) -> h_Id t x_13728245 | Cst (t, x_137 29) -> h_Cst t x_13729246 | Op1 (t, t', x_137 31, x_13730) ->247 h_Op1 t t' x_137 31 x_13730248 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 30)249 | Op2 (t1, t2, t', x_137 34, x_13733, x_13732) ->250 h_Op2 t1 t2 t' x_137 34 x_13733 x_13732251 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_137 33)252 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_137 32)253 | Mem (t, x_137 35) ->254 h_Mem t x_137 35243 let rec expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost x_13739 = function 244 | Id (t, x_13741) -> h_Id t x_13741 245 | Cst (t, x_13742) -> h_Cst t x_13742 246 | Op1 (t, t', x_13744, x_13743) -> 247 h_Op1 t t' x_13744 x_13743 248 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13743) 249 | Op2 (t1, t2, t', x_13747, x_13746, x_13745) -> 250 h_Op2 t1 t2 t' x_13747 x_13746 x_13745 251 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t1 x_13746) 252 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t2 x_13745) 253 | Mem (t, x_13748) -> 254 h_Mem t x_13748 255 255 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost AST.ASTptr 256 x_137 35)257 | Cond (sz, sg, t, x_137 38, x_13737, x_13736) ->258 h_Cond sz sg t x_137 38 x_13737 x_13736256 x_13748) 257 | Cond (sz, sg, t, x_13751, x_13750, x_13749) -> 258 h_Cond sz sg t x_13751 x_13750 x_13749 259 259 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost (AST.ASTint 260 (sz, sg)) x_137 38)261 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 37)262 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 36)263 | Ecost (t, x_137 40, x_13739) ->264 h_Ecost t x_137 40 x_13739265 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_137 39)260 (sz, sg)) x_13751) 261 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13750) 262 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13749) 263 | Ecost (t, x_13753, x_13752) -> 264 h_Ecost t x_13753 x_13752 265 (expr_rect_Type0 h_Id h_Cst h_Op1 h_Op2 h_Mem h_Cond h_Ecost t x_13752) 266 266 267 267 (** val expr_inv_rect_Type4 : … … 373 373 let rec stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function 374 374 | St_skip -> h_St_skip 375 | St_assign (t, x_139 11, x_13910) -> h_St_assign t x_13911 x_13910376 | St_store (t, x_139 13, x_13912) -> h_St_store t x_13913 x_13912377 | St_call (x_139 16, x_13915, x_13914) -> h_St_call x_13916 x_13915 x_13914378 | St_seq (x_139 18, x_13917) ->379 h_St_seq x_139 18 x_13917375 | St_assign (t, x_13924, x_13923) -> h_St_assign t x_13924 x_13923 376 | St_store (t, x_13926, x_13925) -> h_St_store t x_13926 x_13925 377 | St_call (x_13929, x_13928, x_13927) -> h_St_call x_13929 x_13928 x_13927 378 | St_seq (x_13931, x_13930) -> 379 h_St_seq x_13931 x_13930 380 380 (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 381 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 18)381 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13931) 382 382 (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 383 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 17)384 | St_ifthenelse (sz, sg, x_139 21, x_13920, x_13919) ->385 h_St_ifthenelse sz sg x_139 21 x_13920 x_13919383 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13930) 384 | St_ifthenelse (sz, sg, x_13934, x_13933, x_13932) -> 385 h_St_ifthenelse sz sg x_13934 x_13933 x_13932 386 386 (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 387 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 20)387 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13933) 388 388 (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 389 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 19)390 | St_return x_139 22 -> h_St_return x_13922391 | St_label (x_139 24, x_13923) ->392 h_St_label x_139 24 x_13923389 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13932) 390 | St_return x_13935 -> h_St_return x_13935 391 | St_label (x_13937, x_13936) -> 392 h_St_label x_13937 x_13936 393 393 (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 394 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 23)395 | St_goto x_139 25 -> h_St_goto x_13925396 | St_cost (x_139 27, x_13926) ->397 h_St_cost x_139 27 x_13926394 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13936) 395 | St_goto x_13938 -> h_St_goto x_13938 396 | St_cost (x_13940, x_13939) -> 397 h_St_cost x_13940 x_13939 398 398 (stmt_rect_Type4 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 399 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 26)399 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13939) 400 400 401 401 (** val stmt_rect_Type3 : … … 410 410 let rec stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function 411 411 | St_skip -> h_St_skip 412 | St_assign (t, x_139 69, x_13968) -> h_St_assign t x_13969 x_13968413 | St_store (t, x_139 71, x_13970) -> h_St_store t x_13971 x_13970414 | St_call (x_139 74, x_13973, x_13972) -> h_St_call x_13974 x_13973 x_13972415 | St_seq (x_139 76, x_13975) ->416 h_St_seq x_139 76 x_13975412 | St_assign (t, x_13982, x_13981) -> h_St_assign t x_13982 x_13981 413 | St_store (t, x_13984, x_13983) -> h_St_store t x_13984 x_13983 414 | St_call (x_13987, x_13986, x_13985) -> h_St_call x_13987 x_13986 x_13985 415 | St_seq (x_13989, x_13988) -> 416 h_St_seq x_13989 x_13988 417 417 (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 418 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 76)418 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13989) 419 419 (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 420 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 75)421 | St_ifthenelse (sz, sg, x_139 79, x_13978, x_13977) ->422 h_St_ifthenelse sz sg x_139 79 x_13978 x_13977420 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13988) 421 | St_ifthenelse (sz, sg, x_13992, x_13991, x_13990) -> 422 h_St_ifthenelse sz sg x_13992 x_13991 x_13990 423 423 (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 424 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 78)424 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13991) 425 425 (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 426 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 77)427 | St_return x_139 80 -> h_St_return x_13980428 | St_label (x_139 82, x_13981) ->429 h_St_label x_139 82 x_13981426 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13990) 427 | St_return x_13993 -> h_St_return x_13993 428 | St_label (x_13995, x_13994) -> 429 h_St_label x_13995 x_13994 430 430 (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 431 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 81)432 | St_goto x_139 83 -> h_St_goto x_13983433 | St_cost (x_139 85, x_13984) ->434 h_St_cost x_139 85 x_13984431 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13994) 432 | St_goto x_13996 -> h_St_goto x_13996 433 | St_cost (x_13998, x_13997) -> 434 h_St_cost x_13998 x_13997 435 435 (stmt_rect_Type3 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 436 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_139 84)436 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_13997) 437 437 438 438 (** val stmt_rect_Type2 : … … 447 447 let rec stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function 448 448 | St_skip -> h_St_skip 449 | St_assign (t, x_1 3998, x_13997) -> h_St_assign t x_13998 x_13997450 | St_store (t, x_140 00, x_13999) -> h_St_store t x_14000 x_13999451 | St_call (x_140 03, x_14002, x_14001) -> h_St_call x_14003 x_14002 x_14001452 | St_seq (x_140 05, x_14004) ->453 h_St_seq x_140 05 x_14004449 | St_assign (t, x_14011, x_14010) -> h_St_assign t x_14011 x_14010 450 | St_store (t, x_14013, x_14012) -> h_St_store t x_14013 x_14012 451 | St_call (x_14016, x_14015, x_14014) -> h_St_call x_14016 x_14015 x_14014 452 | St_seq (x_14018, x_14017) -> 453 h_St_seq x_14018 x_14017 454 454 (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 455 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 05)455 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14018) 456 456 (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 457 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 04)458 | St_ifthenelse (sz, sg, x_140 08, x_14007, x_14006) ->459 h_St_ifthenelse sz sg x_140 08 x_14007 x_14006457 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14017) 458 | St_ifthenelse (sz, sg, x_14021, x_14020, x_14019) -> 459 h_St_ifthenelse sz sg x_14021 x_14020 x_14019 460 460 (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 461 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 07)461 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14020) 462 462 (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 463 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 06)464 | St_return x_140 09 -> h_St_return x_14009465 | St_label (x_140 11, x_14010) ->466 h_St_label x_140 11 x_14010463 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14019) 464 | St_return x_14022 -> h_St_return x_14022 465 | St_label (x_14024, x_14023) -> 466 h_St_label x_14024 x_14023 467 467 (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 468 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 10)469 | St_goto x_140 12 -> h_St_goto x_14012470 | St_cost (x_140 14, x_14013) ->471 h_St_cost x_140 14 x_14013468 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14023) 469 | St_goto x_14025 -> h_St_goto x_14025 470 | St_cost (x_14027, x_14026) -> 471 h_St_cost x_14027 x_14026 472 472 (stmt_rect_Type2 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 473 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 13)473 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14026) 474 474 475 475 (** val stmt_rect_Type1 : … … 484 484 let rec stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function 485 485 | St_skip -> h_St_skip 486 | St_assign (t, x_140 27, x_14026) -> h_St_assign t x_14027 x_14026487 | St_store (t, x_140 29, x_14028) -> h_St_store t x_14029 x_14028488 | St_call (x_140 32, x_14031, x_14030) -> h_St_call x_14032 x_14031 x_14030489 | St_seq (x_140 34, x_14033) ->490 h_St_seq x_140 34 x_14033486 | St_assign (t, x_14040, x_14039) -> h_St_assign t x_14040 x_14039 487 | St_store (t, x_14042, x_14041) -> h_St_store t x_14042 x_14041 488 | St_call (x_14045, x_14044, x_14043) -> h_St_call x_14045 x_14044 x_14043 489 | St_seq (x_14047, x_14046) -> 490 h_St_seq x_14047 x_14046 491 491 (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 492 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 34)492 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14047) 493 493 (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 494 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 33)495 | St_ifthenelse (sz, sg, x_140 37, x_14036, x_14035) ->496 h_St_ifthenelse sz sg x_140 37 x_14036 x_14035494 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14046) 495 | St_ifthenelse (sz, sg, x_14050, x_14049, x_14048) -> 496 h_St_ifthenelse sz sg x_14050 x_14049 x_14048 497 497 (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 498 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 36)498 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14049) 499 499 (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 500 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 35)501 | St_return x_140 38 -> h_St_return x_14038502 | St_label (x_140 40, x_14039) ->503 h_St_label x_140 40 x_14039500 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14048) 501 | St_return x_14051 -> h_St_return x_14051 502 | St_label (x_14053, x_14052) -> 503 h_St_label x_14053 x_14052 504 504 (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 505 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 39)506 | St_goto x_140 41 -> h_St_goto x_14041507 | St_cost (x_140 43, x_14042) ->508 h_St_cost x_140 43 x_14042505 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14052) 506 | St_goto x_14054 -> h_St_goto x_14054 507 | St_cost (x_14056, x_14055) -> 508 h_St_cost x_14056 x_14055 509 509 (stmt_rect_Type1 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 510 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 42)510 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14055) 511 511 512 512 (** val stmt_rect_Type0 : … … 521 521 let rec stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost = function 522 522 | St_skip -> h_St_skip 523 | St_assign (t, x_140 56, x_14055) -> h_St_assign t x_14056 x_14055524 | St_store (t, x_140 58, x_14057) -> h_St_store t x_14058 x_14057525 | St_call (x_140 61, x_14060, x_14059) -> h_St_call x_14061 x_14060 x_14059526 | St_seq (x_140 63, x_14062) ->527 h_St_seq x_140 63 x_14062523 | St_assign (t, x_14069, x_14068) -> h_St_assign t x_14069 x_14068 524 | St_store (t, x_14071, x_14070) -> h_St_store t x_14071 x_14070 525 | St_call (x_14074, x_14073, x_14072) -> h_St_call x_14074 x_14073 x_14072 526 | St_seq (x_14076, x_14075) -> 527 h_St_seq x_14076 x_14075 528 528 (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 529 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 63)529 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14076) 530 530 (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 531 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 62)532 | St_ifthenelse (sz, sg, x_140 66, x_14065, x_14064) ->533 h_St_ifthenelse sz sg x_140 66 x_14065 x_14064531 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14075) 532 | St_ifthenelse (sz, sg, x_14079, x_14078, x_14077) -> 533 h_St_ifthenelse sz sg x_14079 x_14078 x_14077 534 534 (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 535 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 65)535 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14078) 536 536 (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 537 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 64)538 | St_return x_140 67 -> h_St_return x_14067539 | St_label (x_140 69, x_14068) ->540 h_St_label x_140 69 x_14068537 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14077) 538 | St_return x_14080 -> h_St_return x_14080 539 | St_label (x_14082, x_14081) -> 540 h_St_label x_14082 x_14081 541 541 (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 542 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 68)543 | St_goto x_140 70 -> h_St_goto x_14070544 | St_cost (x_140 72, x_14071) ->545 h_St_cost x_140 72 x_14071542 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14081) 543 | St_goto x_14083 -> h_St_goto x_14083 544 | St_cost (x_14085, x_14084) -> 545 h_St_cost x_14085 x_14084 546 546 (stmt_rect_Type0 h_St_skip h_St_assign h_St_store h_St_call h_St_seq 547 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_140 71)547 h_St_ifthenelse h_St_return h_St_label h_St_goto h_St_cost x_14084) 548 548 549 549 (** val stmt_inv_rect_Type4 : … … 757 757 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 758 758 -> 'a1) -> internal_function -> 'a1 **) 759 let rec internal_function_rect_Type4 h_mk_internal_function x_143 67=759 let rec internal_function_rect_Type4 h_mk_internal_function x_14380 = 760 760 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 761 f_stacksize = f_stacksize0; f_body = f_body0 } = x_143 67761 f_stacksize = f_stacksize0; f_body = f_body0 } = x_14380 762 762 in 763 763 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 768 768 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 769 769 -> 'a1) -> internal_function -> 'a1 **) 770 let rec internal_function_rect_Type5 h_mk_internal_function x_143 69=770 let rec internal_function_rect_Type5 h_mk_internal_function x_14382 = 771 771 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 772 f_stacksize = f_stacksize0; f_body = f_body0 } = x_143 69772 f_stacksize = f_stacksize0; f_body = f_body0 } = x_14382 773 773 in 774 774 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 779 779 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 780 780 -> 'a1) -> internal_function -> 'a1 **) 781 let rec internal_function_rect_Type3 h_mk_internal_function x_143 71=781 let rec internal_function_rect_Type3 h_mk_internal_function x_14384 = 782 782 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 783 f_stacksize = f_stacksize0; f_body = f_body0 } = x_143 71783 f_stacksize = f_stacksize0; f_body = f_body0 } = x_14384 784 784 in 785 785 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 790 790 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 791 791 -> 'a1) -> internal_function -> 'a1 **) 792 let rec internal_function_rect_Type2 h_mk_internal_function x_143 73=792 let rec internal_function_rect_Type2 h_mk_internal_function x_14386 = 793 793 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 794 f_stacksize = f_stacksize0; f_body = f_body0 } = x_143 73794 f_stacksize = f_stacksize0; f_body = f_body0 } = x_14386 795 795 in 796 796 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 801 801 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 802 802 -> 'a1) -> internal_function -> 'a1 **) 803 let rec internal_function_rect_Type1 h_mk_internal_function x_143 75=803 let rec internal_function_rect_Type1 h_mk_internal_function x_14388 = 804 804 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 805 f_stacksize = f_stacksize0; f_body = f_body0 } = x_143 75805 f_stacksize = f_stacksize0; f_body = f_body0 } = x_14388 806 806 in 807 807 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 … … 812 812 (AST.ident, AST.typ) Types.prod List.list -> __ -> Nat.nat -> stmt -> __ 813 813 -> 'a1) -> internal_function -> 'a1 **) 814 let rec internal_function_rect_Type0 h_mk_internal_function x_143 77=814 let rec internal_function_rect_Type0 h_mk_internal_function x_14390 = 815 815 let { f_return = f_return0; f_params = f_params0; f_vars = f_vars0; 816 f_stacksize = f_stacksize0; f_body = f_body0 } = x_143 77816 f_stacksize = f_stacksize0; f_body = f_body0 } = x_14390 817 817 in 818 818 h_mk_internal_function f_return0 f_params0 f_vars0 __ f_stacksize0 f_body0 -
extracted/compiler.ml
r2775 r2797 286 286 let { Types.fst = p3; Types.snd = stack_cost } = eta29073 in 287 287 let p4 = LTLToLIN.ltl_to_lin p3 in 288 let p5 = LINToASM.lin_to_asm p4 in 289 (match p5 with 290 | Types.None -> Errors.Error (Errors.msg ErrorMessages.AssemblyTooLarge) 291 | Types.Some p6 -> 292 Errors.OK { Types.fst = { Types.fst = p6; Types.snd = stack_cost }; 293 Types.snd = max_stack }) 288 Obj.magic 289 (Monad.m_bind0 (Monad.max_def Errors.res0) 290 (Obj.magic 291 (Errors.opt_to_res (Errors.msg ErrorMessages.AssemblyTooLarge) 292 (LINToASM.lin_to_asm p4))) (fun p5 -> 293 Monad.m_return0 (Monad.max_def Errors.res0) { Types.fst = { Types.fst = 294 p5; Types.snd = stack_cost }; Types.snd = max_stack })) 294 295 295 296 open Assembly … … 351 352 Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> 352 353 compiler_output -> 'a1 **) 353 let rec compiler_output_rect_Type4 h_mk_compiler_output x_248 20=354 let rec compiler_output_rect_Type4 h_mk_compiler_output x_24899 = 354 355 let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost = 355 356 c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight = 356 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_248 20357 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24899 357 358 in 358 359 h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0 … … 363 364 Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> 364 365 compiler_output -> 'a1 **) 365 let rec compiler_output_rect_Type5 h_mk_compiler_output x_24 822=366 let rec compiler_output_rect_Type5 h_mk_compiler_output x_24901 = 366 367 let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost = 367 368 c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight = 368 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24 822369 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24901 369 370 in 370 371 h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0 … … 375 376 Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> 376 377 compiler_output -> 'a1 **) 377 let rec compiler_output_rect_Type3 h_mk_compiler_output x_24 824=378 let rec compiler_output_rect_Type3 h_mk_compiler_output x_24903 = 378 379 let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost = 379 380 c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight = 380 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24 824381 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24903 381 382 in 382 383 h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0 … … 387 388 Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> 388 389 compiler_output -> 'a1 **) 389 let rec compiler_output_rect_Type2 h_mk_compiler_output x_24 826=390 let rec compiler_output_rect_Type2 h_mk_compiler_output x_24905 = 390 391 let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost = 391 392 c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight = 392 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24 826393 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24905 393 394 in 394 395 h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0 … … 399 400 Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> 400 401 compiler_output -> 'a1 **) 401 let rec compiler_output_rect_Type1 h_mk_compiler_output x_24 828=402 let rec compiler_output_rect_Type1 h_mk_compiler_output x_24907 = 402 403 let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost = 403 404 c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight = 404 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24 828405 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24907 405 406 in 406 407 h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0 … … 411 412 Csyntax.clight_program -> Label.clight_cost_map -> 'a1) -> 412 413 compiler_output -> 'a1 **) 413 let rec compiler_output_rect_Type0 h_mk_compiler_output x_24 830=414 let rec compiler_output_rect_Type0 h_mk_compiler_output x_24909 = 414 415 let { c_labelled_object_code = c_labelled_object_code0; c_stack_cost = 415 416 c_stack_cost0; c_max_stack = c_max_stack0; c_labelled_clight = 416 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24 830417 c_labelled_clight0; c_clight_cost_map = c_clight_cost_map0 } = x_24909 417 418 in 418 419 h_mk_compiler_output c_labelled_object_code0 c_stack_cost0 c_max_stack0 -
extracted/csem.ml
r2775 r2797 778 778 let rec cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 779 779 | Kstop -> h_Kstop 780 | Kseq (x_85 57, x_8556) ->781 h_Kseq x_85 57 x_8556780 | Kseq (x_8570, x_8569) -> 781 h_Kseq x_8570 x_8569 782 782 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 783 h_Kswitch h_Kcall x_85 56)784 | Kwhile (x_85 60, x_8559, x_8558) ->785 h_Kwhile x_85 60 x_8559 x_8558783 h_Kswitch h_Kcall x_8569) 784 | Kwhile (x_8573, x_8572, x_8571) -> 785 h_Kwhile x_8573 x_8572 x_8571 786 786 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 787 h_Kswitch h_Kcall x_85 58)788 | Kdowhile (x_85 63, x_8562, x_8561) ->789 h_Kdowhile x_85 63 x_8562 x_8561787 h_Kswitch h_Kcall x_8571) 788 | Kdowhile (x_8576, x_8575, x_8574) -> 789 h_Kdowhile x_8576 x_8575 x_8574 790 790 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 791 h_Kswitch h_Kcall x_85 61)792 | Kfor2 (x_85 67, x_8566, x_8565, x_8564) ->793 h_Kfor2 x_85 67 x_8566 x_8565 x_8564791 h_Kswitch h_Kcall x_8574) 792 | Kfor2 (x_8580, x_8579, x_8578, x_8577) -> 793 h_Kfor2 x_8580 x_8579 x_8578 x_8577 794 794 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 795 h_Kswitch h_Kcall x_85 64)796 | Kfor3 (x_85 71, x_8570, x_8569, x_8568) ->797 h_Kfor3 x_85 71 x_8570 x_8569 x_8568795 h_Kswitch h_Kcall x_8577) 796 | Kfor3 (x_8584, x_8583, x_8582, x_8581) -> 797 h_Kfor3 x_8584 x_8583 x_8582 x_8581 798 798 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 799 h_Kswitch h_Kcall x_85 68)800 | Kswitch x_85 72->801 h_Kswitch x_85 72799 h_Kswitch h_Kcall x_8581) 800 | Kswitch x_8585 -> 801 h_Kswitch x_8585 802 802 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 803 h_Kswitch h_Kcall x_85 72)804 | Kcall (x_85 76, x_8575, x_8574, x_8573) ->805 h_Kcall x_85 76 x_8575 x_8574 x_8573803 h_Kswitch h_Kcall x_8585) 804 | Kcall (x_8589, x_8588, x_8587, x_8586) -> 805 h_Kcall x_8589 x_8588 x_8587 x_8586 806 806 (cont_rect_Type4 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 807 h_Kswitch h_Kcall x_85 73)807 h_Kswitch h_Kcall x_8586) 808 808 809 809 (** val cont_rect_Type3 : … … 818 818 let rec cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 819 819 | Kstop -> h_Kstop 820 | Kseq (x_86 17, x_8616) ->821 h_Kseq x_86 17 x_8616820 | Kseq (x_8630, x_8629) -> 821 h_Kseq x_8630 x_8629 822 822 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 823 h_Kswitch h_Kcall x_86 16)824 | Kwhile (x_86 20, x_8619, x_8618) ->825 h_Kwhile x_86 20 x_8619 x_8618823 h_Kswitch h_Kcall x_8629) 824 | Kwhile (x_8633, x_8632, x_8631) -> 825 h_Kwhile x_8633 x_8632 x_8631 826 826 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 827 h_Kswitch h_Kcall x_86 18)828 | Kdowhile (x_86 23, x_8622, x_8621) ->829 h_Kdowhile x_86 23 x_8622 x_8621827 h_Kswitch h_Kcall x_8631) 828 | Kdowhile (x_8636, x_8635, x_8634) -> 829 h_Kdowhile x_8636 x_8635 x_8634 830 830 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 831 h_Kswitch h_Kcall x_86 21)832 | Kfor2 (x_86 27, x_8626, x_8625, x_8624) ->833 h_Kfor2 x_86 27 x_8626 x_8625 x_8624831 h_Kswitch h_Kcall x_8634) 832 | Kfor2 (x_8640, x_8639, x_8638, x_8637) -> 833 h_Kfor2 x_8640 x_8639 x_8638 x_8637 834 834 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 835 h_Kswitch h_Kcall x_86 24)836 | Kfor3 (x_86 31, x_8630, x_8629, x_8628) ->837 h_Kfor3 x_86 31 x_8630 x_8629 x_8628835 h_Kswitch h_Kcall x_8637) 836 | Kfor3 (x_8644, x_8643, x_8642, x_8641) -> 837 h_Kfor3 x_8644 x_8643 x_8642 x_8641 838 838 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 839 h_Kswitch h_Kcall x_86 28)840 | Kswitch x_86 32->841 h_Kswitch x_86 32839 h_Kswitch h_Kcall x_8641) 840 | Kswitch x_8645 -> 841 h_Kswitch x_8645 842 842 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 843 h_Kswitch h_Kcall x_86 32)844 | Kcall (x_86 36, x_8635, x_8634, x_8633) ->845 h_Kcall x_86 36 x_8635 x_8634 x_8633843 h_Kswitch h_Kcall x_8645) 844 | Kcall (x_8649, x_8648, x_8647, x_8646) -> 845 h_Kcall x_8649 x_8648 x_8647 x_8646 846 846 (cont_rect_Type3 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 847 h_Kswitch h_Kcall x_86 33)847 h_Kswitch h_Kcall x_8646) 848 848 849 849 (** val cont_rect_Type2 : … … 858 858 let rec cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 859 859 | Kstop -> h_Kstop 860 | Kseq (x_86 47, x_8646) ->861 h_Kseq x_86 47 x_8646860 | Kseq (x_8660, x_8659) -> 861 h_Kseq x_8660 x_8659 862 862 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 863 h_Kswitch h_Kcall x_86 46)864 | Kwhile (x_86 50, x_8649, x_8648) ->865 h_Kwhile x_86 50 x_8649 x_8648863 h_Kswitch h_Kcall x_8659) 864 | Kwhile (x_8663, x_8662, x_8661) -> 865 h_Kwhile x_8663 x_8662 x_8661 866 866 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 867 h_Kswitch h_Kcall x_86 48)868 | Kdowhile (x_86 53, x_8652, x_8651) ->869 h_Kdowhile x_86 53 x_8652 x_8651867 h_Kswitch h_Kcall x_8661) 868 | Kdowhile (x_8666, x_8665, x_8664) -> 869 h_Kdowhile x_8666 x_8665 x_8664 870 870 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 871 h_Kswitch h_Kcall x_86 51)872 | Kfor2 (x_86 57, x_8656, x_8655, x_8654) ->873 h_Kfor2 x_86 57 x_8656 x_8655 x_8654871 h_Kswitch h_Kcall x_8664) 872 | Kfor2 (x_8670, x_8669, x_8668, x_8667) -> 873 h_Kfor2 x_8670 x_8669 x_8668 x_8667 874 874 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 875 h_Kswitch h_Kcall x_86 54)876 | Kfor3 (x_86 61, x_8660, x_8659, x_8658) ->877 h_Kfor3 x_86 61 x_8660 x_8659 x_8658875 h_Kswitch h_Kcall x_8667) 876 | Kfor3 (x_8674, x_8673, x_8672, x_8671) -> 877 h_Kfor3 x_8674 x_8673 x_8672 x_8671 878 878 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 879 h_Kswitch h_Kcall x_86 58)880 | Kswitch x_86 62->881 h_Kswitch x_86 62879 h_Kswitch h_Kcall x_8671) 880 | Kswitch x_8675 -> 881 h_Kswitch x_8675 882 882 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 883 h_Kswitch h_Kcall x_86 62)884 | Kcall (x_86 66, x_8665, x_8664, x_8663) ->885 h_Kcall x_86 66 x_8665 x_8664 x_8663883 h_Kswitch h_Kcall x_8675) 884 | Kcall (x_8679, x_8678, x_8677, x_8676) -> 885 h_Kcall x_8679 x_8678 x_8677 x_8676 886 886 (cont_rect_Type2 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 887 h_Kswitch h_Kcall x_86 63)887 h_Kswitch h_Kcall x_8676) 888 888 889 889 (** val cont_rect_Type1 : … … 898 898 let rec cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 899 899 | Kstop -> h_Kstop 900 | Kseq (x_86 77, x_8676) ->901 h_Kseq x_86 77 x_8676900 | Kseq (x_8690, x_8689) -> 901 h_Kseq x_8690 x_8689 902 902 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 903 h_Kswitch h_Kcall x_86 76)904 | Kwhile (x_86 80, x_8679, x_8678) ->905 h_Kwhile x_86 80 x_8679 x_8678903 h_Kswitch h_Kcall x_8689) 904 | Kwhile (x_8693, x_8692, x_8691) -> 905 h_Kwhile x_8693 x_8692 x_8691 906 906 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 907 h_Kswitch h_Kcall x_86 78)908 | Kdowhile (x_86 83, x_8682, x_8681) ->909 h_Kdowhile x_86 83 x_8682 x_8681907 h_Kswitch h_Kcall x_8691) 908 | Kdowhile (x_8696, x_8695, x_8694) -> 909 h_Kdowhile x_8696 x_8695 x_8694 910 910 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 911 h_Kswitch h_Kcall x_86 81)912 | Kfor2 (x_8 687, x_8686, x_8685, x_8684) ->913 h_Kfor2 x_8 687 x_8686 x_8685 x_8684911 h_Kswitch h_Kcall x_8694) 912 | Kfor2 (x_8700, x_8699, x_8698, x_8697) -> 913 h_Kfor2 x_8700 x_8699 x_8698 x_8697 914 914 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 915 h_Kswitch h_Kcall x_86 84)916 | Kfor3 (x_8 691, x_8690, x_8689, x_8688) ->917 h_Kfor3 x_8 691 x_8690 x_8689 x_8688915 h_Kswitch h_Kcall x_8697) 916 | Kfor3 (x_8704, x_8703, x_8702, x_8701) -> 917 h_Kfor3 x_8704 x_8703 x_8702 x_8701 918 918 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 919 h_Kswitch h_Kcall x_8 688)920 | Kswitch x_8 692->921 h_Kswitch x_8 692919 h_Kswitch h_Kcall x_8701) 920 | Kswitch x_8705 -> 921 h_Kswitch x_8705 922 922 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 923 h_Kswitch h_Kcall x_8 692)924 | Kcall (x_8 696, x_8695, x_8694, x_8693) ->925 h_Kcall x_8 696 x_8695 x_8694 x_8693923 h_Kswitch h_Kcall x_8705) 924 | Kcall (x_8709, x_8708, x_8707, x_8706) -> 925 h_Kcall x_8709 x_8708 x_8707 x_8706 926 926 (cont_rect_Type1 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 927 h_Kswitch h_Kcall x_8 693)927 h_Kswitch h_Kcall x_8706) 928 928 929 929 (** val cont_rect_Type0 : … … 938 938 let rec cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 h_Kswitch h_Kcall = function 939 939 | Kstop -> h_Kstop 940 | Kseq (x_87 07, x_8706) ->941 h_Kseq x_87 07 x_8706940 | Kseq (x_8720, x_8719) -> 941 h_Kseq x_8720 x_8719 942 942 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 943 h_Kswitch h_Kcall x_87 06)944 | Kwhile (x_87 10, x_8709, x_8708) ->945 h_Kwhile x_87 10 x_8709 x_8708943 h_Kswitch h_Kcall x_8719) 944 | Kwhile (x_8723, x_8722, x_8721) -> 945 h_Kwhile x_8723 x_8722 x_8721 946 946 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 947 h_Kswitch h_Kcall x_87 08)948 | Kdowhile (x_87 13, x_8712, x_8711) ->949 h_Kdowhile x_87 13 x_8712 x_8711947 h_Kswitch h_Kcall x_8721) 948 | Kdowhile (x_8726, x_8725, x_8724) -> 949 h_Kdowhile x_8726 x_8725 x_8724 950 950 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 951 h_Kswitch h_Kcall x_87 11)952 | Kfor2 (x_87 17, x_8716, x_8715, x_8714) ->953 h_Kfor2 x_87 17 x_8716 x_8715 x_8714951 h_Kswitch h_Kcall x_8724) 952 | Kfor2 (x_8730, x_8729, x_8728, x_8727) -> 953 h_Kfor2 x_8730 x_8729 x_8728 x_8727 954 954 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 955 h_Kswitch h_Kcall x_87 14)956 | Kfor3 (x_87 21, x_8720, x_8719, x_8718) ->957 h_Kfor3 x_87 21 x_8720 x_8719 x_8718955 h_Kswitch h_Kcall x_8727) 956 | Kfor3 (x_8734, x_8733, x_8732, x_8731) -> 957 h_Kfor3 x_8734 x_8733 x_8732 x_8731 958 958 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 959 h_Kswitch h_Kcall x_87 18)960 | Kswitch x_87 22->961 h_Kswitch x_87 22959 h_Kswitch h_Kcall x_8731) 960 | Kswitch x_8735 -> 961 h_Kswitch x_8735 962 962 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 963 h_Kswitch h_Kcall x_87 22)964 | Kcall (x_87 26, x_8725, x_8724, x_8723) ->965 h_Kcall x_87 26 x_8725 x_8724 x_8723963 h_Kswitch h_Kcall x_8735) 964 | Kcall (x_8739, x_8738, x_8737, x_8736) -> 965 h_Kcall x_8739 x_8738 x_8737 x_8736 966 966 (cont_rect_Type0 h_Kstop h_Kseq h_Kwhile h_Kdowhile h_Kfor2 h_Kfor3 967 h_Kswitch h_Kcall x_87 23)967 h_Kswitch h_Kcall x_8736) 968 968 969 969 (** val cont_inv_rect_Type4 : -
extracted/csyntax.ml
r2775 r2797 1203 1203 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1204 1204 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1205 let rec function_rect_Type4 h_mk_function x_43 52=1205 let rec function_rect_Type4 h_mk_function x_4365 = 1206 1206 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1207 fn_body = fn_body0 } = x_43 521207 fn_body = fn_body0 } = x_4365 1208 1208 in 1209 1209 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1212 1212 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1213 1213 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1214 let rec function_rect_Type5 h_mk_function x_43 54=1214 let rec function_rect_Type5 h_mk_function x_4367 = 1215 1215 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1216 fn_body = fn_body0 } = x_43 541216 fn_body = fn_body0 } = x_4367 1217 1217 in 1218 1218 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1221 1221 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1222 1222 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1223 let rec function_rect_Type3 h_mk_function x_43 56=1223 let rec function_rect_Type3 h_mk_function x_4369 = 1224 1224 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1225 fn_body = fn_body0 } = x_43 561225 fn_body = fn_body0 } = x_4369 1226 1226 in 1227 1227 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1230 1230 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1231 1231 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1232 let rec function_rect_Type2 h_mk_function x_43 58=1232 let rec function_rect_Type2 h_mk_function x_4371 = 1233 1233 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1234 fn_body = fn_body0 } = x_43 581234 fn_body = fn_body0 } = x_4371 1235 1235 in 1236 1236 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1239 1239 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1240 1240 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1241 let rec function_rect_Type1 h_mk_function x_43 60=1241 let rec function_rect_Type1 h_mk_function x_4373 = 1242 1242 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1243 fn_body = fn_body0 } = x_43 601243 fn_body = fn_body0 } = x_4373 1244 1244 in 1245 1245 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1248 1248 (type0 -> (AST.ident, type0) Types.prod List.list -> (AST.ident, type0) 1249 1249 Types.prod List.list -> statement -> 'a1) -> function0 -> 'a1 **) 1250 let rec function_rect_Type0 h_mk_function x_43 62=1250 let rec function_rect_Type0 h_mk_function x_4375 = 1251 1251 let { fn_return = fn_return0; fn_params = fn_params0; fn_vars = fn_vars0; 1252 fn_body = fn_body0 } = x_43 621252 fn_body = fn_body0 } = x_4375 1253 1253 in 1254 1254 h_mk_function fn_return0 fn_params0 fn_vars0 fn_body0 … … 1322 1322 clight_fundef -> 'a1 **) 1323 1323 let rec clight_fundef_rect_Type4 h_CL_Internal h_CL_External = function 1324 | CL_Internal x_43 84 -> h_CL_Internal x_43841325 | CL_External (x_4 387, x_4386, x_4385) -> h_CL_External x_4387 x_4386 x_43851324 | CL_Internal x_4397 -> h_CL_Internal x_4397 1325 | CL_External (x_4400, x_4399, x_4398) -> h_CL_External x_4400 x_4399 x_4398 1326 1326 1327 1327 (** val clight_fundef_rect_Type5 : … … 1329 1329 clight_fundef -> 'a1 **) 1330 1330 let rec clight_fundef_rect_Type5 h_CL_Internal h_CL_External = function 1331 | CL_Internal x_4 391 -> h_CL_Internal x_43911332 | CL_External (x_4 394, x_4393, x_4392) -> h_CL_External x_4394 x_4393 x_43921331 | CL_Internal x_4404 -> h_CL_Internal x_4404 1332 | CL_External (x_4407, x_4406, x_4405) -> h_CL_External x_4407 x_4406 x_4405 1333 1333 1334 1334 (** val clight_fundef_rect_Type3 : … … 1336 1336 clight_fundef -> 'a1 **) 1337 1337 let rec clight_fundef_rect_Type3 h_CL_Internal h_CL_External = function 1338 | CL_Internal x_4 398 -> h_CL_Internal x_43981339 | CL_External (x_44 01, x_4400, x_4399) -> h_CL_External x_4401 x_4400 x_43991338 | CL_Internal x_4411 -> h_CL_Internal x_4411 1339 | CL_External (x_4414, x_4413, x_4412) -> h_CL_External x_4414 x_4413 x_4412 1340 1340 1341 1341 (** val clight_fundef_rect_Type2 : … … 1343 1343 clight_fundef -> 'a1 **) 1344 1344 let rec clight_fundef_rect_Type2 h_CL_Internal h_CL_External = function 1345 | CL_Internal x_44 05 -> h_CL_Internal x_44051346 | CL_External (x_44 08, x_4407, x_4406) -> h_CL_External x_4408 x_4407 x_44061345 | CL_Internal x_4418 -> h_CL_Internal x_4418 1346 | CL_External (x_4421, x_4420, x_4419) -> h_CL_External x_4421 x_4420 x_4419 1347 1347 1348 1348 (** val clight_fundef_rect_Type1 : … … 1350 1350 clight_fundef -> 'a1 **) 1351 1351 let rec clight_fundef_rect_Type1 h_CL_Internal h_CL_External = function 1352 | CL_Internal x_44 12 -> h_CL_Internal x_44121353 | CL_External (x_44 15, x_4414, x_4413) -> h_CL_External x_4415 x_4414 x_44131352 | CL_Internal x_4425 -> h_CL_Internal x_4425 1353 | CL_External (x_4428, x_4427, x_4426) -> h_CL_External x_4428 x_4427 x_4426 1354 1354 1355 1355 (** val clight_fundef_rect_Type0 : … … 1357 1357 clight_fundef -> 'a1 **) 1358 1358 let rec clight_fundef_rect_Type0 h_CL_Internal h_CL_External = function 1359 | CL_Internal x_44 19 -> h_CL_Internal x_44191360 | CL_External (x_44 22, x_4421, x_4420) -> h_CL_External x_4422 x_4421 x_44201359 | CL_Internal x_4432 -> h_CL_Internal x_4432 1360 | CL_External (x_4435, x_4434, x_4433) -> h_CL_External x_4435 x_4434 x_4433 1361 1361 1362 1362 (** val clight_fundef_inv_rect_Type4 : … … 1532 1532 (** val mode_rect_Type4 : 1533 1533 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1534 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_44 72= function1534 let rec mode_rect_Type4 h_By_value h_By_reference h_By_nothing x_4485 = function 1535 1535 | By_value t -> h_By_value t 1536 1536 | By_reference -> h_By_reference … … 1539 1539 (** val mode_rect_Type5 : 1540 1540 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1541 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_44 77= function1541 let rec mode_rect_Type5 h_By_value h_By_reference h_By_nothing x_4490 = function 1542 1542 | By_value t -> h_By_value t 1543 1543 | By_reference -> h_By_reference … … 1546 1546 (** val mode_rect_Type3 : 1547 1547 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1548 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_44 82= function1548 let rec mode_rect_Type3 h_By_value h_By_reference h_By_nothing x_4495 = function 1549 1549 | By_value t -> h_By_value t 1550 1550 | By_reference -> h_By_reference … … 1553 1553 (** val mode_rect_Type2 : 1554 1554 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1555 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4 487= function1555 let rec mode_rect_Type2 h_By_value h_By_reference h_By_nothing x_4500 = function 1556 1556 | By_value t -> h_By_value t 1557 1557 | By_reference -> h_By_reference … … 1560 1560 (** val mode_rect_Type1 : 1561 1561 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1562 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4 492= function1562 let rec mode_rect_Type1 h_By_value h_By_reference h_By_nothing x_4505 = function 1563 1563 | By_value t -> h_By_value t 1564 1564 | By_reference -> h_By_reference … … 1567 1567 (** val mode_rect_Type0 : 1568 1568 (AST.typ -> 'a1) -> 'a1 -> (AST.typ -> 'a1) -> AST.typ -> mode -> 'a1 **) 1569 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4 497= function1569 let rec mode_rect_Type0 h_By_value h_By_reference h_By_nothing x_4510 = function 1570 1570 | By_value t -> h_By_value t 1571 1571 | By_reference -> h_By_reference -
extracted/division.ml
r2775 r2797 28 28 let rec natp_rect_Type4 h_pzero h_ppos = function 29 29 | Pzero -> h_pzero 30 | Ppos x_47 58 -> h_ppos x_475830 | Ppos x_4771 -> h_ppos x_4771 31 31 32 32 (** val natp_rect_Type5 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **) 33 33 let rec natp_rect_Type5 h_pzero h_ppos = function 34 34 | Pzero -> h_pzero 35 | Ppos x_47 62 -> h_ppos x_476235 | Ppos x_4775 -> h_ppos x_4775 36 36 37 37 (** val natp_rect_Type3 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **) 38 38 let rec natp_rect_Type3 h_pzero h_ppos = function 39 39 | Pzero -> h_pzero 40 | Ppos x_47 66 -> h_ppos x_476640 | Ppos x_4779 -> h_ppos x_4779 41 41 42 42 (** val natp_rect_Type2 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **) 43 43 let rec natp_rect_Type2 h_pzero h_ppos = function 44 44 | Pzero -> h_pzero 45 | Ppos x_47 70 -> h_ppos x_477045 | Ppos x_4783 -> h_ppos x_4783 46 46 47 47 (** val natp_rect_Type1 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **) 48 48 let rec natp_rect_Type1 h_pzero h_ppos = function 49 49 | Pzero -> h_pzero 50 | Ppos x_47 74 -> h_ppos x_477450 | Ppos x_4787 -> h_ppos x_4787 51 51 52 52 (** val natp_rect_Type0 : 'a1 -> (Positive.pos -> 'a1) -> natp -> 'a1 **) 53 53 let rec natp_rect_Type0 h_pzero h_ppos = function 54 54 | Pzero -> h_pzero 55 | Ppos x_47 78 -> h_ppos x_477855 | Ppos x_4791 -> h_ppos x_4791 56 56 57 57 (** val natp_inv_rect_Type4 : -
extracted/eRTL.ml
r2775 r2797 112 112 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 113 113 let rec move_dst_rect_Type4 h_PSD h_HDW = function 114 | PSD x_21 042 -> h_PSD x_21042115 | HDW x_21 043 -> h_HDW x_21043114 | PSD x_21121 -> h_PSD x_21121 115 | HDW x_21122 -> h_HDW x_21122 116 116 117 117 (** val move_dst_rect_Type5 : 118 118 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 119 119 let rec move_dst_rect_Type5 h_PSD h_HDW = function 120 | PSD x_21 047 -> h_PSD x_21047121 | HDW x_21 048 -> h_HDW x_21048120 | PSD x_21126 -> h_PSD x_21126 121 | HDW x_21127 -> h_HDW x_21127 122 122 123 123 (** val move_dst_rect_Type3 : 124 124 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 125 125 let rec move_dst_rect_Type3 h_PSD h_HDW = function 126 | PSD x_21 052 -> h_PSD x_21052127 | HDW x_21 053 -> h_HDW x_21053126 | PSD x_21131 -> h_PSD x_21131 127 | HDW x_21132 -> h_HDW x_21132 128 128 129 129 (** val move_dst_rect_Type2 : 130 130 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 131 131 let rec move_dst_rect_Type2 h_PSD h_HDW = function 132 | PSD x_21 057 -> h_PSD x_21057133 | HDW x_21 058 -> h_HDW x_21058132 | PSD x_21136 -> h_PSD x_21136 133 | HDW x_21137 -> h_HDW x_21137 134 134 135 135 (** val move_dst_rect_Type1 : 136 136 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 137 137 let rec move_dst_rect_Type1 h_PSD h_HDW = function 138 | PSD x_21 062 -> h_PSD x_21062139 | HDW x_21 063 -> h_HDW x_21063138 | PSD x_21141 -> h_PSD x_21141 139 | HDW x_21142 -> h_HDW x_21142 140 140 141 141 (** val move_dst_rect_Type0 : 142 142 (Registers.register -> 'a1) -> (I8051.register -> 'a1) -> move_dst -> 'a1 **) 143 143 let rec move_dst_rect_Type0 h_PSD h_HDW = function 144 | PSD x_21 067 -> h_PSD x_21067145 | HDW x_21 068 -> h_HDW x_21068144 | PSD x_21146 -> h_PSD x_21146 145 | HDW x_21147 -> h_HDW x_21147 146 146 147 147 (** val move_dst_inv_rect_Type4 : … … 338 338 | Ertl_new_frame -> h_ertl_new_frame 339 339 | Ertl_del_frame -> h_ertl_del_frame 340 | Ertl_frame_size x_211 07 -> h_ertl_frame_size x_21107340 | Ertl_frame_size x_21186 -> h_ertl_frame_size x_21186 341 341 342 342 (** val ertl_seq_rect_Type5 : … … 345 345 | Ertl_new_frame -> h_ertl_new_frame 346 346 | Ertl_del_frame -> h_ertl_del_frame 347 | Ertl_frame_size x_211 12 -> h_ertl_frame_size x_21112347 | Ertl_frame_size x_21191 -> h_ertl_frame_size x_21191 348 348 349 349 (** val ertl_seq_rect_Type3 : … … 352 352 | Ertl_new_frame -> h_ertl_new_frame 353 353 | Ertl_del_frame -> h_ertl_del_frame 354 | Ertl_frame_size x_211 17 -> h_ertl_frame_size x_21117354 | Ertl_frame_size x_21196 -> h_ertl_frame_size x_21196 355 355 356 356 (** val ertl_seq_rect_Type2 : … … 359 359 | Ertl_new_frame -> h_ertl_new_frame 360 360 | Ertl_del_frame -> h_ertl_del_frame 361 | Ertl_frame_size x_21 122 -> h_ertl_frame_size x_21122361 | Ertl_frame_size x_21201 -> h_ertl_frame_size x_21201 362 362 363 363 (** val ertl_seq_rect_Type1 : … … 366 366 | Ertl_new_frame -> h_ertl_new_frame 367 367 | Ertl_del_frame -> h_ertl_del_frame 368 | Ertl_frame_size x_21 127 -> h_ertl_frame_size x_21127368 | Ertl_frame_size x_21206 -> h_ertl_frame_size x_21206 369 369 370 370 (** val ertl_seq_rect_Type0 : … … 373 373 | Ertl_new_frame -> h_ertl_new_frame 374 374 | Ertl_del_frame -> h_ertl_del_frame 375 | Ertl_frame_size x_21 132 -> h_ertl_frame_size x_21132375 | Ertl_frame_size x_21211 -> h_ertl_frame_size x_21211 376 376 377 377 (** val ertl_seq_inv_rect_Type4 : … … 426 426 Bool.False } 427 427 428 (** val regs_from_move_dst : move_dst -> Registers.register List.list **) 429 let regs_from_move_dst = function 430 | PSD r -> List.Cons (r, List.Nil) 431 | HDW x -> List.Nil 432 433 (** val regs_from_move_src : move_src -> Registers.register List.list **) 434 let regs_from_move_src = function 435 | Joint.Reg r -> 436 (match r with 437 | PSD r1 -> List.Cons (r1, List.Nil) 438 | HDW x -> List.Nil) 439 | Joint.Imm x -> List.Nil 440 441 (** val ertl_ext_seq_regs : ertl_seq -> Registers.register List.list **) 442 let ertl_ext_seq_regs = function 443 | Ertl_new_frame -> List.Nil 444 | Ertl_del_frame -> List.Nil 445 | Ertl_frame_size r -> List.Cons (r, List.Nil) 446 447 (** val eRTL_functs : Joint.get_pseudo_reg_functs **) 448 let eRTL_functs = 449 { Joint.acc_a_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil)); 450 Joint.acc_b_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil)); 451 Joint.acc_a_args = (fun arg -> 452 match Obj.magic arg with 453 | Joint.Reg r -> List.Cons (r, List.Nil) 454 | Joint.Imm x -> List.Nil); Joint.acc_b_args = (fun arg -> 455 match Obj.magic arg with 456 | Joint.Reg r -> List.Cons (r, List.Nil) 457 | Joint.Imm x -> List.Nil); Joint.dpl_regs = (fun r -> List.Cons 458 ((Obj.magic r), List.Nil)); Joint.dph_regs = (fun r -> List.Cons 459 ((Obj.magic r), List.Nil)); Joint.dpl_args = (fun arg -> 460 match Obj.magic arg with 461 | Joint.Reg r -> List.Cons (r, List.Nil) 462 | Joint.Imm x -> List.Nil); Joint.dph_args = (fun arg -> 463 match Obj.magic arg with 464 | Joint.Reg r -> List.Cons (r, List.Nil) 465 | Joint.Imm x -> List.Nil); Joint.snd_args = (fun arg -> 466 match Obj.magic arg with 467 | Joint.Reg r -> List.Cons (r, List.Nil) 468 | Joint.Imm x -> List.Nil); Joint.pair_move_regs = (fun x -> 469 List.append (regs_from_move_dst (Obj.magic x).Types.fst) 470 (regs_from_move_src (Obj.magic x).Types.snd)); Joint.f_call_args = 471 (fun x -> List.Nil); Joint.f_call_dest = (fun x -> List.Nil); 472 Joint.ext_seq_regs = (Obj.magic ertl_ext_seq_regs); Joint.params_regs = 473 (fun x -> List.Nil) } 474 428 475 (** val eRTL : Joint.graph_params **) 429 476 let eRTL = 430 eRTL_uns477 { Joint.u_pars = eRTL_uns; Joint.functs = eRTL_functs } 431 478 432 479 type ertl_program = Joint.joint_program … … 561 608 let dpi1__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 = 562 609 Joint.seq_to_step__o__inject 563 (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x1610 (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTL) x1 564 611 (ertl_seq_joint x1 x2.Types.dpi1) 565 612 … … 578 625 let eject__o__ertl_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 = 579 626 Joint.seq_to_step__o__inject 580 (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x1627 (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTL) x1 581 628 (ertl_seq_joint x1 (Types.pi1 x2)) 582 629 … … 595 642 let ertl_seq_to_joint_seq__o__seq_to_step__o__inject x0 x1 = 596 643 Joint.seq_to_step__o__inject 597 (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTL) x0 (ertl_seq_joint x0 x1) 644 (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTL) x0 645 (ertl_seq_joint x0 x1) 598 646 599 647 (** val ertl_seq_to_joint_seq__o__inject : -
extracted/eRTL.mli
r2773 r2797 281 281 val eRTL_uns : Joint.unserialized_params 282 282 283 val regs_from_move_dst : move_dst -> Registers.register List.list 284 285 val regs_from_move_src : move_src -> Registers.register List.list 286 287 val ertl_ext_seq_regs : ertl_seq -> Registers.register List.list 288 289 val eRTL_functs : Joint.get_pseudo_reg_functs 290 283 291 val eRTL : Joint.graph_params 284 292 -
extracted/eRTLptr.ml
r2775 r2797 116 116 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 117 117 let rec ertlptr_seq_rect_Type4 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 118 | Ertlptr_ertl x_21 176 -> h_ertlptr_ertl x_21176119 | LOW_ADDRESS (x_21 178, x_21177) -> h_LOW_ADDRESS x_21178 x_21177120 | HIGH_ADDRESS (x_21 180, x_21179) -> h_HIGH_ADDRESS x_21180 x_21179118 | Ertlptr_ertl x_21255 -> h_ertlptr_ertl x_21255 119 | LOW_ADDRESS (x_21257, x_21256) -> h_LOW_ADDRESS x_21257 x_21256 120 | HIGH_ADDRESS (x_21259, x_21258) -> h_HIGH_ADDRESS x_21259 x_21258 121 121 122 122 (** val ertlptr_seq_rect_Type5 : … … 124 124 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 125 125 let rec ertlptr_seq_rect_Type5 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 126 | Ertlptr_ertl x_21 185 -> h_ertlptr_ertl x_21185127 | LOW_ADDRESS (x_21 187, x_21186) -> h_LOW_ADDRESS x_21187 x_21186128 | HIGH_ADDRESS (x_21 189, x_21188) -> h_HIGH_ADDRESS x_21189 x_21188126 | Ertlptr_ertl x_21264 -> h_ertlptr_ertl x_21264 127 | LOW_ADDRESS (x_21266, x_21265) -> h_LOW_ADDRESS x_21266 x_21265 128 | HIGH_ADDRESS (x_21268, x_21267) -> h_HIGH_ADDRESS x_21268 x_21267 129 129 130 130 (** val ertlptr_seq_rect_Type3 : … … 132 132 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 133 133 let rec ertlptr_seq_rect_Type3 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 134 | Ertlptr_ertl x_21 194 -> h_ertlptr_ertl x_21194135 | LOW_ADDRESS (x_21 196, x_21195) -> h_LOW_ADDRESS x_21196 x_21195136 | HIGH_ADDRESS (x_21 198, x_21197) -> h_HIGH_ADDRESS x_21198 x_21197134 | Ertlptr_ertl x_21273 -> h_ertlptr_ertl x_21273 135 | LOW_ADDRESS (x_21275, x_21274) -> h_LOW_ADDRESS x_21275 x_21274 136 | HIGH_ADDRESS (x_21277, x_21276) -> h_HIGH_ADDRESS x_21277 x_21276 137 137 138 138 (** val ertlptr_seq_rect_Type2 : … … 140 140 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 141 141 let rec ertlptr_seq_rect_Type2 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 142 | Ertlptr_ertl x_212 03 -> h_ertlptr_ertl x_21203143 | LOW_ADDRESS (x_212 05, x_21204) -> h_LOW_ADDRESS x_21205 x_21204144 | HIGH_ADDRESS (x_212 07, x_21206) -> h_HIGH_ADDRESS x_21207 x_21206142 | Ertlptr_ertl x_21282 -> h_ertlptr_ertl x_21282 143 | LOW_ADDRESS (x_21284, x_21283) -> h_LOW_ADDRESS x_21284 x_21283 144 | HIGH_ADDRESS (x_21286, x_21285) -> h_HIGH_ADDRESS x_21286 x_21285 145 145 146 146 (** val ertlptr_seq_rect_Type1 : … … 148 148 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 149 149 let rec ertlptr_seq_rect_Type1 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 150 | Ertlptr_ertl x_212 12 -> h_ertlptr_ertl x_21212151 | LOW_ADDRESS (x_212 14, x_21213) -> h_LOW_ADDRESS x_21214 x_21213152 | HIGH_ADDRESS (x_212 16, x_21215) -> h_HIGH_ADDRESS x_21216 x_21215150 | Ertlptr_ertl x_21291 -> h_ertlptr_ertl x_21291 151 | LOW_ADDRESS (x_21293, x_21292) -> h_LOW_ADDRESS x_21293 x_21292 152 | HIGH_ADDRESS (x_21295, x_21294) -> h_HIGH_ADDRESS x_21295 x_21294 153 153 154 154 (** val ertlptr_seq_rect_Type0 : … … 156 156 (Registers.register -> Graphs.label -> 'a1) -> ertlptr_seq -> 'a1 **) 157 157 let rec ertlptr_seq_rect_Type0 h_ertlptr_ertl h_LOW_ADDRESS h_HIGH_ADDRESS = function 158 | Ertlptr_ertl x_21 221 -> h_ertlptr_ertl x_21221159 | LOW_ADDRESS (x_21 223, x_21222) -> h_LOW_ADDRESS x_21223 x_21222160 | HIGH_ADDRESS (x_21 225, x_21224) -> h_HIGH_ADDRESS x_21225 x_21224158 | Ertlptr_ertl x_21300 -> h_ertlptr_ertl x_21300 159 | LOW_ADDRESS (x_21302, x_21301) -> h_LOW_ADDRESS x_21302 x_21301 160 | HIGH_ADDRESS (x_21304, x_21303) -> h_HIGH_ADDRESS x_21304 x_21303 161 161 162 162 (** val ertlptr_seq_inv_rect_Type4 : … … 220 220 Bool.False } 221 221 222 (** val eRTLptr_functs : Joint.get_pseudo_reg_functs **) 223 let eRTLptr_functs = 224 { Joint.acc_a_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil)); 225 Joint.acc_b_regs = (fun r -> List.Cons ((Obj.magic r), List.Nil)); 226 Joint.acc_a_args = (fun arg -> 227 match Obj.magic arg with 228 | Joint.Reg r -> List.Cons (r, List.Nil) 229 | Joint.Imm x -> List.Nil); Joint.acc_b_args = (fun arg -> 230 match Obj.magic arg with 231 | Joint.Reg r -> List.Cons (r, List.Nil) 232 | Joint.Imm x -> List.Nil); Joint.dpl_regs = (fun r -> List.Cons 233 ((Obj.magic r), List.Nil)); Joint.dph_regs = (fun r -> List.Cons 234 ((Obj.magic r), List.Nil)); Joint.dpl_args = (fun arg -> 235 match Obj.magic arg with 236 | Joint.Reg r -> List.Cons (r, List.Nil) 237 | Joint.Imm x -> List.Nil); Joint.dph_args = (fun arg -> 238 match Obj.magic arg with 239 | Joint.Reg r -> List.Cons (r, List.Nil) 240 | Joint.Imm x -> List.Nil); Joint.snd_args = (fun arg -> 241 match Obj.magic arg with 242 | Joint.Reg r -> List.Cons (r, List.Nil) 243 | Joint.Imm x -> List.Nil); Joint.pair_move_regs = (fun x -> 244 List.append (ERTL.regs_from_move_dst (Obj.magic x).Types.fst) 245 (ERTL.regs_from_move_src (Obj.magic x).Types.snd)); Joint.f_call_args = 246 (fun x -> List.Nil); Joint.f_call_dest = (fun x -> List.Nil); 247 Joint.ext_seq_regs = (fun s -> 248 match Obj.magic s with 249 | Ertlptr_ertl s' -> ERTL.ertl_ext_seq_regs s' 250 | LOW_ADDRESS (r, x) -> List.Cons (r, List.Nil) 251 | HIGH_ADDRESS (r, x) -> List.Cons (r, List.Nil)); Joint.params_regs = 252 (fun x -> List.Nil) } 253 222 254 (** val eRTLptr : Joint.graph_params **) 223 255 let eRTLptr = 224 eRTLptr_uns256 { Joint.u_pars = eRTLptr_uns; Joint.functs = eRTLptr_functs } 225 257 226 258 type ertlptr_program = Joint.joint_program … … 241 273 let dpi1__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 = 242 274 Joint.seq_to_step__o__inject 243 (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x1275 (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTLptr) x1 244 276 (ertlptr_seq_joint x1 x2.Types.dpi1) 245 277 … … 258 290 let eject__o__ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x1 x2 = 259 291 Joint.seq_to_step__o__inject 260 (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x1292 (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTLptr) x1 261 293 (ertlptr_seq_joint x1 (Types.pi1 x2)) 262 294 … … 275 307 let ertlptr_seq_to_joint_seq__o__seq_to_step__o__inject x0 x1 = 276 308 Joint.seq_to_step__o__inject 277 (Joint.gp_to_p__o__stmt_pars__o__uns_pars eRTLptr) x0309 (Joint.gp_to_p__o__stmt_pars__o__uns_pars__o__u_pars eRTLptr) x0 278 310 (ertlptr_seq_joint x0 x1) 279 311 -
extracted/eRTLptr.mli
r2773 r2797 167 167 val eRTLptr_uns : Joint.unserialized_params 168 168 169 val eRTLptr_functs : Joint.get_pseudo_reg_functs 170 169 171 val eRTLptr : Joint.graph_params 170 172 -
extracted/eRTLptrToLTL.ml
r2775 r2797 167 167 arg_decision -> 'a1 **) 168 168 let rec arg_decision_rect_Type4 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 169 | Arg_decision_colour x_21 731 -> h_arg_decision_colour x_21731170 | Arg_decision_spill x_21 732 -> h_arg_decision_spill x_21732171 | Arg_decision_imm x_21 733 -> h_arg_decision_imm x_21733169 | Arg_decision_colour x_21810 -> h_arg_decision_colour x_21810 170 | Arg_decision_spill x_21811 -> h_arg_decision_spill x_21811 171 | Arg_decision_imm x_21812 -> h_arg_decision_imm x_21812 172 172 173 173 (** val arg_decision_rect_Type5 : … … 175 175 arg_decision -> 'a1 **) 176 176 let rec arg_decision_rect_Type5 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 177 | Arg_decision_colour x_21 738 -> h_arg_decision_colour x_21738178 | Arg_decision_spill x_21 739 -> h_arg_decision_spill x_21739179 | Arg_decision_imm x_21 740 -> h_arg_decision_imm x_21740177 | Arg_decision_colour x_21817 -> h_arg_decision_colour x_21817 178 | Arg_decision_spill x_21818 -> h_arg_decision_spill x_21818 179 | Arg_decision_imm x_21819 -> h_arg_decision_imm x_21819 180 180 181 181 (** val arg_decision_rect_Type3 : … … 183 183 arg_decision -> 'a1 **) 184 184 let rec arg_decision_rect_Type3 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 185 | Arg_decision_colour x_21 745 -> h_arg_decision_colour x_21745186 | Arg_decision_spill x_21 746 -> h_arg_decision_spill x_21746187 | Arg_decision_imm x_21 747 -> h_arg_decision_imm x_21747185 | Arg_decision_colour x_21824 -> h_arg_decision_colour x_21824 186 | Arg_decision_spill x_21825 -> h_arg_decision_spill x_21825 187 | Arg_decision_imm x_21826 -> h_arg_decision_imm x_21826 188 188 189 189 (** val arg_decision_rect_Type2 : … … 191 191 arg_decision -> 'a1 **) 192 192 let rec arg_decision_rect_Type2 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 193 | Arg_decision_colour x_21 752 -> h_arg_decision_colour x_21752194 | Arg_decision_spill x_21 753 -> h_arg_decision_spill x_21753195 | Arg_decision_imm x_21 754 -> h_arg_decision_imm x_21754193 | Arg_decision_colour x_21831 -> h_arg_decision_colour x_21831 194 | Arg_decision_spill x_21832 -> h_arg_decision_spill x_21832 195 | Arg_decision_imm x_21833 -> h_arg_decision_imm x_21833 196 196 197 197 (** val arg_decision_rect_Type1 : … … 199 199 arg_decision -> 'a1 **) 200 200 let rec arg_decision_rect_Type1 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 201 | Arg_decision_colour x_21 759 -> h_arg_decision_colour x_21759202 | Arg_decision_spill x_21 760 -> h_arg_decision_spill x_21760203 | Arg_decision_imm x_21 761 -> h_arg_decision_imm x_21761201 | Arg_decision_colour x_21838 -> h_arg_decision_colour x_21838 202 | Arg_decision_spill x_21839 -> h_arg_decision_spill x_21839 203 | Arg_decision_imm x_21840 -> h_arg_decision_imm x_21840 204 204 205 205 (** val arg_decision_rect_Type0 : … … 207 207 arg_decision -> 'a1 **) 208 208 let rec arg_decision_rect_Type0 h_arg_decision_colour h_arg_decision_spill h_arg_decision_imm = function 209 | Arg_decision_colour x_21 766 -> h_arg_decision_colour x_21766210 | Arg_decision_spill x_21 767 -> h_arg_decision_spill x_21767211 | Arg_decision_imm x_21 768 -> h_arg_decision_imm x_21768209 | Arg_decision_colour x_21845 -> h_arg_decision_colour x_21845 210 | Arg_decision_spill x_21846 -> h_arg_decision_spill x_21846 211 | Arg_decision_imm x_21847 -> h_arg_decision_imm x_21847 212 212 213 213 (** val arg_decision_inv_rect_Type4 : -
extracted/errorMessages.ml
r2773 r2797 74 74 | BadCostLabelling 75 75 | RepeatedCostLabel 76 | NotTerminated 76 77 77 78 (** val errorMessage_rect_Type4 : … … 82 83 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 83 84 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 84 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)85 let rec errorMessage_rect_Type4 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function85 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **) 86 let rec errorMessage_rect_Type4 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function 86 87 | MISSING -> h_MISSING 87 88 | EXTERNAL -> h_EXTERNAL … … 152 153 | BadCostLabelling -> h_BadCostLabelling 153 154 | RepeatedCostLabel -> h_RepeatedCostLabel 155 | NotTerminated -> h_NotTerminated 154 156 155 157 (** val errorMessage_rect_Type5 : … … 160 162 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 161 163 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 162 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)163 let rec errorMessage_rect_Type5 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function164 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **) 165 let rec errorMessage_rect_Type5 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function 164 166 | MISSING -> h_MISSING 165 167 | EXTERNAL -> h_EXTERNAL … … 230 232 | BadCostLabelling -> h_BadCostLabelling 231 233 | RepeatedCostLabel -> h_RepeatedCostLabel 234 | NotTerminated -> h_NotTerminated 232 235 233 236 (** val errorMessage_rect_Type3 : … … 238 241 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 239 242 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 240 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)241 let rec errorMessage_rect_Type3 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function243 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **) 244 let rec errorMessage_rect_Type3 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function 242 245 | MISSING -> h_MISSING 243 246 | EXTERNAL -> h_EXTERNAL … … 308 311 | BadCostLabelling -> h_BadCostLabelling 309 312 | RepeatedCostLabel -> h_RepeatedCostLabel 313 | NotTerminated -> h_NotTerminated 310 314 311 315 (** val errorMessage_rect_Type2 : … … 316 320 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 317 321 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 318 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)319 let rec errorMessage_rect_Type2 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function322 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **) 323 let rec errorMessage_rect_Type2 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function 320 324 | MISSING -> h_MISSING 321 325 | EXTERNAL -> h_EXTERNAL … … 386 390 | BadCostLabelling -> h_BadCostLabelling 387 391 | RepeatedCostLabel -> h_RepeatedCostLabel 392 | NotTerminated -> h_NotTerminated 388 393 389 394 (** val errorMessage_rect_Type1 : … … 394 399 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 395 400 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 396 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)397 let rec errorMessage_rect_Type1 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function401 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **) 402 let rec errorMessage_rect_Type1 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function 398 403 | MISSING -> h_MISSING 399 404 | EXTERNAL -> h_EXTERNAL … … 464 469 | BadCostLabelling -> h_BadCostLabelling 465 470 | RepeatedCostLabel -> h_RepeatedCostLabel 471 | NotTerminated -> h_NotTerminated 466 472 467 473 (** val errorMessage_rect_Type0 : … … 472 478 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 473 479 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 474 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **)475 let rec errorMessage_rect_Type0 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel = function480 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 **) 481 let rec errorMessage_rect_Type0 h_MISSING h_EXTERNAL h_AssemblyTooLarge h_Jump_expansion_failed h_ValueIsNotABoolean h_BadCast h_BadlyTypedTerm h_UnknownIdentifier h_BadLvalueTerm h_FailedLoad h_FailedOp h_WrongNumberOfParameters h_FailedStore h_NonsenseState h_ReturnMismatch h_UnknownLabel h_BadFunctionValue h_MainMissing h_UnknownField h_UndeclaredIdentifier h_BadlyTypedAccess h_BadLvalue h_MissingField h_FIXME h_MissingLabel h_ParamGlobalMixup h_DuplicateLabel h_TypeMismatch h_UnknownLocal h_FailedConstant h_BadState h_StoppedMidIO h_UnsupportedOp h_CorruptedPointer h_NotATwoBytesPointer h_ValueNotABoolean h_NotAnInt32Val h_WrongLength h_InitDataStoreFailed h_DuplicateVariable h_MissingId h_IllTypedEvent h_InternalStackFull h_InternalStackEmpty h_BadProgramCounter h_ProgramCounterOutOfCode h_PointNotFound h_LabelNotFound h_MissingSymbol h_BadFunction h_SuccessorNotProvided h_BadPointer h_NoSuccessor h_MissingStackSize h_ExternalMain h_BadRegister h_BadMain h_MissingRegister h_MissingStatement h_BadJumpTable h_BadJumpValue h_FinalState h_EmptyStack h_OutOfBounds h_UnexpectedIO h_TerminatedEarly h_BadCostLabelling h_RepeatedCostLabel h_NotTerminated = function 476 482 | MISSING -> h_MISSING 477 483 | EXTERNAL -> h_EXTERNAL … … 542 548 | BadCostLabelling -> h_BadCostLabelling 543 549 | RepeatedCostLabel -> h_RepeatedCostLabel 544 550 | NotTerminated -> h_NotTerminated 551 -
extracted/errorMessages.mli
r2773 r2797 74 74 | BadCostLabelling 75 75 | RepeatedCostLabel 76 | NotTerminated 76 77 77 78 val errorMessage_rect_Type4 : … … 82 83 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 83 84 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 84 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a185 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 85 86 86 87 val errorMessage_rect_Type5 : … … 91 92 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 92 93 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 93 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a194 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 94 95 95 96 val errorMessage_rect_Type3 : … … 100 101 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 101 102 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 102 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1103 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 103 104 104 105 val errorMessage_rect_Type2 : … … 109 110 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 110 111 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 111 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1112 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 112 113 113 114 val errorMessage_rect_Type1 : … … 118 119 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 119 120 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 120 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1121 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 121 122 122 123 val errorMessage_rect_Type0 : … … 127 128 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 128 129 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 129 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1130 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> 'a1 -> errorMessage -> 'a1 130 131 -
extracted/errors.ml
r2775 r2797 43 43 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 44 44 let rec errcode_rect_Type4 h_MSG h_CTX = function 45 | MSG x_29 70 -> h_MSG x_297046 | CTX (tag, x_29 71) -> h_CTX tag x_297145 | MSG x_2983 -> h_MSG x_2983 46 | CTX (tag, x_2984) -> h_CTX tag x_2984 47 47 48 48 (** val errcode_rect_Type5 : … … 50 50 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 51 51 let rec errcode_rect_Type5 h_MSG h_CTX = function 52 | MSG x_29 75 -> h_MSG x_297553 | CTX (tag, x_29 76) -> h_CTX tag x_297652 | MSG x_2988 -> h_MSG x_2988 53 | CTX (tag, x_2989) -> h_CTX tag x_2989 54 54 55 55 (** val errcode_rect_Type3 : … … 57 57 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 58 58 let rec errcode_rect_Type3 h_MSG h_CTX = function 59 | MSG x_29 80 -> h_MSG x_298060 | CTX (tag, x_29 81) -> h_CTX tag x_298159 | MSG x_2993 -> h_MSG x_2993 60 | CTX (tag, x_2994) -> h_CTX tag x_2994 61 61 62 62 (** val errcode_rect_Type2 : … … 64 64 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 65 65 let rec errcode_rect_Type2 h_MSG h_CTX = function 66 | MSG x_29 85 -> h_MSG x_298567 | CTX (tag, x_29 86) -> h_CTX tag x_298666 | MSG x_2998 -> h_MSG x_2998 67 | CTX (tag, x_2999) -> h_CTX tag x_2999 68 68 69 69 (** val errcode_rect_Type1 : … … 71 71 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 72 72 let rec errcode_rect_Type1 h_MSG h_CTX = function 73 | MSG x_ 2990 -> h_MSG x_299074 | CTX (tag, x_ 2991) -> h_CTX tag x_299173 | MSG x_3003 -> h_MSG x_3003 74 | CTX (tag, x_3004) -> h_CTX tag x_3004 75 75 76 76 (** val errcode_rect_Type0 : … … 78 78 PreIdentifiers.identifier -> 'a1) -> errcode -> 'a1 **) 79 79 let rec errcode_rect_Type0 h_MSG h_CTX = function 80 | MSG x_ 2995 -> h_MSG x_299581 | CTX (tag, x_ 2996) -> h_CTX tag x_299680 | MSG x_3008 -> h_MSG x_3008 81 | CTX (tag, x_3009) -> h_CTX tag x_3009 82 82 83 83 (** val errcode_inv_rect_Type4 : … … 143 143 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 144 144 let rec res_rect_Type4 h_OK h_Error = function 145 | OK x_30 35 -> h_OK x_3035146 | Error x_30 36 -> h_Error x_3036145 | OK x_3048 -> h_OK x_3048 146 | Error x_3049 -> h_Error x_3049 147 147 148 148 (** val res_rect_Type5 : 149 149 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 150 150 let rec res_rect_Type5 h_OK h_Error = function 151 | OK x_30 40 -> h_OK x_3040152 | Error x_30 41 -> h_Error x_3041151 | OK x_3053 -> h_OK x_3053 152 | Error x_3054 -> h_Error x_3054 153 153 154 154 (** val res_rect_Type3 : 155 155 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 156 156 let rec res_rect_Type3 h_OK h_Error = function 157 | OK x_30 45 -> h_OK x_3045158 | Error x_30 46 -> h_Error x_3046157 | OK x_3058 -> h_OK x_3058 158 | Error x_3059 -> h_Error x_3059 159 159 160 160 (** val res_rect_Type2 : 161 161 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 162 162 let rec res_rect_Type2 h_OK h_Error = function 163 | OK x_30 50 -> h_OK x_3050164 | Error x_30 51 -> h_Error x_3051163 | OK x_3063 -> h_OK x_3063 164 | Error x_3064 -> h_Error x_3064 165 165 166 166 (** val res_rect_Type1 : 167 167 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 168 168 let rec res_rect_Type1 h_OK h_Error = function 169 | OK x_30 55 -> h_OK x_3055170 | Error x_30 56 -> h_Error x_3056169 | OK x_3068 -> h_OK x_3068 170 | Error x_3069 -> h_Error x_3069 171 171 172 172 (** val res_rect_Type0 : 173 173 ('a1 -> 'a2) -> (errmsg -> 'a2) -> 'a1 res -> 'a2 **) 174 174 let rec res_rect_Type0 h_OK h_Error = function 175 | OK x_30 60 -> h_OK x_3060176 | Error x_30 61 -> h_Error x_3061175 | OK x_3073 -> h_OK x_3073 176 | Error x_3074 -> h_Error x_3074 177 177 178 178 (** val res_inv_rect_Type4 : -
extracted/events.ml
r2775 r2797 89 89 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 90 90 let rec eventval_rect_Type4 h_EVint = function 91 | EVint (sz, x_5 394) -> h_EVint sz x_539491 | EVint (sz, x_5407) -> h_EVint sz x_5407 92 92 93 93 (** val eventval_rect_Type5 : 94 94 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 95 95 let rec eventval_rect_Type5 h_EVint = function 96 | EVint (sz, x_5 397) -> h_EVint sz x_539796 | EVint (sz, x_5410) -> h_EVint sz x_5410 97 97 98 98 (** val eventval_rect_Type3 : 99 99 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 100 100 let rec eventval_rect_Type3 h_EVint = function 101 | EVint (sz, x_54 00) -> h_EVint sz x_5400101 | EVint (sz, x_5413) -> h_EVint sz x_5413 102 102 103 103 (** val eventval_rect_Type2 : 104 104 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 105 105 let rec eventval_rect_Type2 h_EVint = function 106 | EVint (sz, x_54 03) -> h_EVint sz x_5403106 | EVint (sz, x_5416) -> h_EVint sz x_5416 107 107 108 108 (** val eventval_rect_Type1 : 109 109 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 110 110 let rec eventval_rect_Type1 h_EVint = function 111 | EVint (sz, x_54 06) -> h_EVint sz x_5406111 | EVint (sz, x_5419) -> h_EVint sz x_5419 112 112 113 113 (** val eventval_rect_Type0 : 114 114 (AST.intsize -> AST.bvint -> 'a1) -> eventval -> 'a1 **) 115 115 let rec eventval_rect_Type0 h_EVint = function 116 | EVint (sz, x_54 09) -> h_EVint sz x_5409116 | EVint (sz, x_5422) -> h_EVint sz x_5422 117 117 118 118 (** val eventval_inv_rect_Type4 : … … 159 159 eventval -> 'a1) -> event -> 'a1 **) 160 160 let rec event_rect_Type4 h_EVcost h_EVextcall = function 161 | EVcost x_54 34 -> h_EVcost x_5434161 | EVcost x_5447 -> h_EVcost x_5447 162 162 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 163 163 … … 166 166 eventval -> 'a1) -> event -> 'a1 **) 167 167 let rec event_rect_Type5 h_EVcost h_EVextcall = function 168 | EVcost x_54 38 -> h_EVcost x_5438168 | EVcost x_5451 -> h_EVcost x_5451 169 169 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 170 170 … … 173 173 eventval -> 'a1) -> event -> 'a1 **) 174 174 let rec event_rect_Type3 h_EVcost h_EVextcall = function 175 | EVcost x_54 42 -> h_EVcost x_5442175 | EVcost x_5455 -> h_EVcost x_5455 176 176 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 177 177 … … 180 180 eventval -> 'a1) -> event -> 'a1 **) 181 181 let rec event_rect_Type2 h_EVcost h_EVextcall = function 182 | EVcost x_54 46 -> h_EVcost x_5446182 | EVcost x_5459 -> h_EVcost x_5459 183 183 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 184 184 … … 187 187 eventval -> 'a1) -> event -> 'a1 **) 188 188 let rec event_rect_Type1 h_EVcost h_EVextcall = function 189 | EVcost x_54 50 -> h_EVcost x_5450189 | EVcost x_5463 -> h_EVcost x_5463 190 190 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 191 191 … … 194 194 eventval -> 'a1) -> event -> 'a1 **) 195 195 let rec event_rect_Type0 h_EVcost h_EVextcall = function 196 | EVcost x_54 54 -> h_EVcost x_5454196 | EVcost x_5467 -> h_EVcost x_5467 197 197 | EVextcall (ev_name, ev_args, ev_res) -> h_EVextcall ev_name ev_args ev_res 198 198 -
extracted/fixpoints.ml
r2775 r2797 80 80 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 81 81 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 82 let rec property_lattice_rect_Type4 h_mk_property_lattice x_21 571=83 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 84 l_is_maximal = l_is_maximal0 } = x_21 57182 let rec property_lattice_rect_Type4 h_mk_property_lattice x_21650 = 83 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 84 l_is_maximal = l_is_maximal0 } = x_21650 85 85 in 86 86 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 89 89 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 90 90 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 91 let rec property_lattice_rect_Type5 h_mk_property_lattice x_21 573=92 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 93 l_is_maximal = l_is_maximal0 } = x_21 57391 let rec property_lattice_rect_Type5 h_mk_property_lattice x_21652 = 92 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 93 l_is_maximal = l_is_maximal0 } = x_21652 94 94 in 95 95 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 98 98 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 99 99 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 100 let rec property_lattice_rect_Type3 h_mk_property_lattice x_21 575=101 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 102 l_is_maximal = l_is_maximal0 } = x_21 575100 let rec property_lattice_rect_Type3 h_mk_property_lattice x_21654 = 101 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 102 l_is_maximal = l_is_maximal0 } = x_21654 103 103 in 104 104 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 107 107 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 108 108 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 109 let rec property_lattice_rect_Type2 h_mk_property_lattice x_21 577=110 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 111 l_is_maximal = l_is_maximal0 } = x_21 577109 let rec property_lattice_rect_Type2 h_mk_property_lattice x_21656 = 110 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 111 l_is_maximal = l_is_maximal0 } = x_21656 112 112 in 113 113 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 116 116 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 117 117 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 118 let rec property_lattice_rect_Type1 h_mk_property_lattice x_21 579=119 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 120 l_is_maximal = l_is_maximal0 } = x_21 579118 let rec property_lattice_rect_Type1 h_mk_property_lattice x_21658 = 119 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 120 l_is_maximal = l_is_maximal0 } = x_21658 121 121 in 122 122 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 125 125 (__ -> __ -> (__ -> __ -> Bool.bool) -> (__ -> __ -> Bool.bool) -> (__ -> 126 126 Bool.bool) -> 'a1) -> property_lattice -> 'a1 **) 127 let rec property_lattice_rect_Type0 h_mk_property_lattice x_21 581=128 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 129 l_is_maximal = l_is_maximal0 } = x_21 581127 let rec property_lattice_rect_Type0 h_mk_property_lattice x_21660 = 128 let { l_bottom = l_bottom0; l_equal = l_equal0; l_included = l_included0; 129 l_is_maximal = l_is_maximal0 } = x_21660 130 130 in 131 131 h_mk_property_lattice __ l_bottom0 l_equal0 l_included0 l_is_maximal0 … … 201 201 property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint 202 202 -> 'a1 **) 203 let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_216 02=204 let fix_lfp = x_216 02in h_mk_fixpoint fix_lfp __203 let rec fixpoint_rect_Type4 latt h_mk_fixpoint x_21681 = 204 let fix_lfp = x_21681 in h_mk_fixpoint fix_lfp __ 205 205 206 206 (** val fixpoint_rect_Type5 : 207 207 property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint 208 208 -> 'a1 **) 209 let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_216 04=210 let fix_lfp = x_216 04in h_mk_fixpoint fix_lfp __209 let rec fixpoint_rect_Type5 latt h_mk_fixpoint x_21683 = 210 let fix_lfp = x_21683 in h_mk_fixpoint fix_lfp __ 211 211 212 212 (** val fixpoint_rect_Type3 : 213 213 property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint 214 214 -> 'a1 **) 215 let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_216 06=216 let fix_lfp = x_216 06in h_mk_fixpoint fix_lfp __215 let rec fixpoint_rect_Type3 latt h_mk_fixpoint x_21685 = 216 let fix_lfp = x_21685 in h_mk_fixpoint fix_lfp __ 217 217 218 218 (** val fixpoint_rect_Type2 : 219 219 property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint 220 220 -> 'a1 **) 221 let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_216 08=222 let fix_lfp = x_216 08in h_mk_fixpoint fix_lfp __221 let rec fixpoint_rect_Type2 latt h_mk_fixpoint x_21687 = 222 let fix_lfp = x_21687 in h_mk_fixpoint fix_lfp __ 223 223 224 224 (** val fixpoint_rect_Type1 : 225 225 property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint 226 226 -> 'a1 **) 227 let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_216 10=228 let fix_lfp = x_216 10in h_mk_fixpoint fix_lfp __227 let rec fixpoint_rect_Type1 latt h_mk_fixpoint x_21689 = 228 let fix_lfp = x_21689 in h_mk_fixpoint fix_lfp __ 229 229 230 230 (** val fixpoint_rect_Type0 : 231 231 property_lattice -> ((equations -> valuation) -> __ -> 'a1) -> fixpoint 232 232 -> 'a1 **) 233 let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_216 12=234 let fix_lfp = x_216 12in h_mk_fixpoint fix_lfp __233 let rec fixpoint_rect_Type0 latt h_mk_fixpoint x_21691 = 234 let fix_lfp = x_21691 in h_mk_fixpoint fix_lfp __ 235 235 236 236 (** val fix_lfp : property_lattice -> fixpoint -> equations -> valuation **) -
extracted/frontEndOps.ml
r2775 r2797 99 99 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 100 100 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 101 let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_1 2992= function102 | Ointconst (sz, sg, x_1 2994) -> h_Ointconst sz sg x_12994103 | Oaddrsymbol (x_1 2996, x_12995) -> h_Oaddrsymbol x_12996 x_12995104 | Oaddrstack x_1 2997 -> h_Oaddrstack x_12997101 let rec constant_rect_Type4 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13005 = function 102 | Ointconst (sz, sg, x_13007) -> h_Ointconst sz sg x_13007 103 | Oaddrsymbol (x_13009, x_13008) -> h_Oaddrsymbol x_13009 x_13008 104 | Oaddrstack x_13010 -> h_Oaddrstack x_13010 105 105 106 106 (** val constant_rect_Type5 : 107 107 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 108 108 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 109 let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_130 01= function110 | Ointconst (sz, sg, x_130 03) -> h_Ointconst sz sg x_13003111 | Oaddrsymbol (x_130 05, x_13004) -> h_Oaddrsymbol x_13005 x_13004112 | Oaddrstack x_130 06 -> h_Oaddrstack x_13006109 let rec constant_rect_Type5 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13014 = function 110 | Ointconst (sz, sg, x_13016) -> h_Ointconst sz sg x_13016 111 | Oaddrsymbol (x_13018, x_13017) -> h_Oaddrsymbol x_13018 x_13017 112 | Oaddrstack x_13019 -> h_Oaddrstack x_13019 113 113 114 114 (** val constant_rect_Type3 : 115 115 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 116 116 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 117 let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_130 10= function118 | Ointconst (sz, sg, x_130 12) -> h_Ointconst sz sg x_13012119 | Oaddrsymbol (x_130 14, x_13013) -> h_Oaddrsymbol x_13014 x_13013120 | Oaddrstack x_130 15 -> h_Oaddrstack x_13015117 let rec constant_rect_Type3 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13023 = function 118 | Ointconst (sz, sg, x_13025) -> h_Ointconst sz sg x_13025 119 | Oaddrsymbol (x_13027, x_13026) -> h_Oaddrsymbol x_13027 x_13026 120 | Oaddrstack x_13028 -> h_Oaddrstack x_13028 121 121 122 122 (** val constant_rect_Type2 : 123 123 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 124 124 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 125 let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_130 19= function126 | Ointconst (sz, sg, x_130 21) -> h_Ointconst sz sg x_13021127 | Oaddrsymbol (x_130 23, x_13022) -> h_Oaddrsymbol x_13023 x_13022128 | Oaddrstack x_130 24 -> h_Oaddrstack x_13024125 let rec constant_rect_Type2 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13032 = function 126 | Ointconst (sz, sg, x_13034) -> h_Ointconst sz sg x_13034 127 | Oaddrsymbol (x_13036, x_13035) -> h_Oaddrsymbol x_13036 x_13035 128 | Oaddrstack x_13037 -> h_Oaddrstack x_13037 129 129 130 130 (** val constant_rect_Type1 : 131 131 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 132 132 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 133 let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_130 28= function134 | Ointconst (sz, sg, x_130 30) -> h_Ointconst sz sg x_13030135 | Oaddrsymbol (x_130 32, x_13031) -> h_Oaddrsymbol x_13032 x_13031136 | Oaddrstack x_130 33 -> h_Oaddrstack x_13033133 let rec constant_rect_Type1 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13041 = function 134 | Ointconst (sz, sg, x_13043) -> h_Ointconst sz sg x_13043 135 | Oaddrsymbol (x_13045, x_13044) -> h_Oaddrsymbol x_13045 x_13044 136 | Oaddrstack x_13046 -> h_Oaddrstack x_13046 137 137 138 138 (** val constant_rect_Type0 : 139 139 (AST.intsize -> AST.signedness -> AST.bvint -> 'a1) -> (AST.ident -> 140 140 Nat.nat -> 'a1) -> (Nat.nat -> 'a1) -> AST.typ -> constant -> 'a1 **) 141 let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_130 37= function142 | Ointconst (sz, sg, x_130 39) -> h_Ointconst sz sg x_13039143 | Oaddrsymbol (x_130 41, x_13040) -> h_Oaddrsymbol x_13041 x_13040144 | Oaddrstack x_130 42 -> h_Oaddrstack x_13042141 let rec constant_rect_Type0 h_Ointconst h_Oaddrsymbol h_Oaddrstack x_13050 = function 142 | Ointconst (sz, sg, x_13052) -> h_Ointconst sz sg x_13052 143 | Oaddrsymbol (x_13054, x_13053) -> h_Oaddrsymbol x_13054 x_13053 144 | Oaddrstack x_13055 -> h_Oaddrstack x_13055 145 145 146 146 (** val constant_inv_rect_Type4 : … … 211 211 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 212 212 unary_operation -> 'a1 **) 213 let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_131 12 x_13111= function213 let rec unary_operation_rect_Type4 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13125 x_13124 = function 214 214 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 215 215 | Onegint (sz, sg) -> h_Onegint sz sg … … 227 227 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 228 228 unary_operation -> 'a1 **) 229 let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_131 23 x_13122= function229 let rec unary_operation_rect_Type5 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13136 x_13135 = function 230 230 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 231 231 | Onegint (sz, sg) -> h_Onegint sz sg … … 243 243 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 244 244 unary_operation -> 'a1 **) 245 let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_131 34 x_13133= function245 let rec unary_operation_rect_Type3 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13147 x_13146 = function 246 246 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 247 247 | Onegint (sz, sg) -> h_Onegint sz sg … … 259 259 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 260 260 unary_operation -> 'a1 **) 261 let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_131 45 x_13144= function261 let rec unary_operation_rect_Type2 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13158 x_13157 = function 262 262 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 263 263 | Onegint (sz, sg) -> h_Onegint sz sg … … 275 275 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 276 276 unary_operation -> 'a1 **) 277 let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_131 56 x_13155= function277 let rec unary_operation_rect_Type1 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13169 x_13168 = function 278 278 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 279 279 | Onegint (sz, sg) -> h_Onegint sz sg … … 291 291 (AST.intsize -> AST.signedness -> 'a1) -> AST.typ -> AST.typ -> 292 292 unary_operation -> 'a1 **) 293 let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_131 67 x_13166= function293 let rec unary_operation_rect_Type0 h_Ocastint h_Onegint h_Onotbool h_Onotint h_Oid h_Optrofint h_Ointofptr x_13180 x_13179 = function 294 294 | Ocastint (sz, sg, sz', sg') -> h_Ocastint sz sg sz' sg' 295 295 | Onegint (sz, sg) -> h_Onegint sz sg … … 426 426 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 427 427 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 428 let rec binary_operation_rect_Type4 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_132 72 x_13271 x_13270= function428 let rec binary_operation_rect_Type4 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13285 x_13284 x_13283 = function 429 429 | Oadd (sz, sg) -> h_Oadd sz sg 430 430 | Osub (sz, sg) -> h_Osub sz sg … … 440 440 | Oshr (sz, sg) -> h_Oshr sz sg 441 441 | Oshru (sz, sg) -> h_Oshru sz sg 442 | Ocmp (sz, sg, sg', x_132 74) -> h_Ocmp sz sg sg' x_13274443 | Ocmpu (sz, sg', x_132 75) -> h_Ocmpu sz sg' x_13275442 | Ocmp (sz, sg, sg', x_13287) -> h_Ocmp sz sg sg' x_13287 443 | Ocmpu (sz, sg', x_13288) -> h_Ocmpu sz sg' x_13288 444 444 | Oaddpi sz -> h_Oaddpi sz 445 445 | Oaddip sz -> h_Oaddip sz 446 446 | Osubpi sz -> h_Osubpi sz 447 447 | Osubpp sz -> h_Osubpp sz 448 | Ocmpp (sg', x_132 76) -> h_Ocmpp sg' x_13276448 | Ocmpp (sg', x_13289) -> h_Ocmpp sg' x_13289 449 449 450 450 (** val binary_operation_rect_Type5 : … … 461 461 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 462 462 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 463 let rec binary_operation_rect_Type5 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13 299 x_13298 x_13297= function463 let rec binary_operation_rect_Type5 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13312 x_13311 x_13310 = function 464 464 | Oadd (sz, sg) -> h_Oadd sz sg 465 465 | Osub (sz, sg) -> h_Osub sz sg … … 475 475 | Oshr (sz, sg) -> h_Oshr sz sg 476 476 | Oshru (sz, sg) -> h_Oshru sz sg 477 | Ocmp (sz, sg, sg', x_133 01) -> h_Ocmp sz sg sg' x_13301478 | Ocmpu (sz, sg', x_133 02) -> h_Ocmpu sz sg' x_13302477 | Ocmp (sz, sg, sg', x_13314) -> h_Ocmp sz sg sg' x_13314 478 | Ocmpu (sz, sg', x_13315) -> h_Ocmpu sz sg' x_13315 479 479 | Oaddpi sz -> h_Oaddpi sz 480 480 | Oaddip sz -> h_Oaddip sz 481 481 | Osubpi sz -> h_Osubpi sz 482 482 | Osubpp sz -> h_Osubpp sz 483 | Ocmpp (sg', x_133 03) -> h_Ocmpp sg' x_13303483 | Ocmpp (sg', x_13316) -> h_Ocmpp sg' x_13316 484 484 485 485 (** val binary_operation_rect_Type3 : … … 496 496 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 497 497 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 498 let rec binary_operation_rect_Type3 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_133 26 x_13325 x_13324= function498 let rec binary_operation_rect_Type3 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13339 x_13338 x_13337 = function 499 499 | Oadd (sz, sg) -> h_Oadd sz sg 500 500 | Osub (sz, sg) -> h_Osub sz sg … … 510 510 | Oshr (sz, sg) -> h_Oshr sz sg 511 511 | Oshru (sz, sg) -> h_Oshru sz sg 512 | Ocmp (sz, sg, sg', x_133 28) -> h_Ocmp sz sg sg' x_13328513 | Ocmpu (sz, sg', x_133 29) -> h_Ocmpu sz sg' x_13329512 | Ocmp (sz, sg, sg', x_13341) -> h_Ocmp sz sg sg' x_13341 513 | Ocmpu (sz, sg', x_13342) -> h_Ocmpu sz sg' x_13342 514 514 | Oaddpi sz -> h_Oaddpi sz 515 515 | Oaddip sz -> h_Oaddip sz 516 516 | Osubpi sz -> h_Osubpi sz 517 517 | Osubpp sz -> h_Osubpp sz 518 | Ocmpp (sg', x_133 30) -> h_Ocmpp sg' x_13330518 | Ocmpp (sg', x_13343) -> h_Ocmpp sg' x_13343 519 519 520 520 (** val binary_operation_rect_Type2 : … … 531 531 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 532 532 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 533 let rec binary_operation_rect_Type2 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_133 53 x_13352 x_13351= function533 let rec binary_operation_rect_Type2 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13366 x_13365 x_13364 = function 534 534 | Oadd (sz, sg) -> h_Oadd sz sg 535 535 | Osub (sz, sg) -> h_Osub sz sg … … 545 545 | Oshr (sz, sg) -> h_Oshr sz sg 546 546 | Oshru (sz, sg) -> h_Oshru sz sg 547 | Ocmp (sz, sg, sg', x_133 55) -> h_Ocmp sz sg sg' x_13355548 | Ocmpu (sz, sg', x_133 56) -> h_Ocmpu sz sg' x_13356547 | Ocmp (sz, sg, sg', x_13368) -> h_Ocmp sz sg sg' x_13368 548 | Ocmpu (sz, sg', x_13369) -> h_Ocmpu sz sg' x_13369 549 549 | Oaddpi sz -> h_Oaddpi sz 550 550 | Oaddip sz -> h_Oaddip sz 551 551 | Osubpi sz -> h_Osubpi sz 552 552 | Osubpp sz -> h_Osubpp sz 553 | Ocmpp (sg', x_133 57) -> h_Ocmpp sg' x_13357553 | Ocmpp (sg', x_13370) -> h_Ocmpp sg' x_13370 554 554 555 555 (** val binary_operation_rect_Type1 : … … 566 566 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 567 567 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 568 let rec binary_operation_rect_Type1 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_133 80 x_13379 x_13378= function568 let rec binary_operation_rect_Type1 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13393 x_13392 x_13391 = function 569 569 | Oadd (sz, sg) -> h_Oadd sz sg 570 570 | Osub (sz, sg) -> h_Osub sz sg … … 580 580 | Oshr (sz, sg) -> h_Oshr sz sg 581 581 | Oshru (sz, sg) -> h_Oshru sz sg 582 | Ocmp (sz, sg, sg', x_133 82) -> h_Ocmp sz sg sg' x_13382583 | Ocmpu (sz, sg', x_133 83) -> h_Ocmpu sz sg' x_13383582 | Ocmp (sz, sg, sg', x_13395) -> h_Ocmp sz sg sg' x_13395 583 | Ocmpu (sz, sg', x_13396) -> h_Ocmpu sz sg' x_13396 584 584 | Oaddpi sz -> h_Oaddpi sz 585 585 | Oaddip sz -> h_Oaddip sz 586 586 | Osubpi sz -> h_Osubpi sz 587 587 | Osubpp sz -> h_Osubpp sz 588 | Ocmpp (sg', x_133 84) -> h_Ocmpp sg' x_13384588 | Ocmpp (sg', x_13397) -> h_Ocmpp sg' x_13397 589 589 590 590 (** val binary_operation_rect_Type0 : … … 601 601 (AST.intsize -> 'a1) -> (AST.signedness -> Integers.comparison -> 'a1) -> 602 602 AST.typ -> AST.typ -> AST.typ -> binary_operation -> 'a1 **) 603 let rec binary_operation_rect_Type0 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_134 07 x_13406 x_13405= function603 let rec binary_operation_rect_Type0 h_Oadd h_Osub h_Omul h_Odiv h_Odivu h_Omod h_Omodu h_Oand h_Oor h_Oxor h_Oshl h_Oshr h_Oshru h_Ocmp h_Ocmpu h_Oaddpi h_Oaddip h_Osubpi h_Osubpp h_Ocmpp x_13420 x_13419 x_13418 = function 604 604 | Oadd (sz, sg) -> h_Oadd sz sg 605 605 | Osub (sz, sg) -> h_Osub sz sg … … 615 615 | Oshr (sz, sg) -> h_Oshr sz sg 616 616 | Oshru (sz, sg) -> h_Oshru sz sg 617 | Ocmp (sz, sg, sg', x_134 09) -> h_Ocmp sz sg sg' x_13409618 | Ocmpu (sz, sg', x_134 10) -> h_Ocmpu sz sg' x_13410617 | Ocmp (sz, sg, sg', x_13422) -> h_Ocmp sz sg sg' x_13422 618 | Ocmpu (sz, sg', x_13423) -> h_Ocmpu sz sg' x_13423 619 619 | Oaddpi sz -> h_Oaddpi sz 620 620 | Oaddip sz -> h_Oaddip sz 621 621 | Osubpi sz -> h_Osubpi sz 622 622 | Osubpp sz -> h_Osubpp sz 623 | Ocmpp (sg', x_134 11) -> h_Ocmpp sg' x_13411623 | Ocmpp (sg', x_13424) -> h_Ocmpp sg' x_13424 624 624 625 625 (** val binary_operation_inv_rect_Type4 : -
extracted/genMem.ml
r2775 r2797 100 100 (** val block_contents_rect_Type4 : 101 101 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 102 let rec block_contents_rect_Type4 h_mk_block_contents x_63 86=103 let { low = low0; high = high0; contents = contents0 } = x_63 86in102 let rec block_contents_rect_Type4 h_mk_block_contents x_6399 = 103 let { low = low0; high = high0; contents = contents0 } = x_6399 in 104 104 h_mk_block_contents low0 high0 contents0 105 105 106 106 (** val block_contents_rect_Type5 : 107 107 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 108 let rec block_contents_rect_Type5 h_mk_block_contents x_6 388=109 let { low = low0; high = high0; contents = contents0 } = x_6 388in108 let rec block_contents_rect_Type5 h_mk_block_contents x_6401 = 109 let { low = low0; high = high0; contents = contents0 } = x_6401 in 110 110 h_mk_block_contents low0 high0 contents0 111 111 112 112 (** val block_contents_rect_Type3 : 113 113 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 114 let rec block_contents_rect_Type3 h_mk_block_contents x_6 390=115 let { low = low0; high = high0; contents = contents0 } = x_6 390in114 let rec block_contents_rect_Type3 h_mk_block_contents x_6403 = 115 let { low = low0; high = high0; contents = contents0 } = x_6403 in 116 116 h_mk_block_contents low0 high0 contents0 117 117 118 118 (** val block_contents_rect_Type2 : 119 119 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 120 let rec block_contents_rect_Type2 h_mk_block_contents x_6 392=121 let { low = low0; high = high0; contents = contents0 } = x_6 392in120 let rec block_contents_rect_Type2 h_mk_block_contents x_6405 = 121 let { low = low0; high = high0; contents = contents0 } = x_6405 in 122 122 h_mk_block_contents low0 high0 contents0 123 123 124 124 (** val block_contents_rect_Type1 : 125 125 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 126 let rec block_contents_rect_Type1 h_mk_block_contents x_6 394=127 let { low = low0; high = high0; contents = contents0 } = x_6 394in126 let rec block_contents_rect_Type1 h_mk_block_contents x_6407 = 127 let { low = low0; high = high0; contents = contents0 } = x_6407 in 128 128 h_mk_block_contents low0 high0 contents0 129 129 130 130 (** val block_contents_rect_Type0 : 131 131 (Z.z -> Z.z -> contentmap -> 'a1) -> block_contents -> 'a1 **) 132 let rec block_contents_rect_Type0 h_mk_block_contents x_6 396=133 let { low = low0; high = high0; contents = contents0 } = x_6 396in132 let rec block_contents_rect_Type0 h_mk_block_contents x_6409 = 133 let { low = low0; high = high0; contents = contents0 } = x_6409 in 134 134 h_mk_block_contents low0 high0 contents0 135 135 … … 187 187 (** val mem_rect_Type4 : 188 188 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 189 let rec mem_rect_Type4 h_mk_mem x_64 12=190 let { blocks = blocks0; nextblock = nextblock0 } = x_64 12in189 let rec mem_rect_Type4 h_mk_mem x_6425 = 190 let { blocks = blocks0; nextblock = nextblock0 } = x_6425 in 191 191 h_mk_mem blocks0 nextblock0 __ 192 192 193 193 (** val mem_rect_Type5 : 194 194 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 195 let rec mem_rect_Type5 h_mk_mem x_64 14=196 let { blocks = blocks0; nextblock = nextblock0 } = x_64 14in195 let rec mem_rect_Type5 h_mk_mem x_6427 = 196 let { blocks = blocks0; nextblock = nextblock0 } = x_6427 in 197 197 h_mk_mem blocks0 nextblock0 __ 198 198 199 199 (** val mem_rect_Type3 : 200 200 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 201 let rec mem_rect_Type3 h_mk_mem x_64 16=202 let { blocks = blocks0; nextblock = nextblock0 } = x_64 16in201 let rec mem_rect_Type3 h_mk_mem x_6429 = 202 let { blocks = blocks0; nextblock = nextblock0 } = x_6429 in 203 203 h_mk_mem blocks0 nextblock0 __ 204 204 205 205 (** val mem_rect_Type2 : 206 206 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 207 let rec mem_rect_Type2 h_mk_mem x_64 18=208 let { blocks = blocks0; nextblock = nextblock0 } = x_64 18in207 let rec mem_rect_Type2 h_mk_mem x_6431 = 208 let { blocks = blocks0; nextblock = nextblock0 } = x_6431 in 209 209 h_mk_mem blocks0 nextblock0 __ 210 210 211 211 (** val mem_rect_Type1 : 212 212 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 213 let rec mem_rect_Type1 h_mk_mem x_64 20=214 let { blocks = blocks0; nextblock = nextblock0 } = x_64 20in213 let rec mem_rect_Type1 h_mk_mem x_6433 = 214 let { blocks = blocks0; nextblock = nextblock0 } = x_6433 in 215 215 h_mk_mem blocks0 nextblock0 __ 216 216 217 217 (** val mem_rect_Type0 : 218 218 ((Pointers.block -> block_contents) -> Z.z -> __ -> 'a1) -> mem -> 'a1 **) 219 let rec mem_rect_Type0 h_mk_mem x_64 22=220 let { blocks = blocks0; nextblock = nextblock0 } = x_64 22in219 let rec mem_rect_Type0 h_mk_mem x_6435 = 220 let { blocks = blocks0; nextblock = nextblock0 } = x_6435 in 221 221 h_mk_mem blocks0 nextblock0 __ 222 222 -
extracted/globalenvs.ml
r2775 r2797 98 98 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 99 99 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 100 let rec genv_t_rect_Type4 h_mk_genv_t x_64 39=100 let rec genv_t_rect_Type4 h_mk_genv_t x_6452 = 101 101 let { functions = functions0; nextfunction = nextfunction0; symbols = 102 symbols0 } = x_64 39102 symbols0 } = x_6452 103 103 in 104 104 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 107 107 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 108 108 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 109 let rec genv_t_rect_Type5 h_mk_genv_t x_64 41=109 let rec genv_t_rect_Type5 h_mk_genv_t x_6454 = 110 110 let { functions = functions0; nextfunction = nextfunction0; symbols = 111 symbols0 } = x_64 41111 symbols0 } = x_6454 112 112 in 113 113 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 116 116 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 117 117 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 118 let rec genv_t_rect_Type3 h_mk_genv_t x_64 43=118 let rec genv_t_rect_Type3 h_mk_genv_t x_6456 = 119 119 let { functions = functions0; nextfunction = nextfunction0; symbols = 120 symbols0 } = x_64 43120 symbols0 } = x_6456 121 121 in 122 122 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 125 125 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 126 126 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 127 let rec genv_t_rect_Type2 h_mk_genv_t x_64 45=127 let rec genv_t_rect_Type2 h_mk_genv_t x_6458 = 128 128 let { functions = functions0; nextfunction = nextfunction0; symbols = 129 symbols0 } = x_64 45129 symbols0 } = x_6458 130 130 in 131 131 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 134 134 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 135 135 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 136 let rec genv_t_rect_Type1 h_mk_genv_t x_64 47=136 let rec genv_t_rect_Type1 h_mk_genv_t x_6460 = 137 137 let { functions = functions0; nextfunction = nextfunction0; symbols = 138 symbols0 } = x_64 47138 symbols0 } = x_6460 139 139 in 140 140 h_mk_genv_t functions0 nextfunction0 symbols0 __ … … 143 143 ('a1 PositiveMap.positive_map -> Positive.pos -> Pointers.block 144 144 Identifiers.identifier_map -> __ -> 'a2) -> 'a1 genv_t -> 'a2 **) 145 let rec genv_t_rect_Type0 h_mk_genv_t x_64 49=145 let rec genv_t_rect_Type0 h_mk_genv_t x_6462 = 146 146 let { functions = functions0; nextfunction = nextfunction0; symbols = 147 symbols0 } = x_64 49147 symbols0 } = x_6462 148 148 in 149 149 h_mk_genv_t functions0 nextfunction0 symbols0 __ -
extracted/iO.ml
r2775 r2797 150 150 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 151 151 'a1 **) 152 let rec io_out_rect_Type4 h_mk_io_out x_57 56=153 let { io_function = io_function0; io_args = io_args0; io_in_typ = 154 io_in_typ0 } = x_57 56152 let rec io_out_rect_Type4 h_mk_io_out x_5769 = 153 let { io_function = io_function0; io_args = io_args0; io_in_typ = 154 io_in_typ0 } = x_5769 155 155 in 156 156 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 159 159 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 160 160 'a1 **) 161 let rec io_out_rect_Type5 h_mk_io_out x_57 58=162 let { io_function = io_function0; io_args = io_args0; io_in_typ = 163 io_in_typ0 } = x_57 58161 let rec io_out_rect_Type5 h_mk_io_out x_5771 = 162 let { io_function = io_function0; io_args = io_args0; io_in_typ = 163 io_in_typ0 } = x_5771 164 164 in 165 165 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 168 168 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 169 169 'a1 **) 170 let rec io_out_rect_Type3 h_mk_io_out x_57 60=171 let { io_function = io_function0; io_args = io_args0; io_in_typ = 172 io_in_typ0 } = x_57 60170 let rec io_out_rect_Type3 h_mk_io_out x_5773 = 171 let { io_function = io_function0; io_args = io_args0; io_in_typ = 172 io_in_typ0 } = x_5773 173 173 in 174 174 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 177 177 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 178 178 'a1 **) 179 let rec io_out_rect_Type2 h_mk_io_out x_57 62=180 let { io_function = io_function0; io_args = io_args0; io_in_typ = 181 io_in_typ0 } = x_57 62179 let rec io_out_rect_Type2 h_mk_io_out x_5775 = 180 let { io_function = io_function0; io_args = io_args0; io_in_typ = 181 io_in_typ0 } = x_5775 182 182 in 183 183 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 186 186 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 187 187 'a1 **) 188 let rec io_out_rect_Type1 h_mk_io_out x_57 64=189 let { io_function = io_function0; io_args = io_args0; io_in_typ = 190 io_in_typ0 } = x_57 64188 let rec io_out_rect_Type1 h_mk_io_out x_5777 = 189 let { io_function = io_function0; io_args = io_args0; io_in_typ = 190 io_in_typ0 } = x_5777 191 191 in 192 192 h_mk_io_out io_function0 io_args0 io_in_typ0 … … 195 195 (AST.ident -> Events.eventval List.list -> AST.typ -> 'a1) -> io_out -> 196 196 'a1 **) 197 let rec io_out_rect_Type0 h_mk_io_out x_57 66=198 let { io_function = io_function0; io_args = io_args0; io_in_typ = 199 io_in_typ0 } = x_57 66197 let rec io_out_rect_Type0 h_mk_io_out x_5779 = 198 let { io_function = io_function0; io_args = io_args0; io_in_typ = 199 io_in_typ0 } = x_5779 200 200 in 201 201 h_mk_io_out io_function0 io_args0 io_in_typ0 -
extracted/iOMonad.ml
r2775 r2797 52 52 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 53 53 let rec iO_rect_Type4 h_Interact h_Value h_Wrong = function 54 | Interact (o, x_45 42) ->55 h_Interact o x_45 42 (fun x_4541->56 iO_rect_Type4 h_Interact h_Value h_Wrong (x_45 42 x_4541))57 | Value x_45 43 -> h_Value x_454358 | Wrong x_45 44 -> h_Wrong x_454454 | Interact (o, x_4555) -> 55 h_Interact o x_4555 (fun x_4554 -> 56 iO_rect_Type4 h_Interact h_Value h_Wrong (x_4555 x_4554)) 57 | Value x_4556 -> h_Value x_4556 58 | Wrong x_4557 -> h_Wrong x_4557 59 59 60 60 (** val iO_rect_Type3 : … … 62 62 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 63 63 let rec iO_rect_Type3 h_Interact h_Value h_Wrong = function 64 | Interact (o, x_45 58) ->65 h_Interact o x_45 58 (fun x_4557->66 iO_rect_Type3 h_Interact h_Value h_Wrong (x_45 58 x_4557))67 | Value x_45 59 -> h_Value x_455968 | Wrong x_45 60 -> h_Wrong x_456064 | Interact (o, x_4571) -> 65 h_Interact o x_4571 (fun x_4570 -> 66 iO_rect_Type3 h_Interact h_Value h_Wrong (x_4571 x_4570)) 67 | Value x_4572 -> h_Value x_4572 68 | Wrong x_4573 -> h_Wrong x_4573 69 69 70 70 (** val iO_rect_Type2 : … … 72 72 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 73 73 let rec iO_rect_Type2 h_Interact h_Value h_Wrong = function 74 | Interact (o, x_45 66) ->75 h_Interact o x_45 66 (fun x_4565->76 iO_rect_Type2 h_Interact h_Value h_Wrong (x_45 66 x_4565))77 | Value x_45 67 -> h_Value x_456778 | Wrong x_45 68 -> h_Wrong x_456874 | Interact (o, x_4579) -> 75 h_Interact o x_4579 (fun x_4578 -> 76 iO_rect_Type2 h_Interact h_Value h_Wrong (x_4579 x_4578)) 77 | Value x_4580 -> h_Value x_4580 78 | Wrong x_4581 -> h_Wrong x_4581 79 79 80 80 (** val iO_rect_Type1 : … … 82 82 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 83 83 let rec iO_rect_Type1 h_Interact h_Value h_Wrong = function 84 | Interact (o, x_45 74) ->85 h_Interact o x_45 74 (fun x_4573->86 iO_rect_Type1 h_Interact h_Value h_Wrong (x_45 74 x_4573))87 | Value x_45 75 -> h_Value x_457588 | Wrong x_45 76 -> h_Wrong x_457684 | Interact (o, x_4587) -> 85 h_Interact o x_4587 (fun x_4586 -> 86 iO_rect_Type1 h_Interact h_Value h_Wrong (x_4587 x_4586)) 87 | Value x_4588 -> h_Value x_4588 88 | Wrong x_4589 -> h_Wrong x_4589 89 89 90 90 (** val iO_rect_Type0 : … … 92 92 'a4) -> (Errors.errmsg -> 'a4) -> ('a1, 'a2, 'a3) iO -> 'a4 **) 93 93 let rec iO_rect_Type0 h_Interact h_Value h_Wrong = function 94 | Interact (o, x_45 82) ->95 h_Interact o x_45 82 (fun x_4581->96 iO_rect_Type0 h_Interact h_Value h_Wrong (x_45 82 x_4581))97 | Value x_45 83 -> h_Value x_458398 | Wrong x_45 84 -> h_Wrong x_458494 | Interact (o, x_4595) -> 95 h_Interact o x_4595 (fun x_4594 -> 96 iO_rect_Type0 h_Interact h_Value h_Wrong (x_4595 x_4594)) 97 | Value x_4596 -> h_Value x_4596 98 | Wrong x_4597 -> h_Wrong x_4597 99 99 100 100 (** val iO_inv_rect_Type4 : -
extracted/identifiers.ml
r2775 r2797 51 51 (** val universe_rect_Type4 : 52 52 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 53 let rec universe_rect_Type4 tag h_mk_universe x_3 096=54 let next_identifier = x_3 096in h_mk_universe next_identifier53 let rec universe_rect_Type4 tag h_mk_universe x_3109 = 54 let next_identifier = x_3109 in h_mk_universe next_identifier 55 55 56 56 (** val universe_rect_Type5 : 57 57 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 58 let rec universe_rect_Type5 tag h_mk_universe x_3 098=59 let next_identifier = x_3 098in h_mk_universe next_identifier58 let rec universe_rect_Type5 tag h_mk_universe x_3111 = 59 let next_identifier = x_3111 in h_mk_universe next_identifier 60 60 61 61 (** val universe_rect_Type3 : 62 62 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 63 let rec universe_rect_Type3 tag h_mk_universe x_31 00=64 let next_identifier = x_31 00in h_mk_universe next_identifier63 let rec universe_rect_Type3 tag h_mk_universe x_3113 = 64 let next_identifier = x_3113 in h_mk_universe next_identifier 65 65 66 66 (** val universe_rect_Type2 : 67 67 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 68 let rec universe_rect_Type2 tag h_mk_universe x_31 02=69 let next_identifier = x_31 02in h_mk_universe next_identifier68 let rec universe_rect_Type2 tag h_mk_universe x_3115 = 69 let next_identifier = x_3115 in h_mk_universe next_identifier 70 70 71 71 (** val universe_rect_Type1 : 72 72 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 73 let rec universe_rect_Type1 tag h_mk_universe x_31 04=74 let next_identifier = x_31 04in h_mk_universe next_identifier73 let rec universe_rect_Type1 tag h_mk_universe x_3117 = 74 let next_identifier = x_3117 in h_mk_universe next_identifier 75 75 76 76 (** val universe_rect_Type0 : 77 77 PreIdentifiers.identifierTag -> (Positive.pos -> 'a1) -> universe -> 'a1 **) 78 let rec universe_rect_Type0 tag h_mk_universe x_31 06=79 let next_identifier = x_31 06in h_mk_universe next_identifier78 let rec universe_rect_Type0 tag h_mk_universe x_3119 = 79 let next_identifier = x_3119 in h_mk_universe next_identifier 80 80 81 81 (** val next_identifier : … … 215 215 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 216 216 'a1 identifier_map -> 'a2 **) 217 let rec identifier_map_rect_Type4 tag h_an_id_map x_32 68=218 let x_32 69 = x_3268 in h_an_id_map x_3269217 let rec identifier_map_rect_Type4 tag h_an_id_map x_3281 = 218 let x_3282 = x_3281 in h_an_id_map x_3282 219 219 220 220 (** val identifier_map_rect_Type5 : 221 221 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 222 222 'a1 identifier_map -> 'a2 **) 223 let rec identifier_map_rect_Type5 tag h_an_id_map x_32 71=224 let x_32 72 = x_3271 in h_an_id_map x_3272223 let rec identifier_map_rect_Type5 tag h_an_id_map x_3284 = 224 let x_3285 = x_3284 in h_an_id_map x_3285 225 225 226 226 (** val identifier_map_rect_Type3 : 227 227 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 228 228 'a1 identifier_map -> 'a2 **) 229 let rec identifier_map_rect_Type3 tag h_an_id_map x_32 74=230 let x_32 75 = x_3274 in h_an_id_map x_3275229 let rec identifier_map_rect_Type3 tag h_an_id_map x_3287 = 230 let x_3288 = x_3287 in h_an_id_map x_3288 231 231 232 232 (** val identifier_map_rect_Type2 : 233 233 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 234 234 'a1 identifier_map -> 'a2 **) 235 let rec identifier_map_rect_Type2 tag h_an_id_map x_32 77=236 let x_32 78 = x_3277 in h_an_id_map x_3278235 let rec identifier_map_rect_Type2 tag h_an_id_map x_3290 = 236 let x_3291 = x_3290 in h_an_id_map x_3291 237 237 238 238 (** val identifier_map_rect_Type1 : 239 239 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 240 240 'a1 identifier_map -> 'a2 **) 241 let rec identifier_map_rect_Type1 tag h_an_id_map x_32 80=242 let x_32 81 = x_3280 in h_an_id_map x_3281241 let rec identifier_map_rect_Type1 tag h_an_id_map x_3293 = 242 let x_3294 = x_3293 in h_an_id_map x_3294 243 243 244 244 (** val identifier_map_rect_Type0 : 245 245 PreIdentifiers.identifierTag -> ('a1 PositiveMap.positive_map -> 'a2) -> 246 246 'a1 identifier_map -> 'a2 **) 247 let rec identifier_map_rect_Type0 tag h_an_id_map x_32 83=248 let x_32 84 = x_3283 in h_an_id_map x_3284247 let rec identifier_map_rect_Type0 tag h_an_id_map x_3296 = 248 let x_3297 = x_3296 in h_an_id_map x_3297 249 249 250 250 (** val identifier_map_inv_rect_Type4 : -
extracted/initialisation.ml
r2773 r2797 157 157 Types.sig0 **) 158 158 let init_var id r init = 159 ( List.foldr (fun datum os->159 (Util.foldl (fun os datum -> 160 160 let { Types.fst = off; Types.snd = s } = os in 161 161 { Types.fst = (Nat.plus off (Globalenvs.size_init_data datum)); -
extracted/interference.ml
r2775 r2797 122 122 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 123 123 let rec decision_rect_Type4 h_decision_spill h_decision_colour = function 124 | Decision_spill x_21 633 -> h_decision_spill x_21633125 | Decision_colour x_21 634 -> h_decision_colour x_21634124 | Decision_spill x_21712 -> h_decision_spill x_21712 125 | Decision_colour x_21713 -> h_decision_colour x_21713 126 126 127 127 (** val decision_rect_Type5 : 128 128 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 129 129 let rec decision_rect_Type5 h_decision_spill h_decision_colour = function 130 | Decision_spill x_21 638 -> h_decision_spill x_21638131 | Decision_colour x_21 639 -> h_decision_colour x_21639130 | Decision_spill x_21717 -> h_decision_spill x_21717 131 | Decision_colour x_21718 -> h_decision_colour x_21718 132 132 133 133 (** val decision_rect_Type3 : 134 134 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 135 135 let rec decision_rect_Type3 h_decision_spill h_decision_colour = function 136 | Decision_spill x_21 643 -> h_decision_spill x_21643137 | Decision_colour x_21 644 -> h_decision_colour x_21644136 | Decision_spill x_21722 -> h_decision_spill x_21722 137 | Decision_colour x_21723 -> h_decision_colour x_21723 138 138 139 139 (** val decision_rect_Type2 : 140 140 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 141 141 let rec decision_rect_Type2 h_decision_spill h_decision_colour = function 142 | Decision_spill x_21 648 -> h_decision_spill x_21648143 | Decision_colour x_21 649 -> h_decision_colour x_21649142 | Decision_spill x_21727 -> h_decision_spill x_21727 143 | Decision_colour x_21728 -> h_decision_colour x_21728 144 144 145 145 (** val decision_rect_Type1 : 146 146 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 147 147 let rec decision_rect_Type1 h_decision_spill h_decision_colour = function 148 | Decision_spill x_21 653 -> h_decision_spill x_21653149 | Decision_colour x_21 654 -> h_decision_colour x_21654148 | Decision_spill x_21732 -> h_decision_spill x_21732 149 | Decision_colour x_21733 -> h_decision_colour x_21733 150 150 151 151 (** val decision_rect_Type0 : 152 152 (Nat.nat -> 'a1) -> (I8051.register -> 'a1) -> decision -> 'a1 **) 153 153 let rec decision_rect_Type0 h_decision_spill h_decision_colour = function 154 | Decision_spill x_21 658 -> h_decision_spill x_21658155 | Decision_colour x_21 659 -> h_decision_colour x_21659154 | Decision_spill x_21737 -> h_decision_spill x_21737 155 | Decision_colour x_21738 -> h_decision_colour x_21738 156 156 157 157 (** val decision_inv_rect_Type4 : … … 205 205 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 206 206 __ -> 'a1) -> coloured_graph -> 'a1 **) 207 let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_21 694=208 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21 694in207 let rec coloured_graph_rect_Type4 after h_mk_coloured_graph x_21773 = 208 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21773 in 209 209 h_mk_coloured_graph colouring0 spilled_no0 __ __ 210 210 … … 212 212 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 213 213 __ -> 'a1) -> coloured_graph -> 'a1 **) 214 let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_21 696=215 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21 696in214 let rec coloured_graph_rect_Type5 after h_mk_coloured_graph x_21775 = 215 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21775 in 216 216 h_mk_coloured_graph colouring0 spilled_no0 __ __ 217 217 … … 219 219 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 220 220 __ -> 'a1) -> coloured_graph -> 'a1 **) 221 let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_21 698=222 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21 698in221 let rec coloured_graph_rect_Type3 after h_mk_coloured_graph x_21777 = 222 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21777 in 223 223 h_mk_coloured_graph colouring0 spilled_no0 __ __ 224 224 … … 226 226 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 227 227 __ -> 'a1) -> coloured_graph -> 'a1 **) 228 let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_217 00=229 let { colouring = colouring0; spilled_no = spilled_no0 } = x_217 00in228 let rec coloured_graph_rect_Type2 after h_mk_coloured_graph x_21779 = 229 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21779 in 230 230 h_mk_coloured_graph colouring0 spilled_no0 __ __ 231 231 … … 233 233 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 234 234 __ -> 'a1) -> coloured_graph -> 'a1 **) 235 let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_217 02=236 let { colouring = colouring0; spilled_no = spilled_no0 } = x_217 02in235 let rec coloured_graph_rect_Type1 after h_mk_coloured_graph x_21781 = 236 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21781 in 237 237 h_mk_coloured_graph colouring0 spilled_no0 __ __ 238 238 … … 240 240 Fixpoints.valuation -> ((Liveness.vertex -> decision) -> Nat.nat -> __ -> 241 241 __ -> 'a1) -> coloured_graph -> 'a1 **) 242 let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_217 04=243 let { colouring = colouring0; spilled_no = spilled_no0 } = x_217 04in242 let rec coloured_graph_rect_Type0 after h_mk_coloured_graph x_21783 = 243 let { colouring = colouring0; spilled_no = spilled_no0 } = x_21783 in 244 244 h_mk_coloured_graph colouring0 spilled_no0 __ __ 245 245 -
extracted/joint.ml
r2775 r2797 110 110 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 111 111 let rec argument_rect_Type4 h_Reg h_Imm = function 112 | Reg x_195 31 -> h_Reg x_19531113 | Imm x_195 32 -> h_Imm x_19532112 | Reg x_19544 -> h_Reg x_19544 113 | Imm x_19545 -> h_Imm x_19545 114 114 115 115 (** val argument_rect_Type5 : 116 116 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 117 117 let rec argument_rect_Type5 h_Reg h_Imm = function 118 | Reg x_195 36 -> h_Reg x_19536119 | Imm x_195 37 -> h_Imm x_19537118 | Reg x_19549 -> h_Reg x_19549 119 | Imm x_19550 -> h_Imm x_19550 120 120 121 121 (** val argument_rect_Type3 : 122 122 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 123 123 let rec argument_rect_Type3 h_Reg h_Imm = function 124 | Reg x_195 41 -> h_Reg x_19541125 | Imm x_195 42 -> h_Imm x_19542124 | Reg x_19554 -> h_Reg x_19554 125 | Imm x_19555 -> h_Imm x_19555 126 126 127 127 (** val argument_rect_Type2 : 128 128 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 129 129 let rec argument_rect_Type2 h_Reg h_Imm = function 130 | Reg x_195 46 -> h_Reg x_19546131 | Imm x_195 47 -> h_Imm x_19547130 | Reg x_19559 -> h_Reg x_19559 131 | Imm x_19560 -> h_Imm x_19560 132 132 133 133 (** val argument_rect_Type1 : 134 134 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 135 135 let rec argument_rect_Type1 h_Reg h_Imm = function 136 | Reg x_195 51 -> h_Reg x_19551137 | Imm x_195 52 -> h_Imm x_19552136 | Reg x_19564 -> h_Reg x_19564 137 | Imm x_19565 -> h_Imm x_19565 138 138 139 139 (** val argument_rect_Type0 : 140 140 ('a1 -> 'a2) -> (BitVector.byte -> 'a2) -> 'a1 argument -> 'a2 **) 141 141 let rec argument_rect_Type0 h_Reg h_Imm = function 142 | Reg x_195 56 -> h_Reg x_19556143 | Imm x_195 57 -> h_Imm x_19557142 | Reg x_19569 -> h_Reg x_19569 143 | Imm x_19570 -> h_Imm x_19570 144 144 145 145 (** val argument_inv_rect_Type4 : … … 324 324 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 325 325 unserialized_params -> 'a1 **) 326 let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_19 592=326 let rec unserialized_params_rect_Type4 h_mk_unserialized_params x_19605 = 327 327 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 328 x_19 592328 x_19605 329 329 in 330 330 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 335 335 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 336 336 unserialized_params -> 'a1 **) 337 let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_19 594=337 let rec unserialized_params_rect_Type5 h_mk_unserialized_params x_19607 = 338 338 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 339 x_19 594339 x_19607 340 340 in 341 341 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 346 346 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 347 347 unserialized_params -> 'a1 **) 348 let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_19 596=348 let rec unserialized_params_rect_Type3 h_mk_unserialized_params x_19609 = 349 349 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 350 x_19 596350 x_19609 351 351 in 352 352 h_mk_unserialized_params __ __ __ __ __ __ __ __ __ __ __ __ __ … … 357 357 __ -> (__ -> Graphs.label List.list) -> Bool.bool -> __ -> 'a1) -> 358 358 unserialized_params -> 'a1 **) 359 let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_19 598=359 let rec unserialized_params_rect_Type2 h_mk_unserialized_params x_19611 = 360 360 let { ext_seq_labels = ext_seq_labels0; has_tailcalls = has_tailcalls0 } = 361 x_19