?

Average Error: 61.6 → 2.5
Time: 19.8s
Precision: binary64
Cost: 26176

?

\[-\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) \]
\[-4 \cdot \frac{\log \left(\frac{2}{\pi \cdot 0.5}\right) - \log f}{\pi} \]
(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
 (* -4.0 (/ (- (log (/ 2.0 (* PI 0.5))) (log f)) PI)))
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) {
	return -4.0 * ((log((2.0 / (((double) M_PI) * 0.5))) - log(f)) / ((double) M_PI));
}
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) {
	return -4.0 * ((Math.log((2.0 / (Math.PI * 0.5))) - Math.log(f)) / Math.PI);
}
def code(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))))))
def code(f):
	return -4.0 * ((math.log((2.0 / (math.pi * 0.5))) - math.log(f)) / math.pi)
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)
	return Float64(-4.0 * Float64(Float64(log(Float64(2.0 / Float64(pi * 0.5))) - log(f)) / pi))
end
function tmp = code(f)
	tmp = -((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))))));
end
function tmp = code(f)
	tmp = -4.0 * ((log((2.0 / (pi * 0.5))) - log(f)) / pi);
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_] := N[(-4.0 * N[(N[(N[Log[N[(2.0 / N[(Pi * 0.5), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] - N[Log[f], $MachinePrecision]), $MachinePrecision] / Pi), $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)
-4 \cdot \frac{\log \left(\frac{2}{\pi \cdot 0.5}\right) - \log f}{\pi}

Error?

Try it out?

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation?

  1. Initial program 61.6

    \[-\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. Simplified61.6

    \[\leadsto \color{blue}{\log \left(\frac{{\left(e^{f}\right)}^{\left(\frac{\pi}{4}\right)} + {\left(e^{-0.25 \cdot \pi}\right)}^{f}}{{\left(e^{f}\right)}^{\left(\frac{\pi}{4}\right)} - {\left(e^{-0.25 \cdot \pi}\right)}^{f}}\right) \cdot \frac{-4}{\pi}} \]
    Proof

    [Start]61.6

    \[ -\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) \]

    *-commutative [=>]61.6

    \[ -\color{blue}{\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) \cdot \frac{1}{\frac{\pi}{4}}} \]

    distribute-rgt-neg-in [=>]61.6

    \[ \color{blue}{\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) \cdot \left(-\frac{1}{\frac{\pi}{4}}\right)} \]
  3. Taylor expanded in f around 0 2.5

    \[\leadsto \color{blue}{-4 \cdot \frac{\log \left(\frac{2}{0.25 \cdot \pi - -0.25 \cdot \pi}\right) + -1 \cdot \log f}{\pi}} \]
  4. Simplified2.5

    \[\leadsto \color{blue}{-4 \cdot \frac{\log \left(\frac{2}{\pi \cdot 0.5}\right) - \log f}{\pi}} \]
    Proof

    [Start]2.5

    \[ -4 \cdot \frac{\log \left(\frac{2}{0.25 \cdot \pi - -0.25 \cdot \pi}\right) + -1 \cdot \log f}{\pi} \]

    mul-1-neg [=>]2.5

    \[ -4 \cdot \frac{\log \left(\frac{2}{0.25 \cdot \pi - -0.25 \cdot \pi}\right) + \color{blue}{\left(-\log f\right)}}{\pi} \]

    unsub-neg [=>]2.5

    \[ -4 \cdot \frac{\color{blue}{\log \left(\frac{2}{0.25 \cdot \pi - -0.25 \cdot \pi}\right) - \log f}}{\pi} \]

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

    \[ -4 \cdot \frac{\log \left(\frac{2}{\color{blue}{\pi \cdot \left(0.25 - -0.25\right)}}\right) - \log f}{\pi} \]

    metadata-eval [=>]2.5

    \[ -4 \cdot \frac{\log \left(\frac{2}{\pi \cdot \color{blue}{0.5}}\right) - \log f}{\pi} \]
  5. Final simplification2.5

    \[\leadsto -4 \cdot \frac{\log \left(\frac{2}{\pi \cdot 0.5}\right) - \log f}{\pi} \]

Alternatives

Alternative 1
Error2.6
Cost26048
\[-4 \cdot \frac{\log 4 - \log \left(\pi \cdot f\right)}{\pi} \]
Alternative 2
Error2.6
Cost26048
\[\left(\log \left(\frac{4}{\pi}\right) - \log f\right) \cdot \frac{-4}{\pi} \]
Alternative 3
Error2.6
Cost19648
\[-4 \cdot \frac{\log \left(\frac{4}{\pi \cdot f}\right)}{\pi} \]
Alternative 4
Error2.6
Cost19648
\[\log \left(\frac{\pi \cdot f}{4}\right) \cdot \frac{4}{\pi} \]
Alternative 5
Error64.0
Cost13184
\[\frac{\log \left(\frac{2}{0}\right)}{\frac{\pi}{-4}} \]

Error

Reproduce?

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