1# 2# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230) 3# 4# SPDX-License-Identifier: BSD-2-Clause 5# 6 7# very simple mathematical example. weak refinement, f_refine is f. 8Function f 3 x Word 32 y Word 32 m Mem 2 z Word 32 m Mem 91 Cond 2 3 Op Equals Bool 2 Var x Word 32 Num 0 Word 32 102 Basic 3 1 x Word 32 Op Plus Word 32 2 Op Times Word 32 2 Var y Word 32 Var y Word 32 Num 1 Word 32 113 Basic Ret 1 z Word 32 Op Plus Word 32 2 Var x Word 32 Var y Word 32 12EntryPoint 1 13Function f_refine 3 x Word 32 y Word 32 m Mem 2 z Word 32 m Mem 141 Cond 2 3 Op Equals Bool 2 Var x Word 32 Num 0 Word 32 152 Basic 3 1 x Word 32 Op Plus Word 32 2 Op Times Word 32 2 Var y Word 32 Var y Word 32 Num 1 Word 32 163 Basic Ret 1 z Word 32 Op Plus Word 32 2 Var x Word 32 Var y Word 32 17EntryPoint 1 18 19# calls f and doesn't do anything else 20Function callit 3 x Word 32 y Word 32 m Mem 2 z Word 32 m Mem 211 Call Ret f 3 Var x Word 32 Var y Word 32 Var m Mem 2 z Word 32 m Mem 22EntryPoint 1 23Function callit_refine 3 x Word 32 y Word 32 m Mem 2 z Word 32 m Mem 241 Call Ret f_refine 3 Var x Word 32 Var y Word 32 Var m Mem 2 z Word 32 m Mem 25EntryPoint 1 26 27# an example with a loop. g_refine is a simple unfolding of g. 28Function g 2 x Word 32 m Mem 2 z Word 32 m Mem 291 Basic 2 1 y Word 32 Op Times Word 32 2 Var x Word 32 Var x Word 32 302 Cond 3 5 Op SignedLessEquals Bool 2 Num 0 Word 32 Var y Word 32 313 Basic 4 1 m Mem Op MemUpdate Mem 3 Var m Mem Op Plus Word 32 2 Num 4096 Word 32 Op Times Word 32 2 Var y Word 32 Num 12 Word 32 Var y Word 32 324 Basic 2 1 y Word 32 Op Minus Word 32 2 Var y Word 32 Num 1 Word 32 335 Basic Ret 1 z Word 32 Op MemAcc Word 32 2 Var m Mem Num 4192 Word 32 34EntryPoint 1 35Function g_refine 2 x Word 32 m Mem 2 z Word 32 m Mem 361 Basic 2 1 y Word 32 Op Times Word 32 2 Var x Word 32 Var x Word 32 372 Cond 3 5 Op SignedLessEquals Bool 2 Num 0 Word 32 Var y Word 32 383 Basic 4 1 m Mem Op MemUpdate Mem 3 Var m Mem Op Plus Word 32 2 Num 4096 Word 32 Op Times Word 32 2 Var y Word 32 Num 12 Word 32 Var y Word 32 394 Basic 6 1 y Word 32 Op Minus Word 32 2 Var y Word 32 Num 1 Word 32 406 Cond 3 5 Op SignedLessEquals Bool 2 Num 0 Word 32 Var y Word 32 415 Basic Ret 1 z Word 32 Op MemAcc Word 32 2 Var m Mem Num 4192 Word 32 42EntryPoint 1 43 44# an example with an unrolled loop. un_refine contains a loop that amounts 45# to two instances of the loop in un 46Function un 2 x Word 32 m Mem 2 z Word 32 m Mem 471 Basic 2 0 482 Cond 3 4 Op Not Bool 1 Op Equals Bool 2 Var x Word 32 Num 0 Word 32 493 Basic 2 2 m Mem Op MemUpdate Mem 3 Var m Mem Var x Word 32 Num 0 Word 32 x Word 32 Op MemAcc Word 32 2 Var m Mem Var x Word 32 504 Basic Ret 1 z Word 32 Var x Word 32 51EntryPoint 1 52Function un_refine 2 x Word 32 m Mem 2 z Word 32 m Mem 531 Basic 2 0 542 Cond 3 4 Op Not Bool 1 Op Equals Bool 2 Var x Word 32 Num 0 Word 32 553 Basic 5 2 m Mem Op MemUpdate Mem 3 Var m Mem Var x Word 32 Num 0 Word 32 x Word 32 Op MemAcc Word 32 2 Var m Mem Var x Word 32 565 Cond 6 4 Op Not Bool 1 Op Equals Bool 2 Var x Word 32 Num 0 Word 32 576 Basic 2 2 m Mem Op MemUpdate Mem 3 Var m Mem Var x Word 32 Num 0 Word 32 x Word 32 Op MemAcc Word 32 2 Var m Mem Var x Word 32 584 Basic Ret 1 z Word 32 Var x Word 32 59EntryPoint 1 60 61# an example with an unrolled loop and a linear counter. 62# note that unl_refine checks its conditionals less often 63Function unl 2 x Word 32 m Mem 1 m Mem 641 Basic 2 1 y Word 32 Num 4 Word 32 652 Cond 3 4 Op LessEquals Bool 2 Var y Word 32 Op Times Word 32 2 Var x Word 32 Num 16 Word 32 663 Basic 2 2 m Mem Op MemUpdate Mem 3 Var m Mem Var y Word 32 Num 0 Word 32 y Word 32 Op Plus Word 32 2 Var y Word 32 Num 4 Word 32 674 Basic Ret 0 68EntryPoint 1 69Function unl_refine 2 x Word 32 m Mem 1 m Mem 701 Basic 2 1 y Word 32 Num 4 Word 32 712 Cond 3 4 Op LessEquals Bool 2 Var y Word 32 Op Times Word 32 2 Var x Word 32 Num 16 Word 32 723 Basic 5 2 m Mem Op MemUpdate Mem 3 Var m Mem Var y Word 32 Num 0 Word 32 y Word 32 Op Plus Word 32 2 Var y Word 32 Num 4 Word 32 734 Basic Ret 0 745 Basic 2 2 m Mem Op MemUpdate Mem 3 Var m Mem Var y Word 32 Num 0 Word 32 y Word 32 Op Plus Word 32 2 Var y Word 32 Num 4 Word 32 75EntryPoint 1 76 77# an example with three loops in 'parallel' combination, i.e. only one is run 78# the loops scan for the value '1' in memory in 3 different patterns 79Function par_loop 2 x Word 32 m Mem 1 x Word 32 801 Cond 10 2 Op Equals Bool 2 Var x Word 32 Num 1 Word 32 812 Cond 20 30 Op Equals Bool 2 Var x Word 32 Num 2 Word 32 8210 Cond 11 12 Op Equals Bool 2 Op MemAcc Word 32 2 Var m Mem Var x Word 32 Num 1 Word 32 8311 Basic Ret 0 8412 Basic 10 1 x Word 32 Op Plus Word 32 2 Var x Word 32 Num 16 Word 32 8520 Cond 21 22 Op Equals Bool 2 Op MemAcc Word 32 2 Var m Mem Var x Word 32 Num 1 Word 32 8621 Basic Ret 0 8722 Basic 20 1 x Word 32 Op Plus Word 32 2 Var x Word 32 Num 64 Word 32 8830 Cond 31 32 Op Equals Bool 2 Op MemAcc Word 32 2 Var m Mem Var x Word 32 Num 1 Word 32 8931 Basic Ret 0 9032 Basic 30 1 x Word 32 Op Times Word 32 2 Var x Word 32 Num 3 Word 32 91EntryPoint 1 92 93Function par_loop_refine 2 x Word 32 m Mem 1 x Word 32 941 Cond 10 2 Op Equals Bool 2 Var x Word 32 Num 1 Word 32 952 Cond 20 30 Op Equals Bool 2 Var x Word 32 Num 2 Word 32 9610 Cond 11 12 Op Equals Bool 2 Op MemAcc Word 32 2 Var m Mem Var x Word 32 Num 1 Word 32 9711 Basic Ret 0 9812 Basic 10 1 x Word 32 Op Plus Word 32 2 Var x Word 32 Num 16 Word 32 9920 Cond 21 22 Op Equals Bool 2 Op MemAcc Word 32 2 Var m Mem Var x Word 32 Num 1 Word 32 10021 Basic Ret 0 10122 Basic 20 1 x Word 32 Op Plus Word 32 2 Var x Word 32 Num 64 Word 32 10230 Cond 31 32 Op Equals Bool 2 Op MemAcc Word 32 2 Var m Mem Var x Word 32 Num 1 Word 32 10331 Basic Ret 0 10432 Basic 30 1 x Word 32 Op Times Word 32 2 Var x Word 32 Num 3 Word 32 105EntryPoint 1 106 107 108# this example is based on this simple and silly C code. 109# n.b. this C code has not been proven to do anything useful. 110 111##define NULL ((void *)0) 112# 113#struct tree { 114# int value; 115# struct tree *left; 116# struct tree *right; 117#}; 118# 119#int 120#has_value (int x, struct tree *t) { 121# while (t) { 122# if (t->value == x) 123# return 1; 124# else if (t->value < x) 125# t = t->right; 126# else 127# t = t->left; 128# } 129# return 0; 130#} 131# 132#struct tree * 133#rotate_left (struct tree *t) { 134# struct tree *head = t->right; 135# t->right = head->left; 136# head->left = t; 137# return head; 138#} 139# 140#struct tree * 141#rotate_right (struct tree *t) { 142# struct tree *head = t->left; 143# t->left = head->right; 144# head->right = t; 145# return head; 146#} 147# 148#struct tree * 149#insert_element (struct tree *x, struct tree *t) { 150# /* assuming x->prev and x->next are NULL */ 151# struct tree **prev = NULL; 152# struct tree *init = t; 153# 154# if (! t) { 155# return x; 156# } 157# 158# while (t) { 159# if (t->value < x->value) { 160# prev = & (t->right); 161# t = t->right; 162# } 163# else { 164# prev = &(t->left); 165# t = t->left; 166# } 167# } 168# *prev = x; 169# return init; 170#} 171 172# needed structs 173Struct C.tree_C 12 4 174StructField value_C Word 32 0 175StructField left_C Ptr Struct C.tree_C 4 176StructField right_C Ptr Struct C.tree_C 8 177 178# C functions, in no particular order 179Function C.rotate_right 4 C.t Word 32 Mem Mem HTD HTD PMS PMS 4 C.ret__ptr_to_struct_tree_C Word 32 Mem Mem HTD HTD PMS PMS 1801 Cond Ret Err Op False Bool 0 1812 Basic Ret 1 C.ret__ptr_to_struct_tree_C Word 32 Var C.head Word 32 1823 Basic 2 1 Mem Mem Op MemUpdate Mem 3 Var Mem Mem Op Plus Word 32 2 Var C.head Word 32 Num 8 Word 32 Var C.t Word 32 1834 Cond 3 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 1845 Basic 4 1 Mem Mem Op MemUpdate Mem 3 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 4 Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.head Word 32 Num 8 Word 32 1856 Cond 5 Err Op And Bool 2 Op And Bool 2 Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 1867 Basic 6 1 C.head Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 4 Word 32 1878 Cond 7 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 1889 Cond 8 8 Op True Bool 0 189EntryPoint 9 190 191Function C.insert_element 5 C.x___ptr_to_struct_tree_C Word 32 C.t Word 32 Mem Mem HTD HTD PMS PMS 4 C.ret__ptr_to_struct_tree_C Word 32 Mem Mem HTD HTD PMS PMS 1921 Cond Ret Err Op False Bool 0 1932 Basic Ret 1 C.ret__ptr_to_struct_tree_C Word 32 Var C.init Word 32 1943 Basic 2 1 Mem Mem Op MemUpdate Mem 3 Var Mem Mem Var C.prev Word 32 Var C.x___ptr_to_struct_tree_C Word 32 1954 Cond 3 Err Op PValid Bool 3 Var HTD HTD Type Ptr Struct C.tree_C Var C.prev Word 32 1965 Cond 15 4 Op Not Bool 1 Op Equals Bool 2 Var C.t Word 32 Num 0 Word 32 1976 Basic 5 1 C.t Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 8 Word 32 1987 Cond 6 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 1998 Basic 7 1 C.prev Word 32 Op Plus Word 32 2 Var C.t Word 32 Num 8 Word 32 2009 Cond 8 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 20110 Basic 5 1 C.t Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 4 Word 32 20211 Cond 10 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 20312 Basic 11 1 C.prev Word 32 Op Plus Word 32 2 Var C.t Word 32 Num 4 Word 32 20413 Cond 12 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 20514 Cond 9 13 Op SignedLess Bool 2 Op MemAcc Word 32 2 Var Mem Mem Var C.t Word 32 Op MemAcc Word 32 2 Var Mem Mem Var C.x___ptr_to_struct_tree_C Word 32 20615 Cond 14 Err Op And Bool 2 Op And Bool 2 Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.x___ptr_to_struct_tree_C Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.x___ptr_to_struct_tree_C Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 20716 Basic Ret 1 C.ret__ptr_to_struct_tree_C Word 32 Var C.x___ptr_to_struct_tree_C Word 32 20817 Cond 16 5 Op Not Bool 1 Op Not Bool 1 Op Equals Bool 2 Var C.t Word 32 Num 0 Word 32 20918 Basic 17 1 C.init Word 32 Var C.t Word 32 21019 Basic 18 1 C.prev Word 32 Op WordCastSigned Word 32 1 Num 0 Word 32 21120 Cond 19 19 Op True Bool 0 212EntryPoint 20 213 214Function C.rotate_left 4 C.t Word 32 Mem Mem HTD HTD PMS PMS 4 C.ret__ptr_to_struct_tree_C Word 32 Mem Mem HTD HTD PMS PMS 2151 Cond Ret Err Op False Bool 0 2162 Basic Ret 1 C.ret__ptr_to_struct_tree_C Word 32 Var C.head Word 32 2173 Basic 2 1 Mem Mem Op MemUpdate Mem 3 Var Mem Mem Op Plus Word 32 2 Var C.head Word 32 Num 4 Word 32 Var C.t Word 32 2184 Cond 3 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 2195 Basic 4 1 Mem Mem Op MemUpdate Mem 3 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 8 Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.head Word 32 Num 4 Word 32 2206 Cond 5 Err Op And Bool 2 Op And Bool 2 Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.head Word 32 2217 Basic 6 1 C.head Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 8 Word 32 2228 Cond 7 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 2239 Cond 8 8 Op True Bool 0 224EntryPoint 9 225 226Function C.has_value 5 C.x Word 32 C.t Word 32 Mem Mem HTD HTD PMS PMS 1 C.ret__int Word 32 2271 Cond Ret Err Op False Bool 0 2282 Basic Ret 1 C.ret__int Word 32 Num 0 Word 32 2293 Cond 12 2 Op Not Bool 1 Op Equals Bool 2 Var C.t Word 32 Num 0 Word 32 2304 Basic Ret 1 C.ret__int Word 32 Num 1 Word 32 2315 Basic 3 1 C.t Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 8 Word 32 2326 Cond 5 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 2337 Basic 3 1 C.t Word 32 Op MemAcc Word 32 2 Var Mem Mem Op Plus Word 32 2 Var C.t Word 32 Num 4 Word 32 2348 Cond 7 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 2359 Cond 6 8 Op SignedLess Bool 2 Op MemAcc Word 32 2 Var Mem Mem Var C.t Word 32 Var C.x Word 32 23610 Cond 9 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 23711 Cond 4 10 Op Equals Bool 2 Op MemAcc Word 32 2 Var Mem Mem Var C.t Word 32 Var C.x Word 32 23812 Cond 11 Err Op And Bool 2 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 Op PValid Bool 3 Var HTD HTD Type Struct C.tree_C Var C.t Word 32 23913 Cond 3 3 Op True Bool 0 240EntryPoint 13 241 242# machine code functions in no particular order. 243# naming convention mc_func = 'machine code of func' 244# the part1 etc functions are produced to control shared machine code paths. 245Function mc_has_value_part1 2 r3.1 Word 32 m.2 Mem 2 x3.3 Word 32 x4.4 Mem 2462 Basic Ret 1 x4.4 Mem Var m.2 Mem 2473 Basic 2 1 x3.3 Word 32 Var r0.5 Word 32 2484 Cond 3 Err Op True Bool 0 2495 Basic 4 1 r0.5 Word 32 Var r3.1 Word 32 2501 Cond 5 5 Op True Bool 0 251EntryPoint 1 252Function mc_has_value_part2 4 s2.1 Word 32 s3.2 Word 32 dm.3 Dom m.4 Mem 1 x5.5 Word 32 2532 Basic Ret 1 x5.5 Word 32 Var r3.8 Word 32 2543 Cond 2 Err Op True Bool 0 2554 Basic 3 1 r3.8 Word 32 Num 0 Word 32 2565 Basic Ret 1 x5.5 Word 32 Var r3.14 Word 32 2576 Cond 5 Err Op True Bool 0 2587 Basic 6 1 r3.14 Word 32 Num 1 Word 32 2598 Basic 1 1 m.4 Mem Var m.4 Mem 2609 Basic 8 1 dm.3 Dom Var dm.3 Dom 26110 Basic 9 1 s3.2 Word 32 Var s3.23 Word 32 26211 Basic 10 1 s2.1 Word 32 Var s2.1 Word 32 26312 Cond 11 Err Op True Bool 0 26413 Basic 12 1 s3.23 Word 32 Var r3.22 Word 32 26514 Basic 13 1 r3.22 Word 32 Op MemAcc Word 32 2 Var m.4 Mem Op Plus Word 32 2 Var r3.20 Word 32 Num 8 Word 32 26615 Cond 14 Err Var x21.21 Bool 26716 Basic 15 1 x21.21 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.20 Word 32 Num 8 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.20 Word 32 Num 8 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.20 Word 32 Num 9 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.20 Word 32 Num 10 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.20 Word 32 Num 11 Word 32 Var dm.3 Dom Op True Bool 0 26817 Basic 16 1 r3.20 Word 32 Var s3.2 Word 32 26918 Basic 1 1 m.4 Mem Var m.4 Mem 27019 Basic 18 1 dm.3 Dom Var dm.3 Dom 27120 Basic 19 1 s3.2 Word 32 Var s3.27 Word 32 27221 Basic 20 1 s2.1 Word 32 Var s2.1 Word 32 27322 Cond 21 Err Op True Bool 0 27423 Basic 22 1 s3.27 Word 32 Var r3.26 Word 32 27524 Basic 23 1 r3.26 Word 32 Op MemAcc Word 32 2 Var m.4 Mem Op Plus Word 32 2 Var r3.24 Word 32 Num 4 Word 32 27625 Cond 24 Err Var x25.25 Bool 27726 Basic 25 1 x25.25 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.24 Word 32 Num 4 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.24 Word 32 Num 4 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.24 Word 32 Num 5 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.24 Word 32 Num 6 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.24 Word 32 Num 7 Word 32 Var dm.3 Dom Op True Bool 0 27827 Basic 26 1 r3.24 Word 32 Var s3.2 Word 32 27928 Cond 17 27 Var x19.19 Bool 28029 Basic 28 1 x19.19 Bool Op SignedLess Bool 2 Var r2.17 Word 32 Var r3.18 Word 32 28130 Basic 29 1 r3.18 Word 32 Var s2.1 Word 32 28231 Basic 30 1 r2.17 Word 32 Op MemAcc Word 32 2 Var m.4 Mem Var r3.15 Word 32 28332 Cond 31 Err Var x16.16 Bool 28433 Basic 32 1 x16.16 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r3.15 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r3.15 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.15 Word 32 Num 1 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.15 Word 32 Num 2 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.15 Word 32 Num 3 Word 32 Var dm.3 Dom Op True Bool 0 28534 Basic 33 1 r3.15 Word 32 Var s3.2 Word 32 28635 Cond 7 34 Var x13.13 Bool 28736 Basic 35 1 x13.13 Bool Op Equals Bool 2 Var r2.11 Word 32 Var r3.12 Word 32 28837 Basic 36 1 r3.12 Word 32 Var s2.1 Word 32 28938 Basic 37 1 r2.11 Word 32 Op MemAcc Word 32 2 Var m.4 Mem Var r3.9 Word 32 29039 Cond 38 Err Var x10.10 Bool 29140 Basic 39 1 x10.10 Bool Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r3.9 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r3.9 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.9 Word 32 Num 1 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.9 Word 32 Num 2 Word 32 Var dm.3 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.9 Word 32 Num 3 Word 32 Var dm.3 Dom Op True Bool 0 29241 Basic 40 1 r3.9 Word 32 Var s3.2 Word 32 29342 Cond 4 41 Var x7.7 Bool 29443 Basic 42 1 x7.7 Bool Op Equals Bool 2 Var r3.6 Word 32 Num 0 Word 32 29544 Basic 43 1 r3.6 Word 32 Var s3.2 Word 32 2961 Cond 44 44 Op True Bool 0 297EntryPoint 1 298Function mc_has_value 4 r0.1 Word 32 r1.2 Word 32 dm.3 Dom m.4 Mem 2 x5.5 Word 32 x6.6 Mem 2992 Basic Ret 1 x6.6 Mem Var m.13 Mem 3003 Basic 2 1 x5.5 Word 32 Var r0.12 Word 32 3014 Cond 3 Err Op True Bool 0 3025 Call 4 mc_has_value_part1 2 Var r3.10 Word 32 Var m.4 Mem 2 r0.12 Word 32 m.13 Mem 3036 Call 5 mc_has_value_part2 4 Var s2.7 Word 32 Var s3.8 Word 32 Var dm.3 Dom Var m.4 Mem 1 r3.10 Word 32 3047 Basic 6 1 s3.8 Word 32 Var r1.2 Word 32 3058 Basic 7 1 s2.7 Word 32 Var r0.1 Word 32 3061 Cond 8 8 Op True Bool 0 307EntryPoint 1 308Function mc_insert_element_part1 5 s2.1 Word 32 s3.2 Word 32 s4.3 Word 32 dm.4 Dom m.5 Mem 2 x6.6 Word 32 x7.7 Mem 3092 Basic Ret 1 x7.7 Mem Var m.15 Mem 3103 Basic 2 1 x6.6 Word 32 Var r0.14 Word 32 3114 Cond 3 Err Op True Bool 0 3125 Call 4 mc_insert_element_part2 2 Var r3.12 Word 32 Var m.11 Mem 2 r0.14 Word 32 m.15 Mem 3136 Basic 5 1 r3.12 Word 32 Var s3.2 Word 32 3147 Basic 6 1 m.11 Mem Op MemUpdate Mem 3 Var m.5 Mem Var r3.8 Word 32 Var r2.9 Word 32 3158 Cond 7 Err Var x10.10 Bool 3169 Basic 8 1 x10.10 Bool Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r3.8 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.8 Word 32 Num 3 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.8 Word 32 Num 2 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.8 Word 32 Num 1 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Var r3.8 Word 32 Var dm.4 Dom Op True Bool 0 31710 Basic 9 1 r2.9 Word 32 Var s4.3 Word 32 31811 Basic 10 1 r3.8 Word 32 Var s2.1 Word 32 3191 Cond 11 11 Op True Bool 0 320EntryPoint 1 321Function mc_insert_element_part2 2 r3.1 Word 32 m.2 Mem 2 x3.3 Word 32 x4.4 Mem 3222 Basic Ret 1 x4.4 Mem Var m.2 Mem 3233 Basic 2 1 x3.3 Word 32 Var r0.5 Word 32 3244 Cond 3 Err Op True Bool 0 3255 Basic 4 1 r0.5 Word 32 Var r3.1 Word 32 3261 Cond 5 5 Op True Bool 0 327EntryPoint 1 328Function mc_insert_element_part3 5 s2.1 Word 32 s4.2 Word 32 s5.3 Word 32 dm.4 Dom m.5 Mem 1 x6.6 Word 32 3292 Basic Ret 1 x6.6 Word 32 Var s2.1 Word 32 3303 Cond 2 Err Op True Bool 0 3314 Basic 1 1 m.5 Mem Var m.5 Mem 3325 Basic 4 1 dm.4 Dom Var dm.4 Dom 3336 Basic 5 1 s5.3 Word 32 Var s5.22 Word 32 3347 Basic 6 1 s4.2 Word 32 Var s4.2 Word 32 3358 Basic 7 1 s2.1 Word 32 Var s2.18 Word 32 3369 Cond 8 Err Op True Bool 0 33710 Basic 9 1 s5.22 Word 32 Var r3.21 Word 32 33811 Basic 10 1 r3.21 Word 32 Op MemAcc Word 32 2 Var m.5 Mem Op Plus Word 32 2 Var r3.19 Word 32 Num 8 Word 32 33912 Cond 11 Err Var x20.20 Bool 34013 Basic 12 1 x20.20 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.19 Word 32 Num 8 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.19 Word 32 Num 8 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.19 Word 32 Num 9 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.19 Word 32 Num 10 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.19 Word 32 Num 11 Word 32 Var dm.4 Dom Op True Bool 0 34114 Basic 13 1 r3.19 Word 32 Var s5.3 Word 32 34215 Basic 14 1 s2.18 Word 32 Var r3.17 Word 32 34316 Basic 15 1 r3.17 Word 32 Op Plus Word 32 2 Var r3.16 Word 32 Num 8 Word 32 34417 Basic 16 1 r3.16 Word 32 Var s5.3 Word 32 34518 Basic 1 1 m.5 Mem Var m.5 Mem 34619 Basic 18 1 dm.4 Dom Var dm.4 Dom 34720 Basic 19 1 s5.3 Word 32 Var s5.29 Word 32 34821 Basic 20 1 s4.2 Word 32 Var s4.2 Word 32 34922 Basic 21 1 s2.1 Word 32 Var s2.25 Word 32 35023 Cond 22 Err Op True Bool 0 35124 Basic 23 1 s5.29 Word 32 Var r3.28 Word 32 35225 Basic 24 1 r3.28 Word 32 Op MemAcc Word 32 2 Var m.5 Mem Op Plus Word 32 2 Var r3.26 Word 32 Num 4 Word 32 35326 Cond 25 Err Var x27.27 Bool 35427 Basic 26 1 x27.27 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.26 Word 32 Num 4 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.26 Word 32 Num 4 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.26 Word 32 Num 5 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.26 Word 32 Num 6 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.26 Word 32 Num 7 Word 32 Var dm.4 Dom Op True Bool 0 35528 Basic 27 1 r3.26 Word 32 Var s5.3 Word 32 35629 Basic 28 1 s2.25 Word 32 Var r3.24 Word 32 35730 Basic 29 1 r3.24 Word 32 Op Plus Word 32 2 Var r3.23 Word 32 Num 4 Word 32 35831 Basic 30 1 r3.23 Word 32 Var s5.3 Word 32 35932 Cond 17 31 Var x15.15 Bool 36033 Basic 32 1 x15.15 Bool Op SignedLess Bool 2 Var r2.11 Word 32 Var r3.14 Word 32 36134 Basic 33 1 r3.14 Word 32 Op MemAcc Word 32 2 Var m.5 Mem Var r3.12 Word 32 36235 Cond 34 Err Var x13.13 Bool 36336 Basic 35 1 x13.13 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r3.12 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r3.12 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.12 Word 32 Num 1 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.12 Word 32 Num 2 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.12 Word 32 Num 3 Word 32 Var dm.4 Dom Op True Bool 0 36437 Basic 36 1 r3.12 Word 32 Var s4.2 Word 32 36538 Basic 37 1 r2.11 Word 32 Op MemAcc Word 32 2 Var m.5 Mem Var r3.9 Word 32 36639 Cond 38 Err Var x10.10 Bool 36740 Basic 39 1 x10.10 Bool Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r3.9 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r3.9 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.9 Word 32 Num 1 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.9 Word 32 Num 2 Word 32 Var dm.4 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.9 Word 32 Num 3 Word 32 Var dm.4 Dom Op True Bool 0 36841 Basic 40 1 r3.9 Word 32 Var s5.3 Word 32 36942 Cond 3 41 Var x8.8 Bool 37043 Basic 42 1 x8.8 Bool Op Equals Bool 2 Var r3.7 Word 32 Num 0 Word 32 37144 Basic 43 1 r3.7 Word 32 Var s5.3 Word 32 3721 Cond 44 44 Op True Bool 0 373EntryPoint 1 374Function mc_insert_element 4 r0.1 Word 32 r1.2 Word 32 dm.3 Dom m.4 Mem 2 x5.5 Word 32 x6.6 Mem 3752 Basic Ret 1 x6.6 Mem Var m.18 Mem 3763 Basic 2 1 x5.5 Word 32 Var r0.17 Word 32 3774 Cond 3 Err Op True Bool 0 3785 Call 4 mc_insert_element_part2 2 Var r3.15 Word 32 Var m.4 Mem 2 r0.17 Word 32 m.18 Mem 3796 Basic 5 1 r3.15 Word 32 Var s4.7 Word 32 3807 Basic Ret 1 x6.6 Mem Var x23.23 Mem 3818 Basic 7 1 x5.5 Word 32 Var x22.22 Word 32 3829 Cond 8 Err Op True Bool 0 38310 Cond 9 Err Var x24.24 Bool 38411 Basic 10 1 x24.24 Bool Op And Bool 2 Op True Bool 0 Op True Bool 0 38512 Call 11 mc_insert_element_part1 5 Var s2.20 Word 32 Var s3.12 Word 32 Var s4.7 Word 32 Var dm.3 Dom Var m.4 Mem 2 x22.22 Word 32 x23.23 Mem 38613 Call 12 mc_insert_element_part3 5 Var s2.10 Word 32 Var s4.7 Word 32 Var s5.8 Word 32 Var dm.3 Dom Var m.4 Mem 1 s2.20 Word 32 38714 Cond 6 13 Var x14.14 Bool 38815 Basic 14 1 x14.14 Bool Op Equals Bool 2 Var r3.13 Word 32 Num 0 Word 32 38916 Basic 15 1 r3.13 Word 32 Var s5.8 Word 32 39017 Basic 16 1 s3.12 Word 32 Var r3.11 Word 32 39118 Basic 17 1 r3.11 Word 32 Var s5.8 Word 32 39219 Basic 18 1 s2.10 Word 32 Var r3.9 Word 32 39320 Basic 19 1 r3.9 Word 32 Num 0 Word 32 39421 Basic 20 1 s5.8 Word 32 Var r1.2 Word 32 39522 Basic 21 1 s4.7 Word 32 Var r0.1 Word 32 3961 Cond 22 22 Op True Bool 0 397EntryPoint 1 398Function mc_rotate_left 3 r0.1 Word 32 dm.2 Dom m.3 Mem 2 x4.4 Word 32 x5.5 Mem 3992 Basic Ret 1 x5.5 Mem Var m.20 Mem 4003 Basic 2 1 x4.4 Word 32 Var r0.22 Word 32 4014 Cond 3 Err Op True Bool 0 4025 Basic 4 1 r0.22 Word 32 Var r3.21 Word 32 4036 Basic 5 1 r3.21 Word 32 Var s2.10 Word 32 4047 Basic 6 1 m.20 Mem Op MemUpdate Mem 3 Var m.16 Mem Op Plus Word 32 2 Var r3.17 Word 32 Num 4 Word 32 Var r2.18 Word 32 4058 Cond 7 Err Var x19.19 Bool 4069 Basic 8 1 x19.19 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 4 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 7 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 6 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 5 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 4 Word 32 Var dm.2 Dom Op True Bool 0 40710 Basic 9 1 r2.18 Word 32 Var s4.6 Word 32 40811 Basic 10 1 r3.17 Word 32 Var s2.10 Word 32 40912 Basic 11 1 m.16 Mem Op MemUpdate Mem 3 Var m.3 Mem Op Plus Word 32 2 Var r3.14 Word 32 Num 8 Word 32 Var r2.13 Word 32 41013 Cond 12 Err Var x15.15 Bool 41114 Basic 13 1 x15.15 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 8 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 11 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 10 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 9 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 8 Word 32 Var dm.2 Dom Op True Bool 0 41215 Basic 14 1 r3.14 Word 32 Var s4.6 Word 32 41316 Basic 15 1 r2.13 Word 32 Op MemAcc Word 32 2 Var m.3 Mem Op Plus Word 32 2 Var r3.11 Word 32 Num 4 Word 32 41417 Cond 16 Err Var x12.12 Bool 41518 Basic 17 1 x12.12 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 4 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 4 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 5 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 6 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 7 Word 32 Var dm.2 Dom Op True Bool 0 41619 Basic 18 1 r3.11 Word 32 Var s2.10 Word 32 41720 Basic 19 1 s2.10 Word 32 Var r3.9 Word 32 41821 Basic 20 1 r3.9 Word 32 Op MemAcc Word 32 2 Var m.3 Mem Op Plus Word 32 2 Var r3.7 Word 32 Num 8 Word 32 41922 Cond 21 Err Var x8.8 Bool 42023 Basic 22 1 x8.8 Bool Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 8 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 8 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 9 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 10 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 11 Word 32 Var dm.2 Dom Op True Bool 0 42124 Basic 23 1 r3.7 Word 32 Var s4.6 Word 32 42225 Basic 24 1 s4.6 Word 32 Var r0.1 Word 32 4231 Cond 25 25 Op True Bool 0 424EntryPoint 1 425Function mc_rotate_right 3 r0.1 Word 32 dm.2 Dom m.3 Mem 2 x4.4 Word 32 x5.5 Mem 4262 Basic Ret 1 x5.5 Mem Var m.20 Mem 4273 Basic 2 1 x4.4 Word 32 Var r0.22 Word 32 4284 Cond 3 Err Op True Bool 0 4295 Basic 4 1 r0.22 Word 32 Var r3.21 Word 32 4306 Basic 5 1 r3.21 Word 32 Var s2.10 Word 32 4317 Basic 6 1 m.20 Mem Op MemUpdate Mem 3 Var m.16 Mem Op Plus Word 32 2 Var r3.17 Word 32 Num 8 Word 32 Var r2.18 Word 32 4328 Cond 7 Err Var x19.19 Bool 4339 Basic 8 1 x19.19 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 8 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 11 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 10 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 9 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.17 Word 32 Num 8 Word 32 Var dm.2 Dom Op True Bool 0 43410 Basic 9 1 r2.18 Word 32 Var s4.6 Word 32 43511 Basic 10 1 r3.17 Word 32 Var s2.10 Word 32 43612 Basic 11 1 m.16 Mem Op MemUpdate Mem 3 Var m.3 Mem Op Plus Word 32 2 Var r3.14 Word 32 Num 4 Word 32 Var r2.13 Word 32 43713 Cond 12 Err Var x15.15 Bool 43814 Basic 13 1 x15.15 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 4 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 7 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 6 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 5 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.14 Word 32 Num 4 Word 32 Var dm.2 Dom Op True Bool 0 43915 Basic 14 1 r3.14 Word 32 Var s4.6 Word 32 44016 Basic 15 1 r2.13 Word 32 Op MemAcc Word 32 2 Var m.3 Mem Op Plus Word 32 2 Var r3.11 Word 32 Num 8 Word 32 44117 Cond 16 Err Var x12.12 Bool 44218 Basic 17 1 x12.12 Bool Op And Bool 2 Op True Bool 0 Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 8 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 8 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 9 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 10 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.11 Word 32 Num 11 Word 32 Var dm.2 Dom Op True Bool 0 44319 Basic 18 1 r3.11 Word 32 Var s2.10 Word 32 44420 Basic 19 1 s2.10 Word 32 Var r3.9 Word 32 44521 Basic 20 1 r3.9 Word 32 Op MemAcc Word 32 2 Var m.3 Mem Op Plus Word 32 2 Var r3.7 Word 32 Num 4 Word 32 44622 Cond 21 Err Var x8.8 Bool 44723 Basic 22 1 x8.8 Bool Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 4 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 4 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 5 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 6 Word 32 Var dm.2 Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r3.7 Word 32 Num 7 Word 32 Var dm.2 Dom Op True Bool 0 44824 Basic 23 1 r3.7 Word 32 Var s4.6 Word 32 44925 Basic 24 1 s4.6 Word 32 Var r0.1 Word 32 4501 Cond 25 25 Op True Bool 0 451EntryPoint 1 452