\frac{e \cdot \sin v}{1 + e \cdot \cos v}\sin v \cdot \frac{e}{1 + \cos v \cdot e}double f(double e, double v) {
double r994817 = e;
double r994818 = v;
double r994819 = sin(r994818);
double r994820 = r994817 * r994819;
double r994821 = 1.0;
double r994822 = cos(r994818);
double r994823 = r994817 * r994822;
double r994824 = r994821 + r994823;
double r994825 = r994820 / r994824;
return r994825;
}
double f(double e, double v) {
double r994826 = v;
double r994827 = sin(r994826);
double r994828 = e;
double r994829 = 1.0;
double r994830 = cos(r994826);
double r994831 = r994830 * r994828;
double r994832 = r994829 + r994831;
double r994833 = r994828 / r994832;
double r994834 = r994827 * r994833;
return r994834;
}



Bits error versus e



Bits error versus v
Results
Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied associate-/r*0.1
rmApplied *-commutative0.1
Applied associate-/l*0.3
Applied associate-/l/0.3
Simplified0.3
rmApplied div-inv0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019158
(FPCore (e v)
:name "Trigonometry A"
:pre (<= 0 e 1)
(/ (* e (sin v)) (+ 1 (* e (cos v)))))