Average Error: 9.2 → 0.2
Time: 14.2s
Precision: binary64
Cost: 14464
Math TeX FPCore C \[\left(x \cdot \log y + z \cdot \log \left(1 - y\right)\right) - t\]
↓
\[\left(x \cdot \log y + \left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot \left(z \cdot -0.25\right)\right)\right) - t\]
\left(x \cdot \log y + z \cdot \log \left(1 - y\right)\right) - t ↓
\left(x \cdot \log y + \left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot \left(z \cdot -0.25\right)\right)\right) - t (FPCore (x y z t)
:precision binary64
(- (+ (* x (log y)) (* z (log (- 1.0 y)))) t)) ↓
(FPCore (x y z t)
:precision binary64
(-
(+
(* x (log y))
(+
(* z (- (* (* y y) (- -0.5 (* y 0.3333333333333333))) y))
(* (pow y 4.0) (* z -0.25))))
t)) double code(double x, double y, double z, double t) {
return ((x * log(y)) + (z * log(1.0 - y))) - t;
}
↓
double code(double x, double y, double z, double t) {
return ((x * log(y)) + ((z * (((y * y) * (-0.5 - (y * 0.3333333333333333))) - y)) + (pow(y, 4.0) * (z * -0.25)))) - t;
}
Try it out Enter valid numbers for all inputs
Target Original 9.2 Target 0.3 Herbie 0.2
\[\left(-z\right) \cdot \left(\left(0.5 \cdot \left(y \cdot y\right) + y\right) + \frac{0.3333333333333333}{1 \cdot \left(1 \cdot 1\right)} \cdot \left(y \cdot \left(y \cdot y\right)\right)\right) - \left(t - x \cdot \log y\right)\]
Alternatives Alternative 1 Error 0.4 Cost 48768
\[\left(x \cdot \log y + \sqrt[3]{z \cdot \left(\left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot -0.25\right)} \cdot \left(\sqrt[3]{z \cdot \left(\left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot -0.25\right)} \cdot \sqrt[3]{z \cdot \left(\left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot -0.25\right)}\right)\right) - t\]
Alternative 2 Error 9.2 Cost 46272
\[\left(x \cdot \log y + \sqrt[3]{z \cdot \log \left(1 - y\right)} \cdot \left(\sqrt[3]{z \cdot \log \left(1 - y\right)} \cdot \sqrt[3]{z \cdot \log \left(1 - y\right)}\right)\right) - t\]
Alternative 3 Error 9.2 Cost 46016
\[\left(x \cdot \log y + z \cdot \left(\sqrt[3]{\log \left(1 - y\right)} \cdot \left(\sqrt[3]{\log \left(1 - y\right)} \cdot \sqrt[3]{\log \left(1 - y\right)}\right)\right)\right) - t\]
Alternative 4 Error 9.6 Cost 46016
\[\left(z \cdot \log \left(1 - y\right) + \sqrt[3]{x \cdot \log y} \cdot \left(\sqrt[3]{x \cdot \log y} \cdot \sqrt[3]{x \cdot \log y}\right)\right) - t\]
Alternative 5 Error 9.6 Cost 45760
\[\left(z \cdot \log \left(1 - y\right) + \sqrt[3]{\log y} \cdot \left(x \cdot \left(\sqrt[3]{\log y} \cdot \sqrt[3]{\log y}\right)\right)\right) - t\]
Alternative 6 Error 0.7 Cost 40256
\[\left(\left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right)\right) - y \cdot z\right) + \sqrt[3]{x \cdot \log y} \cdot \left(\sqrt[3]{x \cdot \log y} \cdot \sqrt[3]{x \cdot \log y}\right)\right) - t\]
Alternative 7 Error 9.3 Cost 33088
\[\left(\left(x \cdot \left(\log \left(\sqrt[3]{y}\right) \cdot 2\right) + x \cdot \log \left(\sqrt[3]{y}\right)\right) + z \cdot \log \left(1 - y\right)\right) - t\]
Alternative 8 Error 8.9 Cost 33088
\[\left(x \cdot \log y + \left(z \cdot \log \left(1 + \sqrt{y}\right) + z \cdot \log \left(1 - \sqrt{y}\right)\right)\right) - t\]
Alternative 9 Error 9.2 Cost 32960
\[\left(x \cdot \log y + \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right) \cdot \left(\log \left(1 - y\right) \cdot \sqrt[3]{z}\right)\right) - t\]
Alternative 10 Error 8.9 Cost 32960
\[\left(x \cdot \log y + z \cdot \left(\log \left(1 + \sqrt{y}\right) + \log \left(1 - \sqrt{y}\right)\right)\right) - t\]
Alternative 11 Error 9.2 Cost 32960
\[\left(x \cdot \log y + z \cdot \left(\log \left(\sqrt{1 - y}\right) + \log \left(\sqrt{1 - y}\right)\right)\right) - t\]
Alternative 12 Error 9.7 Cost 32960
\[\left(z \cdot \log \left(1 - y\right) + \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\log y \cdot \sqrt[3]{x}\right)\right) - t\]
Alternative 13 Error 36.8 Cost 32960
\[\left(z \cdot \log \left(1 - y\right) + \sqrt{x \cdot \log y} \cdot \sqrt{x \cdot \log y}\right) - t\]
Alternative 14 Error 0.3 Cost 27328
\[\left(\left(x \cdot \left(\log \left(\sqrt[3]{y}\right) \cdot 2\right) + x \cdot \log \left(\sqrt[3]{y}\right)\right) + \left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right)\right) - y \cdot z\right)\right) - t\]
Alternative 15 Error 23.2 Cost 27200
\[\left(\sqrt[3]{{\left(x \cdot \log y\right)}^{3}} + z \cdot \left(\left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot -0.25\right)\right) - t\]
Alternative 16 Error 0.7 Cost 27200
\[\left(\left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right)\right) - y \cdot z\right) + \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\log y \cdot \sqrt[3]{x}\right)\right) - t\]
Alternative 17 Error 9.2 Cost 26880
\[\left(x \cdot \log y + z \cdot \left(\log \left(1 - {y}^{3}\right) - \log \left(1 + \left(y + y \cdot y\right)\right)\right)\right) - t\]
Alternative 18 Error 36.6 Cost 26432
\[\left(z \cdot \log \left(1 - y\right) + \sqrt{x} \cdot \left(\log y \cdot \sqrt{x}\right)\right) - t\]
Alternative 19 Error 9.2 Cost 26368
\[\left(x \cdot \log y + z \cdot \sqrt[3]{{\log \left(1 - y\right)}^{3}}\right) - t\]
Alternative 20 Error 31.6 Cost 26368
\[\left(z \cdot \log \left(1 - y\right) + \sqrt[3]{{\left(x \cdot \log y\right)}^{3}}\right) - t\]
Alternative 21 Error 37.9 Cost 26304
\[\left(z \cdot \log \left(1 - y\right) + e^{\log \left(x \cdot \log y\right)}\right) - t\]
Alternative 22 Error 32.1 Cost 20672
\[\left(\left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right)\right) - y \cdot z\right) + \sqrt{x} \cdot \left(\log y \cdot \sqrt{x}\right)\right) - t\]
Alternative 23 Error 23.2 Cost 20608
\[\left(\left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right)\right) - y \cdot z\right) + \sqrt[3]{{\left(x \cdot \log y\right)}^{3}}\right) - t\]
Alternative 24 Error 9.2 Cost 20288
\[\left(x \cdot \log y + z \cdot \left(\log \left(1 - y \cdot y\right) - \log \left(y + 1\right)\right)\right) - t\]
Alternative 25 Error 43.3 Cost 19840
\[\left(z \cdot \log \left(1 - y\right) + \log \left({y}^{x}\right)\right) - t\]
Alternative 26 Error 44.0 Cost 19776
\[\log \left({y}^{x} \cdot {\left(1 - y\right)}^{z}\right) - t\]
Alternative 27 Error 0.2 Cost 14336
\[\left(x \cdot \log y + z \cdot \left(\left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot -0.25\right)\right) - t\]
Alternative 28 Error 9.2 Cost 13504
\[\left(x \cdot \log y + z \cdot \log \left(1 - y\right)\right) - t\]
Alternative 29 Error 0.3 Cost 7744
\[\left(x \cdot \log y + \left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right)\right) - y \cdot z\right)\right) - t\]
Alternative 30 Error 0.3 Cost 7616
\[\left(x \cdot \log y + z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right)\right) - t\]
Alternative 31 Error 0.3 Cost 7360
\[\left(x \cdot \log y - z \cdot \left(y + \left(y \cdot y\right) \cdot 0.5\right)\right) - t\]
Alternative 32 Error 0.3 Cost 7360
\[\left(x \cdot \log y + y \cdot \left(y \cdot \left(z \cdot -0.5\right) - z\right)\right) - t\]
Alternative 33 Error 0.3 Cost 7360
\[\left(x \cdot \log y + z \cdot \left(y \cdot \left(-1 + y \cdot -0.5\right)\right)\right) - t\]
Alternative 34 Error 0.6 Cost 6976
\[\left(x \cdot \log y - y \cdot z\right) - t\]
Alternative 35 Error 35.5 Cost 6848
\[z \cdot \log \left(1 - y\right) - t\]
Alternative 36 Error 9.9 Cost 6720
\[x \cdot \log y - t\]
Alternative 37 Error 61.9 Cost 64
\[1\]
Alternative 38 Error 62.4 Cost 64
\[0\]
Alternative 39 Error 61.9 Cost 64
\[-1\]
Error Derivation Initial program 9.2
\[\left(x \cdot \log y + z \cdot \log \left(1 - y\right)\right) - t\]
Taylor expanded around 0 0.2
\[\leadsto \left(x \cdot \log y + z \cdot \color{blue}{\left(-\left(0.25 \cdot {y}^{4} + \left(y + \left(0.3333333333333333 \cdot {y}^{3} + 0.5 \cdot {y}^{2}\right)\right)\right)\right)}\right) - t\]
Simplified0.2
\[\leadsto \left(x \cdot \log y + z \cdot \color{blue}{\left(\left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot -0.25\right)}\right) - t\]
Using strategy rm Applied distribute-rgt-in_binary64_10011 0.2
\[\leadsto \left(x \cdot \log y + \color{blue}{\left(\left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) \cdot z + \left({y}^{4} \cdot -0.25\right) \cdot z\right)}\right) - t\]
Simplified0.2
\[\leadsto \left(x \cdot \log y + \left(\color{blue}{z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right)} + \left({y}^{4} \cdot -0.25\right) \cdot z\right)\right) - t\]
Simplified0.2
\[\leadsto \left(x \cdot \log y + \left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + \color{blue}{{y}^{4} \cdot \left(z \cdot -0.25\right)}\right)\right) - t\]
Simplified0.2
\[\leadsto \color{blue}{\left(x \cdot \log y + \left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot \left(z \cdot -0.25\right)\right)\right) - t}\]
Final simplification0.2
\[\leadsto \left(x \cdot \log y + \left(z \cdot \left(\left(y \cdot y\right) \cdot \left(-0.5 - y \cdot 0.3333333333333333\right) - y\right) + {y}^{4} \cdot \left(z \cdot -0.25\right)\right)\right) - t\]
Reproduce herbie shell --seed 2021042
(FPCore (x y z t)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, B"
:precision binary64
:herbie-target
(- (* (- z) (+ (+ (* 0.5 (* y y)) y) (* (/ 0.3333333333333333 (* 1.0 (* 1.0 1.0))) (* y (* y y))))) (- t (* x (log y))))
(- (+ (* x (log y)) (* z (log (- 1.0 y)))) t))