LetExp([ FunctionDec[ (odd,[ (n,false,int)], SOME(int), IfExp( OpExp(EqOp, VarExp( SimpleVar(n)), IntExp(0)), IntExp(0), IfExp( OpExp(EqOp, VarExp( SimpleVar(n)), IntExp(1)), IntExp(1), CallExp(even,[ OpExp(MinusOp, VarExp( SimpleVar(n)), IntExp(1))])))), (even,[ (n,false,int)], SOME(int), IfExp( OpExp(EqOp, VarExp( SimpleVar(n)), IntExp(0)), IntExp(1), CallExp(odd,[ OpExp(MinusOp, VarExp( SimpleVar(n)), IntExp(1))])))]], IfExp( CallExp(odd,[ IntExp(5)]), CallExp(print,[ StringExp("5 is odd ")]), CallExp(print,[ StringExp("5 is even ")])))