Average Error: 0.1 → 0.1
Time: 41.4s
Precision: 64
\[0 \le e \le 1\]
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
\[\frac{e \cdot \sin v}{\mathsf{fma}\left(\left(\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right)\right), \left(\cos v \cdot e\right), 1\right)} \cdot \left(1 + \left(\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right) - \cos v \cdot e\right)\right)\]
\frac{e \cdot \sin v}{1 + e \cdot \cos v}
\frac{e \cdot \sin v}{\mathsf{fma}\left(\left(\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right)\right), \left(\cos v \cdot e\right), 1\right)} \cdot \left(1 + \left(\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right) - \cos v \cdot e\right)\right)
double f(double e, double v) {
        double r1562274 = e;
        double r1562275 = v;
        double r1562276 = sin(r1562275);
        double r1562277 = r1562274 * r1562276;
        double r1562278 = 1.0;
        double r1562279 = cos(r1562275);
        double r1562280 = r1562274 * r1562279;
        double r1562281 = r1562278 + r1562280;
        double r1562282 = r1562277 / r1562281;
        return r1562282;
}

double f(double e, double v) {
        double r1562283 = e;
        double r1562284 = v;
        double r1562285 = sin(r1562284);
        double r1562286 = r1562283 * r1562285;
        double r1562287 = cos(r1562284);
        double r1562288 = r1562287 * r1562283;
        double r1562289 = r1562288 * r1562288;
        double r1562290 = 1.0;
        double r1562291 = fma(r1562289, r1562288, r1562290);
        double r1562292 = r1562286 / r1562291;
        double r1562293 = r1562289 - r1562288;
        double r1562294 = r1562290 + r1562293;
        double r1562295 = r1562292 * r1562294;
        return r1562295;
}

Error

Bits error versus e

Bits error versus v

Derivation

  1. Initial program 0.1

    \[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
  2. Using strategy rm
  3. Applied flip3-+0.1

    \[\leadsto \frac{e \cdot \sin v}{\color{blue}{\frac{{1}^{3} + {\left(e \cdot \cos v\right)}^{3}}{1 \cdot 1 + \left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right) - 1 \cdot \left(e \cdot \cos v\right)\right)}}}\]
  4. Applied associate-/r/0.1

    \[\leadsto \color{blue}{\frac{e \cdot \sin v}{{1}^{3} + {\left(e \cdot \cos v\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right) - 1 \cdot \left(e \cdot \cos v\right)\right)\right)}\]
  5. Simplified0.1

    \[\leadsto \color{blue}{\frac{e \cdot \sin v}{\mathsf{fma}\left(\left(\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right)\right), \left(\cos v \cdot e\right), 1\right)}} \cdot \left(1 \cdot 1 + \left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right) - 1 \cdot \left(e \cdot \cos v\right)\right)\right)\]
  6. Final simplification0.1

    \[\leadsto \frac{e \cdot \sin v}{\mathsf{fma}\left(\left(\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right)\right), \left(\cos v \cdot e\right), 1\right)} \cdot \left(1 + \left(\left(\cos v \cdot e\right) \cdot \left(\cos v \cdot e\right) - \cos v \cdot e\right)\right)\]

Reproduce

herbie shell --seed 2019125 +o rules:numerics
(FPCore (e v)
  :name "Trigonometry A"
  :pre (<= 0 e 1)
  (/ (* e (sin v)) (+ 1 (* e (cos v)))))