Average Error: 9.2 → 0.2
Time: 14.2s
Precision: binary64
Cost: 14464
\[\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;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original9.2
Target0.3
Herbie0.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
Error0.4
Cost48768
\[\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
Error9.2
Cost46272
\[\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
Error9.2
Cost46016
\[\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
Error9.6
Cost46016
\[\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
Error9.6
Cost45760
\[\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
Error0.7
Cost40256
\[\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
Error9.3
Cost33088
\[\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
Error8.9
Cost33088
\[\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
Error9.2
Cost32960
\[\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
Error8.9
Cost32960
\[\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
Error9.2
Cost32960
\[\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
Error9.7
Cost32960
\[\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
Error36.8
Cost32960
\[\left(z \cdot \log \left(1 - y\right) + \sqrt{x \cdot \log y} \cdot \sqrt{x \cdot \log y}\right) - t\]
Alternative 14
Error0.3
Cost27328
\[\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
Error23.2
Cost27200
\[\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
Error0.7
Cost27200
\[\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
Error9.2
Cost26880
\[\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
Error36.6
Cost26432
\[\left(z \cdot \log \left(1 - y\right) + \sqrt{x} \cdot \left(\log y \cdot \sqrt{x}\right)\right) - t\]
Alternative 19
Error9.2
Cost26368
\[\left(x \cdot \log y + z \cdot \sqrt[3]{{\log \left(1 - y\right)}^{3}}\right) - t\]
Alternative 20
Error31.6
Cost26368
\[\left(z \cdot \log \left(1 - y\right) + \sqrt[3]{{\left(x \cdot \log y\right)}^{3}}\right) - t\]
Alternative 21
Error37.9
Cost26304
\[\left(z \cdot \log \left(1 - y\right) + e^{\log \left(x \cdot \log y\right)}\right) - t\]
Alternative 22
Error32.1
Cost20672
\[\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
Error23.2
Cost20608
\[\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
Error9.2
Cost20288
\[\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
Error43.3
Cost19840
\[\left(z \cdot \log \left(1 - y\right) + \log \left({y}^{x}\right)\right) - t\]
Alternative 26
Error44.0
Cost19776
\[\log \left({y}^{x} \cdot {\left(1 - y\right)}^{z}\right) - t\]
Alternative 27
Error0.2
Cost14336
\[\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
Error9.2
Cost13504
\[\left(x \cdot \log y + z \cdot \log \left(1 - y\right)\right) - t\]
Alternative 29
Error0.3
Cost7744
\[\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
Error0.3
Cost7616
\[\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
Error0.3
Cost7360
\[\left(x \cdot \log y - z \cdot \left(y + \left(y \cdot y\right) \cdot 0.5\right)\right) - t\]
Alternative 32
Error0.3
Cost7360
\[\left(x \cdot \log y + y \cdot \left(y \cdot \left(z \cdot -0.5\right) - z\right)\right) - t\]
Alternative 33
Error0.3
Cost7360
\[\left(x \cdot \log y + z \cdot \left(y \cdot \left(-1 + y \cdot -0.5\right)\right)\right) - t\]
Alternative 34
Error0.6
Cost6976
\[\left(x \cdot \log y - y \cdot z\right) - t\]
Alternative 35
Error35.5
Cost6848
\[z \cdot \log \left(1 - y\right) - t\]
Alternative 36
Error9.9
Cost6720
\[x \cdot \log y - t\]
Alternative 37
Error61.9
Cost64
\[1\]
Alternative 38
Error62.4
Cost64
\[0\]
Alternative 39
Error61.9
Cost64
\[-1\]

Error

Derivation

  1. Initial program 9.2

    \[\left(x \cdot \log y + z \cdot \log \left(1 - y\right)\right) - t\]
  2. 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\]
  3. 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\]
  4. Using strategy rm
  5. Applied distribute-rgt-in_binary64_100110.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\]
  6. 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\]
  7. 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\]
  8. 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}\]
  9. 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))