Average Error: 0.1 → 0.1
Time: 18.9s
Precision: 64
\[0 \le e \le 1\]
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
\[\left(e \cdot \frac{\sin v}{\mathsf{fma}\left(\left(e \cdot \cos v\right), \left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right)\right), 1\right)}\right) \cdot \left(\left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right) - e \cdot \cos v\right) + 1\right)\]
\frac{e \cdot \sin v}{1 + e \cdot \cos v}
\left(e \cdot \frac{\sin v}{\mathsf{fma}\left(\left(e \cdot \cos v\right), \left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right)\right), 1\right)}\right) \cdot \left(\left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right) - e \cdot \cos v\right) + 1\right)
double f(double e, double v) {
        double r716756 = e;
        double r716757 = v;
        double r716758 = sin(r716757);
        double r716759 = r716756 * r716758;
        double r716760 = 1.0;
        double r716761 = cos(r716757);
        double r716762 = r716756 * r716761;
        double r716763 = r716760 + r716762;
        double r716764 = r716759 / r716763;
        return r716764;
}

double f(double e, double v) {
        double r716765 = e;
        double r716766 = v;
        double r716767 = sin(r716766);
        double r716768 = cos(r716766);
        double r716769 = r716765 * r716768;
        double r716770 = r716769 * r716769;
        double r716771 = 1.0;
        double r716772 = fma(r716769, r716770, r716771);
        double r716773 = r716767 / r716772;
        double r716774 = r716765 * r716773;
        double r716775 = r716770 - r716769;
        double r716776 = r716775 + r716771;
        double r716777 = r716774 * r716776;
        return r716777;
}

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}{\left(\frac{\sin v}{\mathsf{fma}\left(\left(e \cdot \cos v\right), \left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right)\right), 1\right)} \cdot e\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 \left(e \cdot \frac{\sin v}{\mathsf{fma}\left(\left(e \cdot \cos v\right), \left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right)\right), 1\right)}\right) \cdot \left(\left(\left(e \cdot \cos v\right) \cdot \left(e \cdot \cos v\right) - e \cdot \cos v\right) + 1\right)\]

Reproduce

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