?

Average Accuracy: 3.9% → 98.4%
Time: 19.9s
Precision: binary64
Cost: 104644

?

\[-\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 := \frac{\pi}{4} \cdot f\\ \mathbf{if}\;t_0 \leq 100:\\ \;\;\;\;\log \left(\frac{e^{t_0} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, {\pi}^{3} \cdot \left(0.005208333333333333 \cdot {f}^{3}\right)\right)\right)}\right) \cdot \frac{-1}{\frac{\pi}{4}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{\pi}{4}} \cdot 0\\ \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 (* (/ PI 4.0) f)))
   (if (<= t_0 100.0)
     (*
      (log
       (/
        (+ (exp t_0) (exp (* (/ PI 4.0) (- f))))
        (fma
         (pow f 5.0)
         (* (pow PI 5.0) 1.6276041666666666e-5)
         (fma
          (* PI 0.5)
          f
          (* (pow PI 3.0) (* 0.005208333333333333 (pow f 3.0)))))))
      (/ -1.0 (/ PI 4.0)))
     (* (/ 1.0 (/ PI 4.0)) 0.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 = (((double) M_PI) / 4.0) * f;
	double tmp;
	if (t_0 <= 100.0) {
		tmp = log(((exp(t_0) + exp(((((double) M_PI) / 4.0) * -f))) / fma(pow(f, 5.0), (pow(((double) M_PI), 5.0) * 1.6276041666666666e-5), fma((((double) M_PI) * 0.5), f, (pow(((double) M_PI), 3.0) * (0.005208333333333333 * pow(f, 3.0))))))) * (-1.0 / (((double) M_PI) / 4.0));
	} else {
		tmp = (1.0 / (((double) M_PI) / 4.0)) * 0.0;
	}
	return tmp;
}
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 = Float64(Float64(pi / 4.0) * f)
	tmp = 0.0
	if (t_0 <= 100.0)
		tmp = Float64(log(Float64(Float64(exp(t_0) + exp(Float64(Float64(pi / 4.0) * Float64(-f)))) / fma((f ^ 5.0), Float64((pi ^ 5.0) * 1.6276041666666666e-5), fma(Float64(pi * 0.5), f, Float64((pi ^ 3.0) * Float64(0.005208333333333333 * (f ^ 3.0))))))) * Float64(-1.0 / Float64(pi / 4.0)));
	else
		tmp = Float64(Float64(1.0 / Float64(pi / 4.0)) * 0.0);
	end
	return tmp
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[(N[(Pi / 4.0), $MachinePrecision] * f), $MachinePrecision]}, If[LessEqual[t$95$0, 100.0], N[(N[Log[N[(N[(N[Exp[t$95$0], $MachinePrecision] + N[Exp[N[(N[(Pi / 4.0), $MachinePrecision] * (-f)), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[(N[Power[f, 5.0], $MachinePrecision] * N[(N[Power[Pi, 5.0], $MachinePrecision] * 1.6276041666666666e-5), $MachinePrecision] + N[(N[(Pi * 0.5), $MachinePrecision] * f + N[(N[Power[Pi, 3.0], $MachinePrecision] * N[(0.005208333333333333 * N[Power[f, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] * N[(-1.0 / N[(Pi / 4.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(N[(1.0 / N[(Pi / 4.0), $MachinePrecision]), $MachinePrecision] * 0.0), $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 := \frac{\pi}{4} \cdot f\\
\mathbf{if}\;t_0 \leq 100:\\
\;\;\;\;\log \left(\frac{e^{t_0} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, {\pi}^{3} \cdot \left(0.005208333333333333 \cdot {f}^{3}\right)\right)\right)}\right) \cdot \frac{-1}{\frac{\pi}{4}}\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{\pi}{4}} \cdot 0\\


\end{array}

Error?

Derivation?

  1. Split input into 2 regimes
  2. if (*.f64 (/.f64 (PI.f64) 4) f) < 100

    1. Initial program 3.8%

      \[-\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. Taylor expanded in f around 0 98.5%

      \[\leadsto -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\color{blue}{{f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right) + \left(\left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}}\right) \]
    3. Simplified98.5%

      \[\leadsto -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\color{blue}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, {\pi}^{3} \cdot \left(0.005208333333333333 \cdot {f}^{3}\right)\right)\right)}}\right) \]
      Proof

      [Start]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{{f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right) + \left(\left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}\right) \]

      fma-def [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\color{blue}{\mathsf{fma}\left({f}^{5}, 8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}, \left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}}\right) \]

      distribute-rgt-out-- [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, \color{blue}{{\pi}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} - -8.138020833333333 \cdot 10^{-6}\right)}, \left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}\right) \]

      metadata-eval [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot \color{blue}{1.6276041666666666 \cdot 10^{-5}}, \left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}\right) \]

      fma-def [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \color{blue}{\mathsf{fma}\left(0.25 \cdot \pi - -0.25 \cdot \pi, f, {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}\right)}\right) \]

      distribute-rgt-out-- [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\color{blue}{\pi \cdot \left(0.25 - -0.25\right)}, f, {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)\right)}\right) \]

      metadata-eval [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot \color{blue}{0.5}, f, {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)\right)}\right) \]

      *-commutative [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, \color{blue}{\left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right) \cdot {f}^{3}}\right)\right)}\right) \]

      distribute-rgt-out-- [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, \color{blue}{\left({\pi}^{3} \cdot \left(0.0026041666666666665 - -0.0026041666666666665\right)\right)} \cdot {f}^{3}\right)\right)}\right) \]

      associate-*l* [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, \color{blue}{{\pi}^{3} \cdot \left(\left(0.0026041666666666665 - -0.0026041666666666665\right) \cdot {f}^{3}\right)}\right)\right)}\right) \]

      metadata-eval [=>]98.5

      \[ -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, {\pi}^{3} \cdot \left(\color{blue}{0.005208333333333333} \cdot {f}^{3}\right)\right)\right)}\right) \]

    if 100 < (*.f64 (/.f64 (PI.f64) 4) f)

    1. Initial program 8.2%

      \[-\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-rr0.5%

      \[\leadsto -\frac{1}{\frac{\pi}{4}} \cdot \log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{-\frac{\pi}{4} \cdot f}}{\color{blue}{64}}\right) \]
      Proof
    3. No proof available- proof too large to flatten.
    4. Applied egg-rr95.0%

      \[\leadsto -\frac{1}{\frac{\pi}{4}} \cdot \color{blue}{0} \]
      Proof
    5. No proof available- proof too large to flatten.
  3. Recombined 2 regimes into one program.
  4. Final simplification98.4%

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\pi}{4} \cdot f \leq 100:\\ \;\;\;\;\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\mathsf{fma}\left({f}^{5}, {\pi}^{5} \cdot 1.6276041666666666 \cdot 10^{-5}, \mathsf{fma}\left(\pi \cdot 0.5, f, {\pi}^{3} \cdot \left(0.005208333333333333 \cdot {f}^{3}\right)\right)\right)}\right) \cdot \frac{-1}{\frac{\pi}{4}}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{\pi}{4}} \cdot 0\\ \end{array} \]

