


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
Results
Initial program 3.6
Taylor expanded around 0 3.6
Final simplification3.6
herbie shell --seed 2019004
(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: 1.1m)Debug log
1 calls. Slowest were:
| 299.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:
| 16.0ms | (/ (* z (sqrt (+ t a))) t) |
| 11.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))) |
| 2.0ms | (* z (sqrt (+ t a))) |
4 calls. Slowest were:
| 168.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 2.0 (* t 3.0))))) |
| 45.0ms | (/ (* z (sqrt (+ t a))) t) |
| 37.0ms | (* z (sqrt (+ t a))) |
| 9.0ms | (/ 2.0 (* t 3.0)) |
57 calls. Slowest were:
| 555.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))))) |
| 503.0ms | (* t (* (+ b c) (* (- a (/ 5.0 6.0)) (* t 3.0)))) |
| 397.0ms | (- (* (* z (sqrt (+ t a))) (* (+ 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 (* (- (* b b) (* c c)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (/ 2.0 (* t 3.0)) 3))))) |
3 alts after pruning (3 fresh and 0 done)
Merged error: 0.0b
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)) (/ 0.6666666666666666 t)))) |
| 0.3b | (* z (sqrt (+ t a))) |
| 0.1b | (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 0.6666666666666666 t))) |
4 calls. Slowest were:
| 16.0ms | (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 0.6666666666666666 t))) |
| 9.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 0.6666666666666666 t)))) |
| 7.0ms | (/ (* z (sqrt (+ t a))) t) |
4 calls. Slowest were:
| 169.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 0.6666666666666666 t)))) |
| 63.0ms | (/ (* z (sqrt (+ t a))) t) |
| 55.0ms | (* (- b c) (- (+ a (/ 5.0 6.0)) (/ 0.6666666666666666 t))) |
| 49.0ms | (* z (sqrt (+ t a))) |
95 calls. Slowest were:
| 649.0ms | (* (- (pow b 3) (pow c 3)) (- (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (* (/ 0.6666666666666666 t) (/ 0.6666666666666666 t)))) |
| 562.0ms | (* t (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) t)) |
| 524.0ms | (* (+ (* b b) (+ (* c c) (* b c))) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) t)) |
3 alts after pruning (2 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 39.6b | (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0)))) |
| 3.5b | (/ (* z (sqrt (+ t a))) t) |
| 1.7b | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0))))))) |
| 0.6b | (/ 2.0 (* t 3.0)) |
4 calls. Slowest were:
| 33.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0))))))) |
| 12.0ms | (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0)))) |
| 7.0ms | (/ (* z (sqrt (+ t a))) t) |
4 calls. Slowest were:
| 317.0ms | (- (/ (* z (sqrt (+ t a))) t) (* (- b c) (- (+ a (/ 5.0 6.0)) (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0))))))) |
| 96.0ms | (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0)))) |
| 55.0ms | (/ (* z (sqrt (+ t a))) t) |
| 13.0ms | (/ 2.0 (* t 3.0)) |
129 calls. Slowest were:
| 699.0ms | (- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (+ (+ a (/ 5.0 6.0)) (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0))))))) (* t (* (- (pow b 3) (pow c 3)) (- (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (* (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0)))) (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0))))))))) |
| 526.0ms | (- (* (* z (sqrt (+ t a))) (* (+ (* b b) (+ (* c c) (* b c))) (+ (* (+ a (/ 5.0 6.0)) (+ a (/ 5.0 6.0))) (+ (* (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0)))) (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0))))) (* (+ a (/ 5.0 6.0)) (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0))))))))) (* t (* (- (pow b 3) (pow c 3)) (- (pow (+ a (/ 5.0 6.0)) 3) (pow (cbrt (* (* (/ 2.0 (* t 3.0)) (/ 2.0 (* t 3.0))) (/ 2.0 (* t 3.0)))) 3))))) |
| 524.0ms | (* t (* (+ b c) (* (+ (* a a) (- (* (/ 5.0 6.0) (/ 5.0 6.0)) (* a (/ 5.0 6.0)))) (cbrt (* t 3.0))))) |
3 alts after pruning (1 fresh and 2 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.0b | (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))) |
| 0.0b | (- (* 0.8333333333333334 c) (* (- b c) a)) |
| 0.0b | (* (- b c) a) |
| 0.0b | (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a))))) |
4 calls. Slowest were:
| 7.0ms | (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a))))) |
| 3.0ms | (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))) |
| 2.0ms | (* (- b c) a) |
4 calls. Slowest were:
| 84.0ms | (* y (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a))))) |
| 36.0ms | (exp (* 2.0 (- (* 0.8333333333333334 c) (* (- b c) a)))) |
| 35.0ms | (- (* 0.8333333333333334 c) (* (- b c) a)) |
| 30.0ms | (* (- b c) a) |
30 calls. Slowest were:
| 512.0ms | (exp (* (- (* (- b c) a)) 2.0)) |
| 310.0ms | (* (- (* b b) (* c c)) a) |
| 211.0ms | (exp (* 2.0 (- (+ (* a c) (* 0.8333333333333334 c)) (* a b)))) |
3 alts after pruning (0 fresh and 3 done)
Merged error: 0.0b
0% (2.5b remaining)
Error of 3.6b against oracle of 1.1b and baseline of 3.6b