Average Error: 0.1 → 0.1
Time: 15.8s
Precision: 64
\[0.0 \le e \le 1\]
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
\[\sin v \cdot \frac{e}{e \cdot \cos v + 1}\]
\frac{e \cdot \sin v}{1 + e \cdot \cos v}
\sin v \cdot \frac{e}{e \cdot \cos v + 1}
double f(double e, double v) {
        double r23296 = e;
        double r23297 = v;
        double r23298 = sin(r23297);
        double r23299 = r23296 * r23298;
        double r23300 = 1.0;
        double r23301 = cos(r23297);
        double r23302 = r23296 * r23301;
        double r23303 = r23300 + r23302;
        double r23304 = r23299 / r23303;
        return r23304;
}

double f(double e, double v) {
        double r23305 = v;
        double r23306 = sin(r23305);
        double r23307 = e;
        double r23308 = cos(r23305);
        double r23309 = r23307 * r23308;
        double r23310 = 1.0;
        double r23311 = r23309 + r23310;
        double r23312 = r23307 / r23311;
        double r23313 = r23306 * r23312;
        return r23313;
}

Error

Bits error versus e

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\frac{e}{\frac{\cos v \cdot e + 1}{\sin v}}}\]
  3. Using strategy rm
  4. Applied associate-/r/0.1

    \[\leadsto \color{blue}{\frac{e}{\cos v \cdot e + 1} \cdot \sin v}\]
  5. Final simplification0.1

    \[\leadsto \sin v \cdot \frac{e}{e \cdot \cos v + 1}\]

Reproduce

herbie shell --seed 2019195 
(FPCore (e v)
  :name "Trigonometry A"
  :pre (<= 0.0 e 1.0)
  (/ (* e (sin v)) (+ 1.0 (* e (cos v)))))