


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c
Initial program 3.6
rmApplied add-cube-cbrt3.6
Applied prod-diff22.7
Simplified21.0
Simplified1.8
rmApplied add-sqr-sqrt1.8
Applied associate-*r*1.8
Final simplification1.8
herbie shell --seed 2019004 +o rules:numerics
(FPCore (x y z t a b c)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2"
(/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))))
Time bar (total: 54.7s)Debug log
1 calls. Slowest were:
| 600.0ms | (/ x (+ x (* y (exp (* 2.0 (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 2.7b
Found 4 expressions with local error:
| 3.5b | (/ (* z (sqrt (+ t a))) t) |
| 1.7b | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))) |
| 0.6b | (/ 2.0 (* t 3.0)) |
| 0.3b | (* z (sqrt (+ t a))) |
4 calls. Slowest were:
| 13.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))) |
| 8.0ms | (/ (* z (sqrt (+ t a))) t) |
| 2.0ms | (* z (sqrt (+ t a))) |
4 calls. Slowest were:
| 159.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))) |
| 56.0ms | (* z (sqrt (+ t a))) |
| 53.0ms | (/ (* z (sqrt (+ t a))) t) |
| 8.0ms | (/ 2.0 (* t 3.0)) |
92 calls. Slowest were:
| 600.0ms | (* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0)))) |
| 569.0ms | (* (- b c) (fma (- (sqrt (/ 2.0 (* t 3.0)))) (sqrt (/ 2.0 (* t 3.0))) (* (sqrt (/ 2.0 (* t 3.0))) (sqrt (/ 2.0 (* t 3.0)))))) |
| 550.0ms | (* (fma (- (sqrt (/ 2.0 (* t 3.0)))) (sqrt (/ 2.0 (* t 3.0))) (* (sqrt (/ 2.0 (* t 3.0))) (sqrt (/ 2.0 (* t 3.0))))) (- b c)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 4.7b | (* (/ z t) (sqrt (+ t a))) |
| 1.1b | (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) |
| 0.3b | (/ (/ 2.0 t) 3.0) |
| 0.0b | (* y (exp (* 2.0 (+ (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) 0)))) |
4 calls. Slowest were:
| 10.0ms | (* (/ z t) (sqrt (+ t a))) |
| 7.0ms | (* y (exp (* 2.0 (+ (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) 0)))) |
| 5.0ms | (/ (/ 2.0 t) 3.0) |
4 calls. Slowest were:
| 245.0ms | (* y (exp (* 2.0 (+ (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) 0)))) |
| 145.0ms | (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) |
| 80.0ms | (* (/ z t) (sqrt (+ t a))) |
| 13.0ms | (/ (/ 2.0 t) 3.0) |
37 calls. Slowest were:
| 613.0ms | (* (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (+ (* a b) (* 0.8333333333333334 b))))) y) |
| 582.0ms | (* (* (* (/ z t) (/ z t)) (/ z t)) (* (* (sqrt (+ t a)) (sqrt (+ t a))) (sqrt (+ t a)))) |
| 235.0ms | (exp (* 2.0 (+ (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) 0))) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 0b
Found 4 expressions with local error:
| 4.7b | (* (/ z t) (sqrt (+ t a))) |
| 4.7b | (* (/ z t) (sqrt (+ t a))) |
| 1.1b | (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) |
| 1.1b | (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) |
4 calls. Slowest were:
| 9.0ms | (* (/ z t) (sqrt (+ t a))) |
| 8.0ms | (* (/ z t) (sqrt (+ t a))) |
| 0.0ms | (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) |
4 calls. Slowest were:
| 164.0ms | (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) |
| 139.0ms | (fma (- (+ a (/ 5.0 6.0)) (/ (/ 2.0 t) 3.0)) (- c b) (* (/ z t) (sqrt (+ t a)))) |
| 58.0ms | (* (/ z t) (sqrt (+ t a))) |
| 54.0ms | (* (/ z t) (sqrt (+ t a))) |
48 calls. Slowest were:
| 543.0ms | (* (* (* (/ z t) (/ z t)) (/ z t)) (* (* (sqrt (+ t a)) (sqrt (+ t a))) (sqrt (+ t a)))) |
| 505.0ms | (* (* (* (/ z t) (/ z t)) (/ z t)) (* (* (sqrt (+ t a)) (sqrt (+ t a))) (sqrt (+ t a)))) |
| 149.0ms | (- (* a c) (+ (* a b) (* 0.8333333333333334 b))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0b
Found 4 expressions with local error:
| 3.3b | (fma (* z (sqrt (+ t a))) (/ 1 t) (- (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))) |
| 0.6b | (/ 2.0 (* t 3.0)) |
| 0.3b | (* z (sqrt (+ t a))) |
| 0.1b | (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))) |
4 calls. Slowest were:
| 14.0ms | (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))) |
| 2.0ms | (* z (sqrt (+ t a))) |
| 0.0ms | (/ 2.0 (* t 3.0)) |
4 calls. Slowest were:
| 173.0ms | (fma (* z (sqrt (+ t a))) (/ 1 t) (- (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))))) |
| 63.0ms | (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0)))) |
| 57.0ms | (* z (sqrt (+ t a))) |
| 14.0ms | (/ 2.0 (* t 3.0)) |
82 calls. Slowest were:
| 821.0ms | (* (+ (* b b) (+ (* c c) (* b c))) (* (- a (/ 5.0 6.0)) (* t 3.0))) |
| 627.0ms | (* (+ b c) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (* t 3.0))) |
| 549.0ms | (* (- b c) (fma (- (sqrt (/ 2.0 (* t 3.0)))) (sqrt (/ 2.0 (* t 3.0))) (* (sqrt (/ 2.0 (* t 3.0))) (sqrt (/ 2.0 (* t 3.0)))))) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0b
0% (1.6b remaining)
Error of 1.8b against oracle of 0.2b and baseline of 1.8b