+(TranslationUnit (SymbolTable 1 {A: (StructType (SymbolTable 2 {a: (Variable 2 a Local () () Default (Real 4 []) Source Public Required .false.), b: (Variable 2 b Local () () Default (Integer 2 []) Source Public Required .false.), c: (Variable 2 c Local () () Default (Integer 1 []) Source Public Required .false.), d: (Variable 2 d Local () () Default (Logical 4 []) Source Public Required .false.), x: (Variable 2 x Local () () Default (Integer 4 []) Source Public Required .false.), y: (Variable 2 y Local () () Default (Real 8 []) Source Public Required .false.), z: (Variable 2 z Local () () Default (Integer 8 []) Source Public Required .false.)}) A [] [y x z a b c d] Source Public .false. () ()), _lpython_main_program: (Function (SymbolTable 101 {}) _lpython_main_program [g] [] [(SubroutineCall 1 g () [] ())] () Source Public Implementation () .false. .false. .false. .false. .false. [] [] .false.), g: (Function (SymbolTable 6 {y: (Variable 6 y Local () () Default (Struct 1 A [((IntegerConstant 0 (Integer 4 [])) (IntegerConstant 2 (Integer 4 [])))]) Source Public Required .false.)}) g [verify update_1 update_2 verify] [] [(= (ArrayItem (Var 6 y) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) (StructTypeConstructor 1 A [(RealConstant 1.100000 (Real 8 [])) (IntegerConstant 1 (Integer 4 [])) (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToInteger (Integer 8 []) (IntegerConstant 1 (Integer 8 []))) (Cast (RealConstant 1.100000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 1.100000 (Real 4 []))) (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToInteger (Integer 2 []) (IntegerConstant 1 (Integer 2 []))) (Cast (IntegerConstant 1 (Integer 4 [])) IntegerToInteger (Integer 1 []) (IntegerConstant 1 (Integer 1 []))) (LogicalConstant .true. (Logical 4 []))] (Struct 1 A []) ()) ()) (= (ArrayItem (Var 6 y) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) (StructTypeConstructor 1 A [(RealConstant 2.200000 (Real 8 [])) (IntegerConstant 2 (Integer 4 [])) (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToInteger (Integer 8 []) (IntegerConstant 2 (Integer 8 []))) (Cast (RealConstant 2.200000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 2.200000 (Real 4 []))) (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToInteger (Integer 2 []) (IntegerConstant 2 (Integer 2 []))) (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToInteger (Integer 1 []) (IntegerConstant 2 (Integer 1 []))) (LogicalConstant .true. (Logical 4 []))] (Struct 1 A []) ()) ()) (SubroutineCall 1 verify () [((Var 6 y)) ((IntegerConstant 1 (Integer 4 []))) ((RealConstant 1.100000 (Real 8 []))) ((IntegerConstant 2 (Integer 4 []))) ((RealConstant 2.200000 (Real 8 [])))] ()) (SubroutineCall 1 update_1 () [((ArrayItem (Var 6 y) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()))] ()) (SubroutineCall 1 update_2 () [((Var 6 y))] ()) (SubroutineCall 1 verify () [((Var 6 y)) ((IntegerConstant 2 (Integer 4 []))) ((RealConstant 1.200000 (Real 8 []))) ((IntegerConstant 3 (Integer 4 []))) ((RealConstant 2.300000 (Real 8 [])))] ())] () Source Public Implementation () .false. .false. .false. .false. .false. [] [] .false.), lpython_builtin: (IntrinsicModule lpython_builtin), main_program: (Program (SymbolTable 100 {}) main_program [] [(SubroutineCall 1 _lpython_main_program () [] ())]), update_1: (Function (SymbolTable 4 {s: (Variable 4 s In () () Default (Struct 1 A []) Source Public Required .false.)}) update_1 [] [(Var 4 s)] [(= (StructInstanceMember (Var 4 s) 2 x (Integer 4 []) ()) (IntegerConstant 2 (Integer 4 [])) ()) (= (StructInstanceMember (Var 4 s) 2 y (Real 8 []) ()) (RealConstant 1.200000 (Real 8 [])) ()) (= (StructInstanceMember (Var 4 s) 2 z (Integer 8 []) ()) (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToInteger (Integer 8 []) (IntegerConstant 2 (Integer 8 []))) ()) (= (StructInstanceMember (Var 4 s) 2 a (Real 4 []) ()) (Cast (RealConstant 1.200000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 1.200000 (Real 4 []))) ()) (= (StructInstanceMember (Var 4 s) 2 b (Integer 2 []) ()) (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToInteger (Integer 2 []) (IntegerConstant 2 (Integer 2 []))) ()) (= (StructInstanceMember (Var 4 s) 2 c (Integer 1 []) ()) (Cast (IntegerConstant 2 (Integer 4 [])) IntegerToInteger (Integer 1 []) (IntegerConstant 2 (Integer 1 []))) ())] () Source Public Implementation () .false. .false. .false. .false. .false. [] [] .false.), update_2: (Function (SymbolTable 5 {s: (Variable 5 s InOut () () Default (Struct 1 A [(() ())]) Source Public Required .false.)}) update_2 [] [(Var 5 s)] [(= (StructInstanceMember (ArrayItem (Var 5 s) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) 2 x (Integer 4 []) ()) (IntegerConstant 3 (Integer 4 [])) ()) (= (StructInstanceMember (ArrayItem (Var 5 s) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) 2 y (Real 8 []) ()) (RealConstant 2.300000 (Real 8 [])) ()) (= (StructInstanceMember (ArrayItem (Var 5 s) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) 2 z (Integer 8 []) ()) (Cast (IntegerConstant 3 (Integer 4 [])) IntegerToInteger (Integer 8 []) (IntegerConstant 3 (Integer 8 []))) ()) (= (StructInstanceMember (ArrayItem (Var 5 s) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) 2 a (Real 4 []) ()) (Cast (RealConstant 2.300000 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 2.300000 (Real 4 []))) ()) (= (StructInstanceMember (ArrayItem (Var 5 s) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) 2 b (Integer 2 []) ()) (Cast (IntegerConstant 3 (Integer 4 [])) IntegerToInteger (Integer 2 []) (IntegerConstant 3 (Integer 2 []))) ()) (= (StructInstanceMember (ArrayItem (Var 5 s) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) 2 c (Integer 1 []) ()) (Cast (IntegerConstant 3 (Integer 4 [])) IntegerToInteger (Integer 1 []) (IntegerConstant 3 (Integer 1 []))) ())] () Source Public Implementation () .false. .false. .false. .false. .false. [] [] .false.), verify: (Function (SymbolTable 3 {abs: (ExternalSymbol 3 abs 8 abs lpython_builtin [] abs Private), abs@__lpython_overloaded_0__abs: (ExternalSymbol 3 abs@__lpython_overloaded_0__abs 8 __lpython_overloaded_0__abs lpython_builtin [] __lpython_overloaded_0__abs Public), abs@__lpython_overloaded_1__abs: (ExternalSymbol 3 abs@__lpython_overloaded_1__abs 8 __lpython_overloaded_1__abs lpython_builtin [] __lpython_overloaded_1__abs Public), eps: (Variable 3 eps Local () () Default (Real 8 []) Source Public Required .false.), s: (Variable 3 s InOut () () Default (Struct 1 A [(() ())]) Source Public Required .false.), s0: (Variable 3 s0 Local () () Default (Struct 1 A []) Source Public Required .false.), s1: (Variable 3 s1 Local () () Default (Struct 1 A []) Source Public Required .false.), x1: (Variable 3 x1 In () () Default (Integer 4 []) Source Public Required .false.), x2: (Variable 3 x2 In () () Default (Integer 4 []) Source Public Required .false.), y1: (Variable 3 y1 In () () Default (Real 8 []) Source Public Required .false.), y2: (Variable 3 y2 In () () Default (Real 8 []) Source Public Required .false.)}) verify [abs@__lpython_overloaded_0__abs abs@__lpython_overloaded_1__abs abs@__lpython_overloaded_0__abs abs@__lpython_overloaded_1__abs] [(Var 3 s) (Var 3 x1) (Var 3 y1) (Var 3 x2) (Var 3 y2)] [(= (Var 3 eps) (RealConstant 0.000000 (Real 8 [])) ()) (= (Var 3 s0) (ArrayItem (Var 3 s) [(() (IntegerConstant 0 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) ()) (Print () [(StructInstanceMember (Var 3 s0) 2 x (Integer 4 []) ()) (StructInstanceMember (Var 3 s0) 2 y (Real 8 []) ()) (StructInstanceMember (Var 3 s0) 2 z (Integer 8 []) ()) (StructInstanceMember (Var 3 s0) 2 a (Real 4 []) ()) (StructInstanceMember (Var 3 s0) 2 b (Integer 2 []) ()) (StructInstanceMember (Var 3 s0) 2 c (Integer 1 []) ()) (StructInstanceMember (Var 3 s0) 2 d (Logical 4 []) ())] () ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s0) 2 x (Integer 4 []) ()) Eq (Var 3 x1) (Logical 4 []) ()) ()) (Assert (RealCompare (FunctionCall 3 abs@__lpython_overloaded_0__abs 3 abs [((RealBinOp (StructInstanceMember (Var 3 s0) 2 y (Real 8 []) ()) Sub (Var 3 y1) (Real 8 []) ()))] (Real 8 []) () ()) Lt (Var 3 eps) (Logical 4 []) ()) ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s0) 2 z (Integer 8 []) ()) Eq (Cast (Var 3 x1) IntegerToInteger (Integer 8 []) ()) (Logical 4 []) ()) ()) (Assert (RealCompare (FunctionCall 3 abs@__lpython_overloaded_1__abs 3 abs [((RealBinOp (StructInstanceMember (Var 3 s0) 2 a (Real 4 []) ()) Sub (Cast (Var 3 y1) RealToReal (Real 4 []) ()) (Real 4 []) ()))] (Real 4 []) () ()) Lt (Cast (RealConstant 0.000001 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 0.000001 (Real 4 []))) (Logical 4 []) ()) ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s0) 2 b (Integer 2 []) ()) Eq (Cast (Var 3 x1) IntegerToInteger (Integer 2 []) ()) (Logical 4 []) ()) ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s0) 2 c (Integer 1 []) ()) Eq (Cast (Var 3 x1) IntegerToInteger (Integer 1 []) ()) (Logical 4 []) ()) ()) (Assert (StructInstanceMember (Var 3 s0) 2 d (Logical 4 []) ()) ()) (= (Var 3 s1) (ArrayItem (Var 3 s) [(() (IntegerConstant 1 (Integer 4 [])) ())] (Struct 1 A []) RowMajor ()) ()) (Print () [(StructInstanceMember (Var 3 s1) 2 x (Integer 4 []) ()) (StructInstanceMember (Var 3 s1) 2 y (Real 8 []) ()) (StructInstanceMember (Var 3 s1) 2 z (Integer 8 []) ()) (StructInstanceMember (Var 3 s1) 2 a (Real 4 []) ()) (StructInstanceMember (Var 3 s1) 2 b (Integer 2 []) ()) (StructInstanceMember (Var 3 s1) 2 c (Integer 1 []) ()) (StructInstanceMember (Var 3 s1) 2 d (Logical 4 []) ())] () ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s1) 2 x (Integer 4 []) ()) Eq (Var 3 x2) (Logical 4 []) ()) ()) (Assert (RealCompare (FunctionCall 3 abs@__lpython_overloaded_0__abs 3 abs [((RealBinOp (StructInstanceMember (Var 3 s1) 2 y (Real 8 []) ()) Sub (Var 3 y2) (Real 8 []) ()))] (Real 8 []) () ()) Lt (Var 3 eps) (Logical 4 []) ()) ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s1) 2 z (Integer 8 []) ()) Eq (Cast (Var 3 x2) IntegerToInteger (Integer 8 []) ()) (Logical 4 []) ()) ()) (Assert (RealCompare (FunctionCall 3 abs@__lpython_overloaded_1__abs 3 abs [((RealBinOp (StructInstanceMember (Var 3 s1) 2 a (Real 4 []) ()) Sub (Cast (Var 3 y2) RealToReal (Real 4 []) ()) (Real 4 []) ()))] (Real 4 []) () ()) Lt (Cast (RealConstant 0.000001 (Real 8 [])) RealToReal (Real 4 []) (RealConstant 0.000001 (Real 4 []))) (Logical 4 []) ()) ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s1) 2 b (Integer 2 []) ()) Eq (Cast (Var 3 x2) IntegerToInteger (Integer 2 []) ()) (Logical 4 []) ()) ()) (Assert (IntegerCompare (StructInstanceMember (Var 3 s1) 2 c (Integer 1 []) ()) Eq (Cast (Var 3 x2) IntegerToInteger (Integer 1 []) ()) (Logical 4 []) ()) ()) (Assert (StructInstanceMember (Var 3 s1) 2 d (Logical 4 []) ()) ())] () Source Public Implementation () .false. .false. .false. .false. .false. [] [] .false.)}) [])
0 commit comments