Average Error: 0.1 → 0.1
Time: 7.4s
Precision: binary64
Cost: 26304
\[0 \leq e \land e \leq 1\]
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v} \]
\[\frac{e \cdot \sin v}{1 + \log \left(1 + \mathsf{expm1}\left(e \cdot \cos v\right)\right)} \]
(FPCore (e v) :precision binary64 (/ (* e (sin v)) (+ 1.0 (* e (cos v)))))
(FPCore (e v)
 :precision binary64
 (/ (* e (sin v)) (+ 1.0 (log (+ 1.0 (expm1 (* 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 + log((1.0 + expm1((e * cos(v))))));
}
public static double code(double e, double v) {
	return (e * Math.sin(v)) / (1.0 + (e * Math.cos(v)));
}
public static double code(double e, double v) {
	return (e * Math.sin(v)) / (1.0 + Math.log((1.0 + Math.expm1((e * Math.cos(v))))));
}
def code(e, v):
	return (e * math.sin(v)) / (1.0 + (e * math.cos(v)))
def code(e, v):
	return (e * math.sin(v)) / (1.0 + math.log((1.0 + math.expm1((e * math.cos(v))))))
function code(e, v)
	return Float64(Float64(e * sin(v)) / Float64(1.0 + Float64(e * cos(v))))
end
function code(e, v)
	return Float64(Float64(e * sin(v)) / Float64(1.0 + log(Float64(1.0 + expm1(Float64(e * cos(v)))))))
end
code[e_, v_] := N[(N[(e * N[Sin[v], $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[(e * N[Cos[v], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[e_, v_] := N[(N[(e * N[Sin[v], $MachinePrecision]), $MachinePrecision] / N[(1.0 + N[Log[N[(1.0 + N[(Exp[N[(e * N[Cos[v], $MachinePrecision]), $MachinePrecision]] - 1), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{e \cdot \sin v}{1 + e \cdot \cos v}
\frac{e \cdot \sin v}{1 + \log \left(1 + \mathsf{expm1}\left(e \cdot \cos v\right)\right)}

Error

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. Applied egg-rr0.1

    \[\leadsto \frac{e \cdot \sin v}{1 + \color{blue}{\log \left(1 + \mathsf{expm1}\left(e \cdot \cos v\right)\right)}} \]
  3. Final simplification0.1

    \[\leadsto \frac{e \cdot \sin v}{1 + \log \left(1 + \mathsf{expm1}\left(e \cdot \cos v\right)\right)} \]

Alternatives

Alternative 1
Error0.1
Cost13376
\[e \cdot \frac{\sin v}{1 + e \cdot \cos v} \]
Alternative 2
Error0.1
Cost13376
\[\frac{e \cdot \sin v}{1 + e \cdot \cos v} \]
Alternative 3
Error0.2
Cost13248
\[\frac{\sin v}{\cos v + \frac{1}{e}} \]
Alternative 4
Error0.9
Cost6848
\[\frac{e}{\frac{e + 1}{\sin v}} \]
Alternative 5
Error1.4
Cost6592
\[e \cdot \sin v \]
Alternative 6
Error29.3
Cost448
\[\frac{e}{\frac{1}{v} + -1} \]
Alternative 7
Error31.6
Cost192
\[e \cdot v \]
Alternative 8
Error61.1
Cost64
\[v \]

Error

Reproduce

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