diff --git a/libASL/Semantics.g4 b/libASL/Semantics.g4 index 834d9a3f..0a392eb8 100644 --- a/libASL/Semantics.g4 +++ b/libASL/Semantics.g4 @@ -14,7 +14,7 @@ assignment_stmt: 'Stmt_Assign' OPEN_PAREN lexpr COMMA expr CLOSE_PAREN # Assign | 'Stmt_ConstDecl' OPEN_PAREN type COMMA ident COMMA expr CLOSE_PAREN # ConstDecl | 'Stmt_VarDecl' OPEN_PAREN type COMMA ident COMMA expr CLOSE_PAREN # VarDecl - | 'Stmt_VarDeclsNoInit' OPEN_PAREN type COMMA OPEN_BRACKET OPEN_PAREN (ident (COMMA ident)*)? CLOSE_PAREN CLOSE_BRACKET CLOSE_PAREN # VarDeclsNoInit + | 'Stmt_VarDeclsNoInit' OPEN_PAREN type COMMA OPEN_BRACKET (ident (COMMA ident)*)? CLOSE_BRACKET CLOSE_PAREN # VarDeclsNoInit | 'Stmt_Assert' OPEN_PAREN expr CLOSE_PAREN # Assert | 'Stmt_Throw' OPEN_PAREN message=ident+ CLOSE_PAREN # Throw; @@ -88,12 +88,8 @@ CLOSE_PAREN: ')'; COMMA: ','; OPEN_BRACKET: '['; CLOSE_BRACKET: ']'; -OPEN_CURLY: '{'; -CLOSE_CURLY: '}'; SQUOTE: '\''; QUOTE: '"'; -EQUALS: '='; -COLON: ':'; SCOLON: ';'; // Ignored diff --git a/libASL/asl.ott b/libASL/asl.ott index f69a016b..a345a999 100644 --- a/libASL/asl.ott +++ b/libASL/asl.ott @@ -193,6 +193,14 @@ anyident :: '' ::= {{ phantom }} | id :: :: AnyIdent {{ ocaml Ident [[id]] }} | typeid :: :: AnyTypeIdent {{ ocaml Ident [[typeid]] }} +ident_list :: 'IdentList_' ::= + {{ phantom }} {{ ocaml ident list }} + {{ pp-raw es = string "[" ^^ separate (string ";") (List.map pp_raw_ident es) ^^ string "]" }} + {{ pp es = separate (string ",") (List.map pp_ident es) }} + | ident1 , .. , identn :: :: List + {{ ocaml [[ident1..identn]] }} + + grammar %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -556,7 +564,7 @@ nonempty_block :: 'Block_' ::= {{ quotient-with indented_block }} assignment_stmt :: 'Stmt_' ::= {{ quotient-with stmt }} {{ aux _ l }} - | ty ident1 , ... , identn ; :: :: VarDeclsNoInit + | ty ident_list ; :: :: VarDeclsNoInit | ty ident = expr ; :: :: VarDecl | constant ty ident = expr ; :: :: ConstDecl | lexpr = expr ; :: :: Assign diff --git a/tests/aslt/test_antlr.t b/tests/aslt/test_antlr.t index c1ce67a9..ca8d097a 100644 --- a/tests/aslt/test_antlr.t +++ b/tests/aslt/test_antlr.t @@ -23,7 +23,7 @@ tests building and running of the antlr grammar. requires java (stmt (call_stmt Stmt_TCall ( (ident " Mem.set.0 ") , [ (targs (expr (integer 8))) ] , [ (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 3)) )) ; (expr (integer 8)) ; (expr (integer 0)) ; (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 1)) )) ] ))) (stmt (call_stmt Stmt_TCall ( (ident " Mem.set.0 ") , [ (targs (expr (integer 8))) ] , [ (expr Expr_TApply ( (ident " add_bits.0 ") , [ (targs (expr (integer 64))) ] , [ (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 3)) )) ; (expr (bits '0000000000000000000000000000000000000000000000000000000000001000')) ] )) ; (expr (integer 8)) ; (expr (integer 0)) ; (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 2)) )) ] ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _R ") )) , (expr (integer 3)) )) , (expr Expr_TApply ( (ident " add_bits.0 ") , [ (targs (expr (integer 64))) ] , [ (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 3)) )) ; (expr (bits '0000000000000000000000000000000000000000000000000000000010000000')) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 3)) )) , [ ( (ident " FPDecodeRounding5__5 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 3)) )) , [ (ident " FPDecodeRounding5__5 ") ] ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " FPDecodeRounding5__5 ") )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 2))) ; (targs (expr (integer 3))) ] , [ (expr Expr_Slices ( (expr Expr_Var ( (ident " FPCR ") )) , [ (slice_expr Slice_LoWd ( (expr (integer 22)) , (expr (integer 2)) )) ] )) ; (expr (integer 3)) ] )) ))) (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 64)) )) , (ident " Exp9__5 ") , (expr Expr_TApply ( (ident " FixedToFP.0 ") , [ (targs (expr (integer 32))) ; (targs (expr (integer 64))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 2)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 32)) )) ] )) ; (expr (integer 0)) ; (expr Expr_Var ( (ident " TRUE ") )) ; (expr Expr_Var ( (ident " FPCR ") )) ; (expr Expr_TApply ( (ident " cvt_bits_uint.0 ") , [ (targs (expr (integer 3))) ] , [ (expr Expr_Var ( (ident " FPDecodeRounding5__5 ") )) ] )) ] )) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " Exp9__5 ") )) ; (expr (integer 128)) ] )) ))) @@ -36,7 +36,7 @@ tests building and running of the antlr grammar. requires java (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 9)) )) , (ident " Cse2__5 ") , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 8))) ; (targs (expr (integer 9))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 40)) , (expr (integer 8)) )) ] )) ; (expr (integer 9)) ] )) ))) (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 9)) )) , (ident " Cse1__5 ") , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 8))) ; (targs (expr (integer 9))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 48)) , (expr (integer 8)) )) ] )) ; (expr (integer 9)) ] )) ))) (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 9)) )) , (ident " Cse0__5 ") , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 8))) ; (targs (expr (integer 9))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 56)) , (expr (integer 8)) )) ] )) ; (expr (integer 9)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " result__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " result__4 ") ] ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " result__4 ") )) , (expr (bits '0000000000000000000000000000000000000000000000000000000000000000')) ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " slt_bits.0 ") , [ (targs (expr (integer 9))) ] , [ (expr Expr_Var ( (ident " Cse7__5 ") )) ; (expr (bits '000010000')) ] )) , (stmts [ diff --git a/tests/aslt/test_cntlm.t b/tests/aslt/test_cntlm.t index 20a4ffea..5661a63b 100644 --- a/tests/aslt/test_cntlm.t +++ b/tests/aslt/test_cntlm.t @@ -51489,38 +51489,38 @@ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _R ") )) , (expr (integer 3)) )) , (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 3)) )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _R ") )) , (expr (integer 3)) )) , (expr Expr_TApply ( (ident " add_bits.0 ") , [ (targs (expr (integer 64))) ] , [ (expr Expr_Array ( (expr Expr_Var ( (ident " _R ") )) , (expr (integer 3)) )) ; (expr (bits '0000000000000000000000000000000000000000000000000000000000000001')) ] )) ))) ]) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If10__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If10__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 64))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ; (expr (bits '0000000000000000000000000000000000000000000000000000000000000000')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If10__4 ") )) , (expr (bits '1111111111111111111111111111111111111111111111111111111111111111')) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If10__4 ") )) , (expr (bits '0000000000000000000000000000000000000000000000000000000000000000')) ))) ]) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If16__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If16__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 64))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 64)) , (expr (integer 64)) )) ] )) ; (expr (bits '0000000000000000000000000000000000000000000000000000000000000000')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If16__4 ") )) , (expr (bits '1111111111111111111111111111111111111111111111111111111111111111')) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If16__4 ") )) , (expr (bits '0000000000000000000000000000000000000000000000000000000000000000')) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " append_bits.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 64))) ] , [ (expr Expr_Var ( (ident " If16__4 ") )) ; (expr Expr_Var ( (ident " If10__4 ") )) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ ( (ident " If13__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ (ident " If13__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 32))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 32)) )) ] )) ; (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 6)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 32)) )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If13__4 ") )) , (expr (bits '11111111111111111111111111111111')) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If13__4 ") )) , (expr (bits '00000000000000000000000000000000')) ))) ]) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ ( (ident " If19__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ (ident " If19__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 32))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 32)) , (expr (integer 32)) )) ] )) ; (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 6)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 32)) , (expr (integer 32)) )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If19__4 ") )) , (expr (bits '11111111111111111111111111111111')) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If19__4 ") )) , (expr (bits '00000000000000000000000000000000')) ))) ]) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ ( (ident " If25__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ (ident " If25__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 32))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 64)) , (expr (integer 32)) )) ] )) ; (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 6)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 64)) , (expr (integer 32)) )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If25__4 ") )) , (expr (bits '11111111111111111111111111111111')) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If25__4 ") )) , (expr (bits '00000000000000000000000000000000')) ))) ]) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ ( (ident " If31__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ (ident " If31__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 32))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 96)) , (expr (integer 32)) )) ] )) ; (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 6)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 96)) , (expr (integer 32)) )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If31__4 ") )) , (expr (bits '11111111111111111111111111111111')) ))) ]) , [ ] , @@ -59828,238 +59828,238 @@ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 7)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_TApply ( (ident " append_bits.0 ") , [ (targs (expr (integer 1))) ; (targs (expr (integer 63))) ] , [ (expr (bits '0')) ; (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 4)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 63)) )) ] )) ] )) ; (expr (integer 128)) ] )) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_TApply ( (ident " append_bits.0 ") , [ (targs (expr (integer 1))) ; (targs (expr (integer 63))) ] , [ (expr (bits '0')) ; (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 63)) )) ] )) ] )) ; (expr (integer 128)) ] )) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_TApply ( (ident " append_bits.0 ") , [ (targs (expr (integer 1))) ; (targs (expr (integer 63))) ] , [ (expr (bits '0')) ; (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 11)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 63)) )) ] )) ] )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If9__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If9__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " and_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ; (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '0')) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If9__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If9__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If9__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 2)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 2)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 4)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 10)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 2)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 2)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 3)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 3)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 6)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 6)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 5)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 11)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 10)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " not_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 11)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 14)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 12)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 13)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If7__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If7__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 14)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If7__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 11)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If7__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If9__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If9__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " and_bool.0 ") , [ ] , [ (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " V ") )) ] )) ; (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '0')) ] )) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If9__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If9__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 9)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If9__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 9)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " Z ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 14)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 13)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 9)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 64)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 9)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) , [ ] , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 8)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 64)) )) ] )) ))) ]) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Array ( (lexpr LExpr_Var ( (ident " _Z ") )) , (expr (integer 9)) )) , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 64))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Var ( (ident " If6__4 ") )) ; (expr (integer 128)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ ( (ident " If6__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 32)) )) , [ (ident " If6__4 ") ] ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " eq_bits.0 ") , [ (targs (expr (integer 1))) ] , [ (expr Expr_Field ( (expr Expr_Var ( (ident " PSTATE ") )) , (ident " N ") )) ; (expr (bits '1')) ] )) , (stmts [ (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " If6__4 ") )) , (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 0)) , (expr (integer 32)) )) ] )) ))) ]) , [ ] , @@ -75656,7 +75656,7 @@ (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 9)) )) , (ident " Cse2__5 ") , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 8))) ; (targs (expr (integer 9))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 3)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 104)) , (expr (integer 8)) )) ] )) ; (expr (integer 9)) ] )) ))) (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 9)) )) , (ident " Cse1__5 ") , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 8))) ; (targs (expr (integer 9))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 3)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 112)) , (expr (integer 8)) )) ] )) ; (expr (integer 9)) ] )) ))) (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 9)) )) , (ident " Cse0__5 ") , (expr Expr_TApply ( (ident " ZeroExtend.0 ") , [ (targs (expr (integer 8))) ; (targs (expr (integer 9))) ] , [ (expr Expr_Slices ( (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 3)) )) , [ (slice_expr Slice_LoWd ( (expr (integer 120)) , (expr (integer 8)) )) ] )) ; (expr (integer 9)) ] )) ))) - (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 128)) )) , [ ( (ident " result__4 ") ) ] ))) + (stmt (assignment_stmt Stmt_VarDeclsNoInit ( (type Type_Bits ( (expr (integer 128)) )) , [ (ident " result__4 ") ] ))) (stmt (assignment_stmt Stmt_ConstDecl ( (type Type_Bits ( (expr (integer 256)) )) , (ident " Cse14__5 ") , (expr Expr_TApply ( (ident " append_bits.0 ") , [ (targs (expr (integer 128))) ; (targs (expr (integer 128))) ] , [ (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 1)) )) ; (expr Expr_Array ( (expr Expr_Var ( (ident " _Z ") )) , (expr (integer 0)) )) ] )) ))) (stmt (assignment_stmt Stmt_Assign ( (lexpr LExpr_Var ( (ident " result__4 ") )) , (expr (bits '00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000')) ))) (stmt (conditional_stmt Stmt_If ( (expr Expr_TApply ( (ident " slt_bits.0 ") , [ (targs (expr (integer 9))) ] , [ (expr Expr_Var ( (ident " Cse16__5 ") )) ; (expr (bits '000100000')) ] )) , diff --git a/tests/aslt/test_dis.t b/tests/aslt/test_dis.t index ddccc6ed..786d43ab 100644 --- a/tests/aslt/test_dis.t +++ b/tests/aslt/test_dis.t @@ -58,7 +58,7 @@ run asli with these commands constant bits ( 64 ) Exp9__5 = FixedToFP.0 {{ 32,64 }} ( __array _R [ 2 ] [ 0 +: 32 ],0,TRUE,FPCR,cvt_bits_uint.0 {{ 3 }} ( FPDecodeRounding5__5 ) ) ; __array _Z [ 0 ] = ZeroExtend.0 {{ 64,128 }} ( Exp9__5,128 ) ; "" - Stmt_VarDeclsNoInit(Type_Bits(3),[("FPDecodeRounding5__5")]) + Stmt_VarDeclsNoInit(Type_Bits(3),["FPDecodeRounding5__5"]) Stmt_Assign(LExpr_Var("FPDecodeRounding5__5"),Expr_TApply("ZeroExtend.0",[2;3],[Expr_Slices(Expr_Var("FPCR"),[Slice_LoWd(22,2)]);3])) Stmt_ConstDecl(Type_Bits(64),"Exp9__5",Expr_TApply("FixedToFP.0",[32;64],[Expr_Slices(Expr_Array(Expr_Var("_R"),2),[Slice_LoWd(0,32)]);0;Expr_Var("TRUE");Expr_Var("FPCR");Expr_TApply("cvt_bits_uint.0",[3],[Expr_Var("FPDecodeRounding5__5")])])) Stmt_Assign(LExpr_Array(LExpr_Var("_Z"),0),Expr_TApply("ZeroExtend.0",[64;128],[Expr_Var("Exp9__5");128])) @@ -125,7 +125,7 @@ run asli with these commands Stmt_ConstDecl(Type_Bits(9),"Cse2__5",Expr_TApply("ZeroExtend.0",[8;9],[Expr_Slices(Expr_Array(Expr_Var("_Z"),0),[Slice_LoWd(40,8)]);9])) Stmt_ConstDecl(Type_Bits(9),"Cse1__5",Expr_TApply("ZeroExtend.0",[8;9],[Expr_Slices(Expr_Array(Expr_Var("_Z"),0),[Slice_LoWd(48,8)]);9])) Stmt_ConstDecl(Type_Bits(9),"Cse0__5",Expr_TApply("ZeroExtend.0",[8;9],[Expr_Slices(Expr_Array(Expr_Var("_Z"),0),[Slice_LoWd(56,8)]);9])) - Stmt_VarDeclsNoInit(Type_Bits(64),[("result__4")]) + Stmt_VarDeclsNoInit(Type_Bits(64),["result__4"]) Stmt_Assign(LExpr_Var("result__4"),'0000000000000000000000000000000000000000000000000000000000000000') Stmt_If(Expr_TApply("slt_bits.0",[9],[Expr_Var("Cse7__5");'000010000']),[ Stmt_Assert(Expr_TApply("and_bool.0",[],[Expr_TApply("sle_bits.0",[9],['000000000';Expr_Var("Cse7__5")]);Expr_TApply("sle_bits.0",[13],[Expr_TApply("ZeroExtend.0",[12;13],[Expr_TApply("mul_bits.0",[12],[Expr_TApply("ZeroExtend.0",[9;12],[Expr_TApply("add_bits.0",[9],[Expr_Var("Cse7__5");'000000001']);12]);'000000001000']);13]);'0000010000000'])]));