Alternatives

Alternative 1
Accuracy96.2%
Cost45632
\[\frac{\frac{\log f - \mathsf{fma}\left(0.020833333333333332, \left(f \cdot f\right) \cdot {\pi}^{2}, \log \left(\frac{4}{\pi}\right)\right)}{\pi}}{0.25} \]
Alternative 2
Accuracy96.2%
Cost32896
\[\frac{\frac{\log f - \log \left(\frac{4}{\pi}\right)}{\pi} - \pi \cdot \left(0.020833333333333332 \cdot \left(f \cdot f\right)\right)}{0.25} \]
Alternative 3
Accuracy95.7%
Cost26496
\[\log \left(\frac{4}{\pi \cdot f} + \left(\pi \cdot f\right) \cdot 0.125\right) \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 4
Accuracy95.7%
Cost26048
\[\frac{4 \cdot \left(\log f - \log \left(\frac{4}{\pi}\right)\right)}{\pi} \]
Alternative 5
Accuracy95.5%
Cost19712
\[\log \left(\frac{4}{\pi \cdot f}\right) \cdot \frac{-4}{\pi} \]
Alternative 6
Accuracy95.5%
Cost19712
\[\frac{4}{\pi} \cdot \left(-\log \left(\frac{\frac{4}{f}}{\pi}\right)\right) \]
Alternative 7
Accuracy95.6%
Cost19712
\[\frac{4 \cdot \left(-\log \left(\frac{\frac{4}{f}}{\pi}\right)\right)}{\pi} \]
Alternative 8
Accuracy5.3%
Cost6784
\[\frac{1}{\frac{\pi}{4}} \cdot 0 \]
Alternative 9
Accuracy11.2%
Cost6784
\[3.814697265625 \cdot 10^{-6} \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 10
Accuracy11.8%
Cost6784
\[0.000244140625 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 11
Accuracy13.1%
Cost6784
\[0.125 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 12
Accuracy14.5%
Cost6784
\[4 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 13
Accuracy14.6%
Cost6784
\[5 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 14
Accuracy14.9%
Cost6784
\[8 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 15
Accuracy15.4%
Cost6784
\[16 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 16
Accuracy15.9%
Cost6784
\[27 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 17
Accuracy16.1%
Cost6784
\[32 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 18
Accuracy16.9%
Cost6784
\[64 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 19
Accuracy16.9%
Cost6784
\[65 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 20
Accuracy19.0%
Cost6784
\[256 \cdot \frac{-1}{\frac{\pi}{4}} \]
Alternative 21
Accuracy19.8%
Cost6784
\[512 \cdot \frac{-1}{\frac{\pi}{4}} \]

Error

Reproduce?

herbie shell --seed 2023152 
(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)))))))))