| Alternative 1 | |
|---|---|
| Error | 2.1 |
| Cost | 26368 |
\[\log \left(0.08333333333333333 \cdot \left(f \cdot \pi\right) + \frac{4}{f \cdot \pi}\right) \cdot \frac{-4}{\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 (/ (/ (log (+ (* 0.08333333333333333 (* PI f)) (/ 4.0 (* PI f)))) PI) -0.25))
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 (log(((0.08333333333333333 * (((double) M_PI) * f)) + (4.0 / (((double) M_PI) * f)))) / ((double) M_PI)) / -0.25;
}
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 (Math.log(((0.08333333333333333 * (Math.PI * f)) + (4.0 / (Math.PI * f)))) / Math.PI) / -0.25;
}
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 (math.log(((0.08333333333333333 * (math.pi * f)) + (4.0 / (math.pi * f)))) / math.pi) / -0.25
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(Float64(log(Float64(Float64(0.08333333333333333 * Float64(pi * f)) + Float64(4.0 / Float64(pi * f)))) / pi) / -0.25) 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 = (log(((0.08333333333333333 * (pi * f)) + (4.0 / (pi * f)))) / pi) / -0.25; 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[(N[(N[Log[N[(N[(0.08333333333333333 * N[(Pi * f), $MachinePrecision]), $MachinePrecision] + N[(4.0 / N[(Pi * f), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision] / Pi), $MachinePrecision] / -0.25), $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)
\frac{\frac{\log \left(0.08333333333333333 \cdot \left(\pi \cdot f\right) + \frac{4}{\pi \cdot f}\right)}{\pi}}{-0.25}
Results
Initial program 61.5
Simplified61.5
[Start]61.5 | \[ -\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)
\] |
|---|---|
rational.json-simplify-10 [=>]61.5 | \[ \color{blue}{\frac{\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)}{-1}}
\] |
rational.json-simplify-49 [=>]61.5 | \[ \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{\frac{1}{\frac{\pi}{4}}}{-1}}
\] |
Taylor expanded in f around 0 2.1
Simplified2.1
[Start]2.1 | \[ \log \left(-0.25 \cdot \frac{\pi}{0.25 \cdot \pi - -0.25 \cdot \pi} + \left(2 \cdot \frac{1}{\left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f} + \left(0.25 \cdot \frac{\pi}{0.25 \cdot \pi - -0.25 \cdot \pi} + f \cdot \left(0.0625 \cdot \frac{{\pi}^{2}}{0.25 \cdot \pi - -0.25 \cdot \pi} - 2 \cdot \frac{0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}}{{\left(0.25 \cdot \pi - -0.25 \cdot \pi\right)}^{2}}\right)\right)\right)\right) \cdot \frac{-4}{\pi}
\] |
|---|---|
rational.json-simplify-41 [=>]2.1 | \[ \log \left(-0.25 \cdot \frac{\pi}{0.25 \cdot \pi - -0.25 \cdot \pi} + \color{blue}{\left(0.25 \cdot \frac{\pi}{0.25 \cdot \pi - -0.25 \cdot \pi} + \left(f \cdot \left(0.0625 \cdot \frac{{\pi}^{2}}{0.25 \cdot \pi - -0.25 \cdot \pi} - 2 \cdot \frac{0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}}{{\left(0.25 \cdot \pi - -0.25 \cdot \pi\right)}^{2}}\right) + 2 \cdot \frac{1}{\left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f}\right)\right)}\right) \cdot \frac{-4}{\pi}
\] |
Taylor expanded in f around 0 2.1
Simplified2.1
[Start]2.1 | \[ \log \left(2 \cdot \frac{\frac{2}{f}}{\pi} + f \cdot \left(0.125 \cdot \pi - 0.041666666666666664 \cdot \pi\right)\right) \cdot \frac{-4}{\pi}
\] |
|---|---|
rational.json-simplify-2 [=>]2.1 | \[ \log \left(2 \cdot \frac{\frac{2}{f}}{\pi} + f \cdot \left(\color{blue}{\pi \cdot 0.125} - 0.041666666666666664 \cdot \pi\right)\right) \cdot \frac{-4}{\pi}
\] |
rational.json-simplify-52 [=>]2.1 | \[ \log \left(2 \cdot \frac{\frac{2}{f}}{\pi} + f \cdot \color{blue}{\left(\pi \cdot \left(0.125 - 0.041666666666666664\right)\right)}\right) \cdot \frac{-4}{\pi}
\] |
metadata-eval [=>]2.1 | \[ \log \left(2 \cdot \frac{\frac{2}{f}}{\pi} + f \cdot \left(\pi \cdot \color{blue}{0.08333333333333333}\right)\right) \cdot \frac{-4}{\pi}
\] |
Applied egg-rr2.1
Simplified2.1
[Start]2.1 | \[ \log \left(\pi \cdot \left(0.08333333333333333 \cdot f\right) + \frac{\frac{4}{f}}{\pi}\right) \cdot \frac{-4}{\pi} + 0
\] |
|---|---|
rational.json-simplify-4 [=>]2.1 | \[ \color{blue}{\log \left(\pi \cdot \left(0.08333333333333333 \cdot f\right) + \frac{\frac{4}{f}}{\pi}\right) \cdot \frac{-4}{\pi}}
\] |
rational.json-simplify-43 [<=]2.1 | \[ \log \left(\color{blue}{f \cdot \left(\pi \cdot 0.08333333333333333\right)} + \frac{\frac{4}{f}}{\pi}\right) \cdot \frac{-4}{\pi}
\] |
rational.json-simplify-2 [=>]2.1 | \[ \log \left(f \cdot \color{blue}{\left(0.08333333333333333 \cdot \pi\right)} + \frac{\frac{4}{f}}{\pi}\right) \cdot \frac{-4}{\pi}
\] |
rational.json-simplify-44 [=>]2.1 | \[ \log \left(f \cdot \left(0.08333333333333333 \cdot \pi\right) + \color{blue}{\frac{\frac{4}{\pi}}{f}}\right) \cdot \frac{-4}{\pi}
\] |
Applied egg-rr2.0
Final simplification2.0
| Alternative 1 | |
|---|---|
| Error | 2.1 |
| Cost | 26368 |
| Alternative 2 | |
|---|---|
| Error | 2.4 |
| Cost | 19648 |
| Alternative 3 | |
|---|---|
| Error | 2.4 |
| Cost | 19648 |
| Alternative 4 | |
|---|---|
| Error | 2.3 |
| Cost | 19648 |
herbie shell --seed 2023064
(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)))))))))