\frac{e \cdot \sin v}{1 + e \cdot \cos v}\frac{\sin v \cdot \sqrt{\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right) + \left(1 - \cos v \cdot e\right)}}{\sqrt{\cos v \cdot e + 1}} \cdot \frac{e}{\sqrt{1 + {\left(\cos v \cdot e\right)}^{3}}}double f(double e, double v) {
double r880903 = e;
double r880904 = v;
double r880905 = sin(r880904);
double r880906 = r880903 * r880905;
double r880907 = 1.0;
double r880908 = cos(r880904);
double r880909 = r880903 * r880908;
double r880910 = r880907 + r880909;
double r880911 = r880906 / r880910;
return r880911;
}
double f(double e, double v) {
double r880912 = v;
double r880913 = sin(r880912);
double r880914 = cos(r880912);
double r880915 = e;
double r880916 = r880914 * r880915;
double r880917 = r880916 * r880916;
double r880918 = 1.0;
double r880919 = r880918 - r880916;
double r880920 = r880917 + r880919;
double r880921 = sqrt(r880920);
double r880922 = r880913 * r880921;
double r880923 = r880916 + r880918;
double r880924 = sqrt(r880923);
double r880925 = r880922 / r880924;
double r880926 = 3.0;
double r880927 = pow(r880916, r880926);
double r880928 = r880918 + r880927;
double r880929 = sqrt(r880928);
double r880930 = r880915 / r880929;
double r880931 = r880925 * r880930;
return r880931;
}



Bits error versus e



Bits error versus v
Results
Initial program 0.1
rmApplied add-sqr-sqrt0.2
Applied times-frac0.2
rmApplied flip3-+0.1
Applied sqrt-div0.1
Applied associate-/r/0.1
Applied associate-*l*0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019139
(FPCore (e v)
:name "Trigonometry A"
:pre (<= 0 e 1)
(/ (* e (sin v)) (+ 1 (* e (cos v)))))