


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
Initial program 0.3
rmApplied add-cube-cbrt0.3
Applied log-prod0.3
Applied associate-+l+0.3
Final simplification0.3
herbie shell --seed 2019004
(FPCore (x y z t a)
:name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
(+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))
Time bar (total: 35.0s)Debug log
1 calls. Slowest were:
| 319.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 0.3b
Found 4 expressions with local error:
| 0.5b | (+ (log (+ x y)) (log z)) |
| 0.1b | (* (- a 0.5) (log t)) |
| 0.1b | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 0.0b | (- (+ (log (+ x y)) (log z)) t) |
4 calls. Slowest were:
| 96.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 35.0ms | (- (+ (log (+ x y)) (log z)) t) |
| 5.0ms | (+ (log (+ x y)) (log z)) |
4 calls. Slowest were:
| 278.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 193.0ms | (- (+ (log (+ x y)) (log z)) t) |
| 80.0ms | (+ (log (+ x y)) (log z)) |
| 76.0ms | (* (- a 0.5) (log t)) |
46 calls. Slowest were:
| 268.0ms | (- (+ (* a (log t)) (+ (log z) (log y))) (+ t (* 0.5 (log t)))) |
| 219.0ms | (- (* 0.5 (log (/ 1 t))) (+ t (+ (log (/ 1 z)) (+ (log (/ 1 x)) (* a (log (/ 1 t))))))) |
| 190.0ms | (+ (* (- (* (+ (log (+ x y)) (log z)) (+ (log (+ x y)) (log z))) (* t t)) (+ (* a a) (+ (* 0.5 0.5) (* a 0.5)))) (* (+ (+ (log (+ x y)) (log z)) t) (* (- (pow a 3) (pow 0.5 3)) (log t)))) |
9 alts after pruning (9 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.6b | (cbrt (+ x y)) |
| 0.6b | (cbrt (+ x y)) |
| 0.6b | (cbrt (+ x y)) |
| 0.4b | (* (cbrt (+ x y)) (cbrt (+ x y))) |
4 calls. Slowest were:
| 5.0ms | (* (cbrt (+ x y)) (cbrt (+ x y))) |
| 1.0ms | (cbrt (+ x y)) |
| 1.0ms | (cbrt (+ x y)) |
4 calls. Slowest were:
| 207.0ms | (cbrt (+ x y)) |
| 185.0ms | (* (cbrt (+ x y)) (cbrt (+ x y))) |
| 126.0ms | (cbrt (+ x y)) |
| 121.0ms | (cbrt (+ x y)) |
59 calls. Slowest were:
| 189.0ms | (- (+ (pow y 1/3) (* 1/3 (* x (pow (/ 1 (pow y 2)) 1/3)))) (* 1/9 (* (pow x 2) (pow (/ 1 (pow y 5)) 1/3)))) |
| 182.0ms | (- (+ (pow y 1/3) (* 1/3 (* x (pow (/ 1 (pow y 2)) 1/3)))) (* 1/9 (* (pow x 2) (pow (/ 1 (pow y 5)) 1/3)))) |
| 177.0ms | (- (+ (* 2/3 (* x (pow (/ 1 y) 1/3))) (pow y 2/3)) (* 1/9 (* (pow x 2) (pow (/ 1 (pow y 4)) 1/3)))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 0.0b
Found 3 expressions with local error:
| 0.1b | (+ (log (+ x y)) (+ (- (log z) t) (* (- a 0.5) (log t)))) |
| 0.1b | (+ (- (log z) t) (* (- a 0.5) (log t))) |
| 0.1b | (* (- a 0.5) (log t)) |
3 calls. Slowest were:
| 41.0ms | (+ (log (+ x y)) (+ (- (log z) t) (* (- a 0.5) (log t)))) |
| 16.0ms | (+ (- (log z) t) (* (- a 0.5) (log t))) |
| 4.0ms | (* (- a 0.5) (log t)) |
3 calls. Slowest were:
| 214.0ms | (+ (log (+ x y)) (+ (- (log z) t) (* (- a 0.5) (log t)))) |
| 95.0ms | (+ (- (log z) t) (* (- a 0.5) (log t))) |
| 63.0ms | (* (- a 0.5) (log t)) |
42 calls. Slowest were:
| 412.0ms | (+ (log (+ x y)) (+ (- (log z) t) (* (- a 0.5) (log t)))) |
| 395.0ms | (- (+ (* a (log t)) (+ (log z) (log y))) (+ t (* 0.5 (log t)))) |
| 348.0ms | (- (+ (* 0.5 (log (/ -1 t))) (+ (* a (log -1)) (* 0.5 (log -1)))) (+ t (+ (* a (log (/ -1 t))) (log (/ -1 z))))) |
8 alts after pruning (7 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.6b | (cbrt (+ x y)) |
| 0.6b | (cbrt (+ x y)) |
| 0.6b | (cbrt (+ x y)) |
| 0.4b | (* (cbrt (+ x y)) (cbrt (+ x y))) |
4 calls. Slowest were:
| 10.0ms | (* (cbrt (+ x y)) (cbrt (+ x y))) |
| 1.0ms | (cbrt (+ x y)) |
| 1.0ms | (cbrt (+ x y)) |
4 calls. Slowest were:
| 191.0ms | (* (cbrt (+ x y)) (cbrt (+ x y))) |
| 169.0ms | (cbrt (+ x y)) |
| 144.0ms | (cbrt (+ x y)) |
| 135.0ms | (cbrt (+ x y)) |
59 calls. Slowest were:
| 174.0ms | (- (+ (pow y 1/3) (* 1/3 (* x (pow (/ 1 (pow y 2)) 1/3)))) (* 1/9 (* (pow x 2) (pow (/ 1 (pow y 5)) 1/3)))) |
| 165.0ms | (- (+ (pow y 1/3) (* 1/3 (* x (pow (/ 1 (pow y 2)) 1/3)))) (* 1/9 (* (pow x 2) (pow (/ 1 (pow y 5)) 1/3)))) |
| 133.0ms | (- (+ (pow y 1/3) (* 1/3 (* x (pow (/ 1 (pow y 2)) 1/3)))) (* 1/9 (* (pow x 2) (pow (/ 1 (pow y 5)) 1/3)))) |
8 alts after pruning (6 fresh and 2 done)
Merged error: 0.0b
0% (0.2b remaining)
Error of 0.3b against oracle of 0.1b and baseline of 0.3b