[HIR-C] (prog 1 (subpDef 0 void true int> main> (labeldSt 2 void (list 3 ) (block 5 void (expStmt 6 int (call 7 int (addr 8 > true int>> > true int> printf>) (list 10 (decay 11 "input: ">)))) (expStmt 13 int (call 14 int (addr 15 > true int>> > true int> scanf>) (list 17 (decay 18 "%d%d">) (addr 20 ) (addr 22 )))) (expStmt 24 int (call 25 int (addr 26 > true int>> > true int> printf>) (list 28 (decay 29 "GCD(%d, %d) = ">) ))) (while 33 void (labeldSt 34 bool (list 35 ) (expStmt 37 bool (cmpGt 38 bool ))) (labeldSt 41 void (list 42 ) (block 44 void (expStmt 45 int (assign 46 int (mod 48 int ))) (expStmt 51 int (assign 52 int )) (expStmt 55 int (assign 56 int )) (labeldSt 59 void (list 60 ) ))) (expStmt 62 int ) (labeldSt 63 void (list 64 ) )) (expStmt 66 int (call 67 int (addr 68 > true int>> > true int> printf>) (list 70 (decay 71 " %d\n">) ))) (return 74 int ))))) [HIR-base] (prog 1 (subpDef 0 void true int> main> (labeldSt 2 void (list 3 ) (block 5 void (expStmt 6 int (call 7 int (addr 8 > true int>> > true int> printf>) (list 10 (decay 11 "input: ">)))) (expStmt 13 int (call 14 int (addr 15 > true int>> > true int> scanf>) (list 17 (decay 18 "%d%d">) (addr 20 ) (addr 22 )))) (expStmt 24 int (call 25 int (addr 26 > true int>> > true int> printf>) (list 28 (decay 29 "GCD(%d, %d) = ">) ))) (while 33 void (labeldSt 34 bool (list 35 ) (expStmt 37 bool (cmpGt 38 bool ))) (labeldSt 41 void (list 42 ) (block 44 void (assign 45 int (mod 47 int )) (assign 50 int ) (assign 53 int ) (labeldSt 56 void (list 57 ) ))) (expStmt 59 int ) (labeldSt 60 void (list 61 ) )) (expStmt 63 int (call 64 int (addr 65 > true int>> > true int> printf>) (list 67 (decay 68 " %d\n">) ))) (return 71 int ))))) [LIR] (FUNCTION "main" (SYMTAB ("functionvalue.11" FRAME I32 4 0) ("functionvalue.9" FRAME I32 4 0) ("functionvalue.7" FRAME I32 4 0) ("functionvalue.5" FRAME I32 4 0) ("returnvalue.4" FRAME I32 4 0) ("r.3" FRAME I32 4 0) ("y.2" FRAME I32 4 0) ("x.1" FRAME I32 4 0) ) (PROLOGUE (0 0)) (DEFLABEL (LABEL I32 "_lab1")) (CALL (STATIC I32 "printf") ((STATIC I32 "string.6")) ((MEM I32 (FRAME I32 "functionvalue.5")))) (CALL (STATIC I32 "scanf") ((STATIC I32 "string.8") (FRAME I32 "x.1") (FRAME I32 "y.2")) ((MEM I32 (FRAME I32 "functionvalue.7")))) (CALL (STATIC I32 "printf") ((STATIC I32 "string.10") (MEM I32 (FRAME I32 "x.1")) (MEM I32 (FRAME I32 "y.2"))) ((MEM I32 (FRAME I32 "functionvalue.9")))) (DEFLABEL (LABEL I32 "_lab5")) (JUMPC (TSTGTS I32 (MEM I32 (FRAME I32 "y.2")) (INTCONST I32 0)) (LABEL I32 "_lab6") (LABEL I32 "_lab4")) (DEFLABEL (LABEL I32 "_lab6")) (SET I32 (MEM I32 (FRAME I32 "r.3")) (MODS I32 (MEM I32 (FRAME I32 "x.1")) (MEM I32 (FRAME I32 "y.2")))) (SET I32 (MEM I32 (FRAME I32 "x.1")) (MEM I32 (FRAME I32 "y.2"))) (SET I32 (MEM I32 (FRAME I32 "y.2")) (MEM I32 (FRAME I32 "r.3"))) (DEFLABEL (LABEL I32 "_lab3")) (JUMP (LABEL I32 "_lab5")) (DEFLABEL (LABEL I32 "_lab4")) (CALL (STATIC I32 "printf") ((STATIC I32 "string.12") (MEM I32 (FRAME I32 "x.1"))) ((MEM I32 (FRAME I32 "functionvalue.11")))) (SET I32 (MEM I32 (FRAME I32 "returnvalue.4")) (INTCONST I32 0)) (JUMP (LABEL I32 "_epilogue")) (DEFLABEL (LABEL I32 "_epilogue")) (EPILOGUE (0 0) (MEM I32 (FRAME I32 "returnvalue.4"))) )