


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.7
rmApplied div-inv3.7
Applied prod-diff21.9
Simplified20.1
Simplified1.7
Final simplification1.7
herbie shell --seed 2019005 +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: 33.8s)Debug log
1 calls. Slowest were:
| 244.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: 1.7b
Found 4 expressions with local error:
| 3.2b | (/ (* z (sqrt (+ t a))) t) |
| 0.9b | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))) |
| 0.2b | (/ 2.0 (* t 3.0)) |
| 0.2b | (* 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:
| 189.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) |
| 15.0ms | (/ 2.0 (* t 3.0)) |
92 calls. Slowest were:
| 631.0ms | (* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0)))) |
| 611.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)) |
| 576.0ms | (- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (+ (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (+ (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (* (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))))) (* t (* (- (pow b 3) (pow c 3)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3))))) |
2 alts after pruning (1 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 5.0b | (* (sqrt (+ t a)) (/ z t)) |
| 0.3b | (/ (/ 2.0 3.0) t) |
| 0.1b | (fma (- (+ (/ 5.0 6.0) a) (/ (/ 2.0 3.0) t)) (- c b) (* (sqrt (+ t a)) (/ z t))) |
| 0.0b | (* y (exp (* 2.0 (+ (fma (- (+ (/ 5.0 6.0) a) (/ (/ 2.0 3.0) t)) (- c b) (* (sqrt (+ t a)) (/ z t))) 0)))) |
4 calls. Slowest were:
| 5.0ms | (* (sqrt (+ t a)) (/ z t)) |
| 4.0ms | (* y (exp (* 2.0 (+ (fma (- (+ (/ 5.0 6.0) a) (/ (/ 2.0 3.0) t)) (- c b) (* (sqrt (+ t a)) (/ z t))) 0)))) |
| 3.0ms | (/ (/ 2.0 3.0) t) |
4 calls. Slowest were:
| 335.0ms | (* y (exp (* 2.0 (+ (fma (- (+ (/ 5.0 6.0) a) (/ (/ 2.0 3.0) t)) (- c b) (* (sqrt (+ t a)) (/ z t))) 0)))) |
| 129.0ms | (fma (- (+ (/ 5.0 6.0) a) (/ (/ 2.0 3.0) t)) (- c b) (* (sqrt (+ t a)) (/ z t))) |
| 57.0ms | (* (sqrt (+ t a)) (/ z t)) |
| 8.0ms | (/ (/ 2.0 3.0) t) |
37 calls. Slowest were:
| 289.0ms | (* (* (* (sqrt (+ t a)) (sqrt (+ t a))) (sqrt (+ t a))) (* (* (/ z t) (/ z t)) (/ z t))) |
| 217.0ms | (sqrt (exp (* 2.0 (+ (fma (- (+ (/ 5.0 6.0) a) (/ (/ 2.0 3.0) t)) (- c b) (* (sqrt (+ t a)) (/ z t))) 0)))) |
| 203.0ms | (cbrt (exp (* 2.0 (+ (fma (- (+ (/ 5.0 6.0) a) (/ (/ 2.0 3.0) t)) (- c b) (* (sqrt (+ t a)) (/ z t))) 0)))) |
2 alts after pruning (0 fresh and 2 done)
Merged error: 0.0b
0% (0.4b remaining)
Error of 1.7b against oracle of 1.3b and baseline of 1.7b