function main() { print( factorial(7) ); return 0; } // Calculates the factorial function factorial( var n ) { if ( n == 0 ) return 1; return n * factorial(n-1); } // Approximates sine based on Taylor expansion function sineApprox( var val, var n ) { var i = 0; var result = 0.0; while ( i < n ) { var x = 2*i + 1; var sign = pow( -1.0, i ); var num = pow( val, x ); var denom = factorial(x); result = sign * num / denom; i = i + 1; } return result; } function pow( var val, var pow ) { if ( pow == 0 ) return 1; return val * pow( val, pow - 1 ); }