MAIN
MOVE TEMP 2 4
MOVE TEMP 3 HALLOCATE TEMP 2
MOVE TEMP 1 TEMP 3
MOVE TEMP 5 4
MOVE TEMP 6 HALLOCATE TEMP 5
MOVE TEMP 4 TEMP 6
MOVE TEMP 7 Fac_ComputeFac
HSTORE TEMP 1 0 TEMP 7
HSTORE TEMP 4 0 TEMP 1
MOVE TEMP 0 TEMP 4
HLOAD TEMP 8 TEMP 0 0
HLOAD TEMP 9 TEMP 8 0
MOVE TEMP 10 10
MOVE TEMP 11 CALL TEMP 9 ( TEMP 0  TEMP 10 )
PRINT TEMP 11
END
Fac_ComputeFac [2]
BEGIN
MOVE TEMP 3 0
MOVE TEMP 4 LE  TEMP 1 TEMP 3
CJUMP TEMP 4 L2
MOVE TEMP 6 1
MOVE TEMP 5 TEMP 6
JUMP L3
L2
MOVE TEMP 7 TEMP 0
HLOAD TEMP 8 TEMP 7 0
HLOAD TEMP 9 TEMP 8 0
MOVE TEMP 10 1
MOVE TEMP 11 MINUS  TEMP 1 TEMP 10
MOVE TEMP 12 CALL TEMP 9 ( TEMP 7  TEMP 11 )
MOVE TEMP 13 TIMES  TEMP 1 TEMP 12
MOVE TEMP 5 TEMP 13
L3
NOOP
RETURN TEMP 5
END
