// sin(x) = x - x^3/3! + x^5/5! - x^7/7! + …… double teller_sin( double x ) { double result = 0; double tmp = x; for( size_t i=0; i!=30; ++i ) { result += tmp; tmp *= -x * x / (2*i+2) / (2*i+3); } return result; }