double f(double x) {
double r2300892 = 1.0;
double r2300893 = x;
double r2300894 = cos(r2300893);
double r2300895 = r2300892 - r2300894;
double r2300896 = sin(r2300893);
double r2300897 = r2300895 / r2300896;
return r2300897;
}
double f(double x) {
double r2300898 = x;
double r2300899 = 2.0;
double r2300900 = r2300898 / r2300899;
double r2300901 = tan(r2300900);
return r2300901;
}
\frac{1 - \cos x}{\sin x}\tan \left(\frac{x}{2}\right)



Bits error versus x
| Original | 30.1 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 30.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019102 +o rules:numerics
(FPCore (x)
:name "tanhf (example 3.4)"
:herbie-expected 2
:herbie-target
(tan (/ x 2))
(/ (- 1 (cos x)) (sin x)))