rvalue a
rvalue b
<
gofalse AFTERIF
WHILESTART:
rvalue c
rvalue d
push 2
*
>
gofalse AFTERWHILE
lvalue b
rvalue a
push 1
+
=
lvalue a
rvalue c
rvalue b
rvalue c
+
rvalue d
+
*
=
lvalue a
rvalue a
push 1
+
=
lvalue d
rvalue c
rvalue b
rvalue c
+
rvalue d
+
*
=
goto WHILESTART
AFTERWHILE:
lvalue b
rvalue a
push 1
+
=
AFTERIF:
lvalue c
rvalue a
push 1
+
=
b)(1) if (a >= b) goto 14 (2) temp1 = d * 2 (3) if (c <= temp1) goto 13 (4) b = a + 1 (5) temp2 = b + c (6) temp3 = temp2 + d (7) a = c * temp3 (8) a = a + 1 (9) temp4 = b + c (10) temp5 = temp4 + d (11) d = c * temp5 (12) goto 2 (13) b = a + 1 (14) c = a + 1