Average Error: 61.3 → 1.6
Time: 23.5s
Precision: binary64
Cost: 85248
\[-\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{e^{\frac{\pi}{4} \cdot f} - e^{-\frac{\pi}{4} \cdot f}}\right) \]
\[\begin{array}{l} t_0 := \sinh \left(\pi \cdot \left(f \cdot 0.25\right)\right)\\ t_1 := \frac{\pi}{4} \cdot f\\ 0 - \frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{t_1} + e^{-t_1}}{{\left(2 \cdot t_0\right)}^{0.6666666666666666} \cdot \left(\sqrt[3]{t_0} \cdot \sqrt[3]{2}\right)}\right) \end{array} \]
(FPCore (f)
 :precision binary64
 (-
  (*
   (/ 1.0 (/ PI 4.0))
   (log
    (/
     (+ (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f))))
     (- (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f)))))))))
(FPCore (f)
 :precision binary64
 (let* ((t_0 (sinh (* PI (* f 0.25)))) (t_1 (* (/ PI 4.0) f)))
   (-
    0.0
    (*
     (/ 1.0 (/ PI 4.0))
     (log
      (/
       (+ (exp t_1) (exp (- t_1)))
       (* (pow (* 2.0 t_0) 0.6666666666666666) (* (cbrt t_0) (cbrt 2.0)))))))))
double code(double f) {
	return -((1.0 / (((double) M_PI) / 4.0)) * log(((exp(((((double) M_PI) / 4.0) * f)) + exp(-((((double) M_PI) / 4.0) * f))) / (exp(((((double) M_PI) / 4.0) * f)) - exp(-((((double) M_PI) / 4.0) * f))))));
}
double code(double f) {
	double t_0 = sinh((((double) M_PI) * (f * 0.25)));
	double t_1 = (((double) M_PI) / 4.0) * f;
	return 0.0 - ((1.0 / (((double) M_PI) / 4.0)) * log(((exp(t_1) + exp(-t_1)) / (pow((2.0 * t_0), 0.6666666666666666) * (cbrt(t_0) * cbrt(2.0))))));
}
public static double code(double f) {
	return -((1.0 / (Math.PI / 4.0)) * Math.log(((Math.exp(((Math.PI / 4.0) * f)) + Math.exp(-((Math.PI / 4.0) * f))) / (Math.exp(((Math.PI / 4.0) * f)) - Math.exp(-((Math.PI / 4.0) * f))))));
}
public static double code(double f) {
	double t_0 = Math.sinh((Math.PI * (f * 0.25)));
	double t_1 = (Math.PI / 4.0) * f;
	return 0.0 - ((1.0 / (Math.PI / 4.0)) * Math.log(((Math.exp(t_1) + Math.exp(-t_1)) / (Math.pow((2.0 * t_0), 0.6666666666666666) * (Math.cbrt(t_0) * Math.cbrt(2.0))))));
}
function code(f)
	return Float64(-Float64(Float64(1.0 / Float64(pi / 4.0)) * log(Float64(Float64(exp(Float64(Float64(pi / 4.0) * f)) + exp(Float64(-Float64(Float64(pi / 4.0) * f)))) / Float64(exp(Float64(Float64(pi / 4.0) * f)) - exp(Float64(-Float64(Float64(pi / 4.0) * f))))))))
end
function code(f)
	t_0 = sinh(Float64(pi * Float64(f * 0.25)))
	t_1 = Float64(Float64(pi / 4.0) * f)
	return Float64(0.0 - Float64(Float64(1.0 / Float64(pi / 4.0)) * log(Float64(Float64(exp(t_1) + exp(Float64(-t_1))) / Float64((Float64(2.0 * t_0) ^ 0.6666666666666666) * Float64(cbrt(t_0) * cbrt(2.0)))))))
