\frac{e \cdot \sin v}{1 + e \cdot \cos v}\frac{e \cdot \sin v}{1 + \log \left(e^{e \cdot \cos v}\right)}double f(double e, double v) {
double r9528 = e;
double r9529 = v;
double r9530 = sin(r9529);
double r9531 = r9528 * r9530;
double r9532 = 1.0;
double r9533 = cos(r9529);
double r9534 = r9528 * r9533;
double r9535 = r9532 + r9534;
double r9536 = r9531 / r9535;
return r9536;
}
double f(double e, double v) {
double r9537 = e;
double r9538 = v;
double r9539 = sin(r9538);
double r9540 = r9537 * r9539;
double r9541 = 1.0;
double r9542 = cos(r9538);
double r9543 = r9537 * r9542;
double r9544 = exp(r9543);
double r9545 = log(r9544);
double r9546 = r9541 + r9545;
double r9547 = r9540 / r9546;
return r9547;
}



Bits error versus e



Bits error versus v
Results
Initial program 0.1
rmApplied add-log-exp0.1
Final simplification0.1
herbie shell --seed 2020083 +o rules:numerics
(FPCore (e v)
:name "Trigonometry A"
:precision binary64
:pre (<= 0.0 e 1)
(/ (* e (sin v)) (+ 1 (* e (cos v)))))