| Alternative 1 | |
|---|---|
| Error | 2.7 |
| Cost | 26176 |
(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 f) (log (/ 4.0 PI))) PI)) (* -0.08333333333333333 (* (pow f 2.0) 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(f) - log((4.0 / ((double) M_PI)))) / ((double) M_PI))) + (-0.08333333333333333 * (pow(f, 2.0) * ((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(f) - Math.log((4.0 / Math.PI))) / Math.PI)) + (-0.08333333333333333 * (Math.pow(f, 2.0) * 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(f) - math.log((4.0 / math.pi))) / math.pi)) + (-0.08333333333333333 * (math.pow(f, 2.0) * 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(Float64(4.0 * Float64(Float64(log(f) - log(Float64(4.0 / pi))) / pi)) + Float64(-0.08333333333333333 * Float64((f ^ 2.0) * 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(f) - log((4.0 / pi))) / pi)) + (-0.08333333333333333 * ((f ^ 2.0) * 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[(N[(4.0 * N[(N[(N[Log[f], $MachinePrecision] - N[Log[N[(4.0 / Pi), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / Pi), $MachinePrecision]), $MachinePrecision] + N[(-0.08333333333333333 * N[(N[Power[f, 2.0], $MachinePrecision] * Pi), $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)
4 \cdot \frac{\log f - \log \left(\frac{4}{\pi}\right)}{\pi} + -0.08333333333333333 \cdot \left({f}^{2} \cdot \pi\right)
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_best_oopsla_all_46_json_45_simplify-94 [=>]61.5 | \[ \color{blue}{\left(\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)\right) \cdot -1}
\] |
rational_best_oopsla_all_46_json_45_simplify-74 [=>]61.5 | \[ \color{blue}{-1 \cdot \left(\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)\right)}
\] |
rational_best_oopsla_all_46_json_45_simplify-7 [=>]61.5 | \[ \color{blue}{\frac{1}{\frac{\pi}{4}} \cdot \left(-1 \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)\right)}
\] |
rational_best_oopsla_all_46_json_45_simplify-74 [=>]61.5 | \[ \frac{1}{\frac{\pi}{4}} \cdot \color{blue}{\left(\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 -1\right)}
\] |
rational_best_oopsla_all_46_json_45_simplify-92 [=>]61.5 | \[ \frac{1}{\frac{\pi}{4}} \cdot \color{blue}{\left(-\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)\right)}
\] |
Taylor expanded in f around 0 2.3
Simplified2.3
[Start]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{{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)\right)
\] |
|---|---|
rational_best_oopsla_all_46_json_45_simplify-82 [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\color{blue}{\left(0.25 \cdot \pi - -0.25 \cdot \pi\right) \cdot f + \left({f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right) + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}}\right)\right)
\] |
rational_best_oopsla_all_46_json_45_simplify-74 [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\left(0.25 \cdot \pi - \color{blue}{\pi \cdot -0.25}\right) \cdot f + \left({f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right) + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}\right)\right)
\] |
rational_best_oopsla_all_46_json_45_simplify-102 [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\color{blue}{\left(\pi \cdot \left(0.25 - -0.25\right)\right)} \cdot f + \left({f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right) + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}\right)\right)
\] |
metadata-eval [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\left(\pi \cdot \color{blue}{0.5}\right) \cdot f + \left({f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right) + {f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right)\right)}\right)\right)
\] |
rational_best_oopsla_all_46_json_45_simplify-35 [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\left(\pi \cdot 0.5\right) \cdot f + \color{blue}{\left({f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - -0.0026041666666666665 \cdot {\pi}^{3}\right) + {f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right)\right)}}\right)\right)
\] |
rational_best_oopsla_all_46_json_45_simplify-74 [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\left(\pi \cdot 0.5\right) \cdot f + \left({f}^{3} \cdot \left(0.0026041666666666665 \cdot {\pi}^{3} - \color{blue}{{\pi}^{3} \cdot -0.0026041666666666665}\right) + {f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right)\right)}\right)\right)
\] |
rational_best_oopsla_all_46_json_45_simplify-102 [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\left(\pi \cdot 0.5\right) \cdot f + \left({f}^{3} \cdot \color{blue}{\left({\pi}^{3} \cdot \left(0.0026041666666666665 - -0.0026041666666666665\right)\right)} + {f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right)\right)}\right)\right)
\] |
metadata-eval [=>]2.3 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\log \left(\frac{e^{\frac{\pi}{4} \cdot f} + e^{\frac{\pi}{4} \cdot \left(-f\right)}}{\left(\pi \cdot 0.5\right) \cdot f + \left({f}^{3} \cdot \left({\pi}^{3} \cdot \color{blue}{0.005208333333333333}\right) + {f}^{5} \cdot \left(8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5} - -8.138020833333333 \cdot 10^{-6} \cdot {\pi}^{5}\right)\right)}\right)\right)
\] |
Taylor expanded in f around 0 2.4
Simplified2.4
[Start]2.4 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\left(0.5 \cdot \left({f}^{2} \cdot \left(-0.25 \cdot {\left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)}^{2} + 0.5 \cdot \left(\left(0.125 \cdot \pi - 0.041666666666666664 \cdot \pi\right) \cdot \pi\right)\right)\right) + \left(0.5 \cdot \left(f \cdot \left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)\right) + \left(\log \left(\frac{4}{\pi}\right) + -1 \cdot \log f\right)\right)\right)\right)
\] |
|---|---|
rational_best_oopsla_all_46_json_45_simplify-82 [=>]2.4 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\left(0.5 \cdot \left({f}^{2} \cdot \left(-0.25 \cdot {\left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)}^{2} + 0.5 \cdot \left(\left(0.125 \cdot \pi - 0.041666666666666664 \cdot \pi\right) \cdot \pi\right)\right)\right) + \color{blue}{\left(\log \left(\frac{4}{\pi}\right) + \left(0.5 \cdot \left(f \cdot \left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)\right) + -1 \cdot \log f\right)\right)}\right)\right)
\] |
rational_best_oopsla_all_46_json_45_simplify-82 [=>]2.4 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\color{blue}{\left(\log \left(\frac{4}{\pi}\right) + \left(0.5 \cdot \left({f}^{2} \cdot \left(-0.25 \cdot {\left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)}^{2} + 0.5 \cdot \left(\left(0.125 \cdot \pi - 0.041666666666666664 \cdot \pi\right) \cdot \pi\right)\right)\right) + \left(0.5 \cdot \left(f \cdot \left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)\right) + -1 \cdot \log f\right)\right)\right)}\right)
\] |
rational_best_oopsla_all_46_json_45_simplify-35 [=>]2.4 | \[ \frac{1}{\frac{\pi}{4}} \cdot \left(-\left(\log \left(\frac{4}{\pi}\right) + \left(0.5 \cdot \left({f}^{2} \cdot \left(-0.25 \cdot {\left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)}^{2} + 0.5 \cdot \left(\left(0.125 \cdot \pi - 0.041666666666666664 \cdot \pi\right) \cdot \pi\right)\right)\right) + \color{blue}{\left(-1 \cdot \log f + 0.5 \cdot \left(f \cdot \left(-0.25 \cdot \pi + 0.25 \cdot \pi\right)\right)\right)}\right)\right)\right)
\] |
Taylor expanded in f around 0 2.3
Final simplification2.3
| Alternative 1 | |
|---|---|
| Error | 2.7 |
| Cost | 26176 |
| Alternative 2 | |
|---|---|
| Error | 2.6 |
| Cost | 26048 |
| Alternative 3 | |
|---|---|
| Error | 2.8 |
| Cost | 19840 |
| Alternative 4 | |
|---|---|
| Error | 61.3 |
| Cost | 13120 |
| Alternative 5 | |
|---|---|
| Error | 61.3 |
| Cost | 13120 |
herbie shell --seed 2023090
(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)))))))))