


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b
Results
if b < -3.305859051545688e-74 or 1.0250610450472451e-16 < b Initial program 0.6
rmApplied *-un-lft-identity0.6
Applied exp-prod0.6
Simplified0.6
rmApplied add-cbrt-cube1.8
if -3.305859051545688e-74 < b < 1.0250610450472451e-16Initial program 3.4
rmApplied exp-diff3.4
Simplified9.2
rmApplied pow-sub9.1
Applied associate-*l/9.1
Final simplification5.0
herbie shell --seed 2018360
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2"
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))
Time bar (total: 29.0s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 1.2b | (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 0.8b | (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) |
| 0.3b | (* y (log z)) |
| 0.1b | (* (- t 1.0) (log a)) |
4 calls. Slowest were:
| 30.0ms | (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 21.0ms | (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) |
| 7.0ms | (* (- t 1.0) (log a)) |
4 calls. Slowest were:
| 202.0ms | (/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) |
| 123.0ms | (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 56.0ms | (* (- t 1.0) (log a)) |
| 50.0ms | (* y (log z)) |
34 calls. Slowest were:
| 413.0ms | (+ (/ (* x (exp (- (* 1.0 (log a))))) y) (+ (* x (* (log z) (exp (- (* 1.0 (log a)))))) (/ (* t (* x (* (log a) (exp (- (* 1.0 (log a))))))) y))) |
| 386.0ms | (exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a))))))) |
| 233.0ms | (* (* (* (- t 1.0) (- t 1.0)) (- t 1.0)) (* (* (log a) (log a)) (log a))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 1.2b | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 0.8b | (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) |
| 0.3b | (* y (log z)) |
| 0.1b | (* (- t 1.0) (log a)) |
4 calls. Slowest were:
| 13.0ms | (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) |
| 12.0ms | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 7.0ms | (* (- t 1.0) (log a)) |
4 calls. Slowest were:
| 195.0ms | (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) |
| 145.0ms | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 48.0ms | (* (- t 1.0) (log a)) |
| 32.0ms | (* y (log z)) |
33 calls. Slowest were:
| 419.0ms | (+ (/ (* x (exp (- (* 1.0 (log a))))) y) (+ (* x (* (log z) (exp (- (* 1.0 (log a)))))) (/ (* t (* x (* (log a) (exp (- (* 1.0 (log a))))))) y))) |
| 351.0ms | (exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a))))))) |
| 250.0ms | (- (+ (* t (log -1)) (* 1.0 (log (/ -1 a)))) (+ (* t (log (/ -1 a))) (* 1.0 (log -1)))) |
5 alts after pruning (5 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 8.5b | (cbrt (* (* (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))) |
| 1.2b | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 1.2b | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 1.2b | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
4 calls. Slowest were:
| 27.0ms | (cbrt (* (* (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))) |
| 12.0ms | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 12.0ms | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
4 calls. Slowest were:
| 233.0ms | (cbrt (* (* (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y)) (/ (* x (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))) |
| 152.0ms | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 145.0ms | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
| 131.0ms | (pow E (- (+ (* y (log z)) (* (- t 1.0) (log a))) b)) |
42 calls. Slowest were:
| 395.0ms | (exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a))))))) |
| 394.0ms | (pow E (- (* (- t 1.0) (log a)) b)) |
| 393.0ms | (exp (- (* 1.0 (log (/ 1 a))) (+ (* (log (/ 1 z)) y) (+ b (* t (log (/ 1 a))))))) |
5 alts after pruning (4 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.8b | (/ (* x (/ (* (pow a (- t 1.0)) (pow z y)) (exp b))) y) |
| 0.7b | (* (pow a (- t 1.0)) (pow z y)) |
| 0.5b | (/ (* (pow a (- t 1.0)) (pow z y)) (exp b)) |
| 0.2b | (pow a (- t 1.0)) |
4 calls. Slowest were:
| 6.0ms | (/ (* (pow a (- t 1.0)) (pow z y)) (exp b)) |
| 4.0ms | (* (pow a (- t 1.0)) (pow z y)) |
| 4.0ms | (/ (* x (/ (* (pow a (- t 1.0)) (pow z y)) (exp b))) y) |
4 calls. Slowest were:
| 267.0ms | (/ (* x (/ (* (pow a (- t 1.0)) (pow z y)) (exp b))) y) |
| 210.0ms | (/ (* (pow a (- t 1.0)) (pow z y)) (exp b)) |
| 154.0ms | (* (pow a (- t 1.0)) (pow z y)) |
| 75.0ms | (pow a (- t 1.0)) |
50 calls. Slowest were:
| 578.0ms | (/ (* (* (* (pow a (- t 1.0)) (pow z y)) (* (pow a (- t 1.0)) (pow z y))) (* (pow a (- t 1.0)) (pow z y))) (* (* (exp b) (exp b)) (exp b))) |
| 470.0ms | (/ (* (* (* (pow a (- t 1.0)) (pow a (- t 1.0))) (pow a (- t 1.0))) (* (* (pow z y) (pow z y)) (pow z y))) (* (* (exp b) (exp b)) (exp b))) |
| 422.0ms | (+ (* 1/2 (* (pow (/ 1 (pow a 1.0)) 1.0) (* (pow t 2) (pow (log a) 2)))) (+ (pow a -1.0) (* (pow (/ 1 (pow a 1.0)) 1.0) (* t (log a))))) |
6 alts after pruning (5 fresh and 1 done)
Merged error: 0b
20% (5.0b remaining)
Error of 5.0b against oracle of 0.0b and baseline of 6.3b