#include double erf_log(double number, double error, double result) { long double precise = logl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_exp(double number, double error, double result) { long double precise = expl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_pow(double n1, double e1, double n2, double e2, double result) { long double precise = powl((long double)n1 + (long double)e1, (long double)n2 + (long double)e2); return (double) (precise - (long double)result); } double erf_sin(double number, double error, double result) { long double precise = sinl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_cos(double number, double error, double result) { long double precise = cosl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_tan(double number, double error, double result) { long double precise = tanl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_asin(double number, double error, double result) { long double precise = asinl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_acos(double number, double error, double result) { long double precise = acosl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_atan(double number, double error, double result) { long double precise = atanl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_sinh(double number, double error, double result) { long double precise = sinhl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_cosh(double number, double error, double result) { long double precise = coshl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_tanh(double number, double error, double result) { long double precise = tanhl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_asinh(double number, double error, double result) { long double precise = asinhl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_acosh(double number, double error, double result) { long double precise = acoshl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_atanh(double number, double error, double result) { long double precise = atanhl((long double)number + (long double)error); return (double) (precise - (long double)result); } double erf_atan2(double n1, double e1, double n2, double e2, double result) { long double precise = atan2l((long double)n1 + (long double)e1, (long double)n2 + (long double)e2); return (double) (precise - (long double)result); }