Average Error: 0.1 → 0.1
Time: 1.2min
Precision: binary64
Cost: 13376
\[0 \leq e \land e \leq 1\]
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
\frac{e \cdot \sin v}{1 + e \cdot \cos v}
\frac{e \cdot \sin v}{1 + e \cdot \cos v}
(FPCore (e v) :precision binary64 (/ (* e (sin v)) (+ 1.0 (* e (cos v)))))
(FPCore (e v) :precision binary64 (/ (* e (sin v)) (+ 1.0 (* e (cos v)))))
double code(double e, double v) {
	return (e * sin(v)) / (1.0 + (e * cos(v)));
}
double code(double e, double v) {
	return (e * sin(v)) / (1.0 + (e * cos(v)));
}

Error

Bits error versus e

Bits error versus v

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Alternatives

Alternative 1
Error0.7
Cost6848
\[\frac{e \cdot \sin v}{e + 1}\]
Alternative 2
Error0.9
Cost6920
\[\begin{array}{l} \mathbf{if}\;v \leq -2.525009993185636 \cdot 10^{-08} \lor \neg \left(v \leq 1.0333955396779683 \cdot 10^{-140}\right):\\ \;\;\;\;e \cdot \sin v\\ \mathbf{else}:\\ \;\;\;\;\frac{e \cdot v}{e + 1}\\ \end{array}\]
Alternative 3
Error31.4
Cost448
\[\frac{e \cdot v}{e + 1}\]
Alternative 4
Error31.5
Cost448
\[\frac{e}{\frac{e + 1}{v}}\]
Alternative 5
Error31.8
Cost448
\[e \cdot \left(v - e \cdot v\right)\]
Alternative 6
Error32.1
Cost192
\[e \cdot v\]
Alternative 7
Error45.7
Cost64
\[0\]
Alternative 8
Error61.1
Cost64
\[v\]

Error

Time

Derivation

  1. Initial program 0.1

    \[\frac{e \cdot \sin v}{1 + e \cdot \cos v}\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt_binary64_44125.0

    \[\leadsto \color{blue}{\sqrt{\frac{e \cdot \sin v}{1 + e \cdot \cos v}} \cdot \sqrt{\frac{e \cdot \sin v}{1 + e \cdot \cos v}}}\]
  4. Simplified25.0

    \[\leadsto \color{blue}{\sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}}} \cdot \sqrt{\frac{e \cdot \sin v}{1 + e \cdot \cos v}}\]
  5. Simplified25.0

    \[\leadsto \sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}} \cdot \color{blue}{\sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity_binary64_41925.0

    \[\leadsto \sqrt{\color{blue}{1 \cdot \frac{e \cdot \sin v}{e \cdot \cos v + 1}}} \cdot \sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}}\]
  8. Applied sqrt-prod_binary64_43525.0

    \[\leadsto \color{blue}{\left(\sqrt{1} \cdot \sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}}\right)} \cdot \sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}}\]
  9. Applied associate-*l*_binary64_36025.0

    \[\leadsto \color{blue}{\sqrt{1} \cdot \left(\sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}} \cdot \sqrt{\frac{e \cdot \sin v}{e \cdot \cos v + 1}}\right)}\]
  10. Simplified0.1

    \[\leadsto \sqrt{1} \cdot \color{blue}{\frac{e \cdot \sin v}{e \cdot \cos v + 1}}\]
  11. Simplified0.1

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

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

Reproduce

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