end
code[f_] := (-N[(N[(1.0 / N[(Pi / 4.0), $MachinePrecision]), $MachinePrecision] * N[Log[N[(N[(N[Exp[N[(N[(Pi / 4.0), $MachinePrecision] * f), $MachinePrecision]], $MachinePrecision] + N[Exp[(-N[(N[(Pi / 4.0), $MachinePrecision] * f), $MachinePrecision])], $MachinePrecision]), $MachinePrecision] / N[(N[Exp[N[(N[(Pi / 4.0), $MachinePrecision] * f), $MachinePrecision]], $MachinePrecision] - N[Exp[(-N[(N[(Pi / 4.0), $MachinePrecision] * f), $MachinePrecision])], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision])
code[f_] := Block[{t$95$0 = N[Sinh[N[(Pi * N[(f * 0.25), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[(N[(Pi / 4.0), $MachinePrecision] * f), $MachinePrecision]}, N[(0.0 - N[(N[(1.0 / N[(Pi / 4.0), $MachinePrecision]), $MachinePrecision] * N[Log[N[(N[(N[Exp[t$95$1], $MachinePrecision] + N[Exp[(-t$95$1)], $MachinePrecision]), $MachinePrecision] / N[(N[Power[N[(2.0 * t$95$0), $MachinePrecision], 0.6666666666666666], $MachinePrecision] * N[(N[Power[t$95$0, 1/3], $MachinePrecision] * N[Power[2.0, 1/3], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
-\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{e^{\frac{\pi}{4} \cdot f} - e^{-\frac{\pi}{4} \cdot f}}\right)
\begin{array}{l}
t_0 := \sinh \left(\pi \cdot \left(f \cdot 0.25\right)\right)\\
t_1 := \frac{\pi}{4} \cdot f\\
0 - \frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{t_1} + e^{-t_1}}{{\left(2 \cdot t_0\right)}^{0.6666666666666666} \cdot \left(\sqrt[3]{t_0} \cdot \sqrt[3]{2}\right)}\right)
\end{array}

Error

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 61.3

    \[-\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{e^{\frac{\pi}{4} \cdot f} - e^{-\frac{\pi}{4} \cdot f}}\right) \]
  2. Applied egg-rr1.7

    \[\leadsto -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\color{blue}{\left(\sqrt[3]{2 \cdot \sinh \left(\left(\pi \cdot 0.25\right) \cdot f\right)} \cdot \sqrt[3]{2 \cdot \sinh \left(\left(\pi \cdot 0.25\right) \cdot f\right)}\right) \cdot \sqrt[3]{2 \cdot \sinh \left(\left(\pi \cdot 0.25\right) \cdot f\right)}}}\right) \]
  3. Applied egg-rr1.6

    \[\leadsto -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\color{blue}{{\left(2 \cdot \sinh \left(\pi \cdot \left(0.25 \cdot f\right)\right)\right)}^{0.6666666666666666}} \cdot \sqrt[3]{2 \cdot \sinh \left(\left(\pi \cdot 0.25\right) \cdot f\right)}}\right) \]
  4. Applied egg-rr1.6

    \[\leadsto -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{{\left(2 \cdot \sinh \left(\pi \cdot \left(0.25 \cdot f\right)\right)\right)}^{0.6666666666666666} \cdot \color{blue}{\left(\sqrt[3]{\sinh \left(\pi \cdot \left(0.25 \cdot f\right)\right)} \cdot \sqrt[3]{2}\right)}}\right) \]
  5. Final simplification1.6

    \[\leadsto 0 - \frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{{\left(2 \cdot \sinh \left(\pi \cdot \left(f \cdot 0.25\right)\right)\right)}^{0.6666666666666666} \cdot \left(\sqrt[3]{\sinh \left(\pi \cdot \left(f \cdot 0.25\right)\right)} \cdot \sqrt[3]{2}\right)}\right) \]

Alternatives

Alternative 1
Error1.6
Cost78848
\[\begin{array}{l} t_0 := \frac{\pi}{4} \cdot f\\ 0 - \frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{t_0} + e^{-t_0}}{{\left(2 \cdot \sinh \left(\pi \cdot \left(f \cdot 0.25\right)\right)\right)}^{0.6666666666666666} \cdot \sqrt[3]{2 \cdot \sinh \left(f \cdot \left(\pi \cdot 0.25\right)\right)}}\right) \end{array} \]
Alternative 2
Error1.6
Cost39488
\[\begin{array}{l} t_0 := \pi \cdot \left(f \cdot 0.25\right)\\ \frac{-\log \left(\frac{2 \cdot \cosh t_0}{2 \cdot \sinh t_0}\right)}{\pi \cdot 0.25} \end{array} \]
Alternative 3
Error2.0
Cost39168
\[\mathsf{fma}\left(-4, \frac{\log \left(\frac{4}{\pi}\right) - \log f}{\pi}, f \cdot \left(f \cdot \left(\pi \cdot -0.08333333333333333\right)\right)\right) \]
Alternative 4
Error2.0
Cost32640
\[\frac{-4 \cdot \log \left(\mathsf{fma}\left(f, \pi \cdot 0.08333333333333333, \frac{\frac{4}{\pi}}{f}\right)\right)}{\pi} \]
Alternative 5
Error2.4
Cost19648
\[\frac{-4}{\frac{\pi}{\log \left(\frac{4}{\pi \cdot f}\right)}} \]
Alternative 6
Error2.3
Cost19648
\[\frac{-4 \cdot \log \left(\frac{4}{\pi \cdot f}\right)}{\pi} \]

Error

Reproduce

herbie shell --seed 2022298 
(FPCore (f)
  :name "VandenBroeck and Keller, Equation (20)"
  :precision binary64
  (- (* (/ 1.0 (/ PI 4.0)) (log (/ (+ (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f)))) (- (exp (* (/ PI 4.0) f)) (exp (- (* (/ PI 4.0) f)))))))))