


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Initial program 0.2
Initial simplification0.3
rmApplied add-cube-cbrt0.3
Applied log-prod0.3
Applied associate-+l+0.3
Final simplification0.3
herbie shell --seed 2018365 +o rules:numerics
(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: 24.9s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.2b
Found 3 expressions with local error:
| 0.4b | (fma (- a 0.5) (log t) (log z)) |
| 0.1b | (+ (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t)) |
| 0.0b | (- (fma (- a 0.5) (log t) (log z)) t) |
3 calls. Slowest were:
| 16.0ms | (+ (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t)) |
| 6.0ms | (- (fma (- a 0.5) (log t) (log z)) t) |
| 0.0ms | (fma (- a 0.5) (log t) (log z)) |
3 calls. Slowest were:
| 117.0ms | (+ (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t)) |
| 97.0ms | (fma (- a 0.5) (log t) (log z)) |
| 48.0ms | (- (fma (- a 0.5) (log t) (log z)) t) |
25 calls. Slowest were:
| 496.0ms | (- (+ (* 0.5 (log (/ -1 t))) (+ (* a (log -1)) (* 0.5 (log -1)))) (+ t (+ (* a (log (/ -1 t))) (log (/ -1 z))))) |
| 494.0ms | (- (* 0.5 (log (/ 1 t))) (+ (log (/ 1 z)) (* a (log (/ 1 t))))) |
| 482.0ms | (- (* 0.5 (log (/ 1 t))) (+ t (+ (log (/ 1 z)) (* a (log (/ 1 t)))))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 0.5b | (cbrt (+ y x)) |
| 0.5b | (cbrt (+ y x)) |
| 0.5b | (cbrt (+ y x)) |
| 0.5b | (* (cbrt (+ y x)) (cbrt (+ y x))) |
4 calls. Slowest were:
| 10.0ms | (* (cbrt (+ y x)) (cbrt (+ y x))) |
| 1.0ms | (cbrt (+ y x)) |
| 1.0ms | (cbrt (+ y x)) |
4 calls. Slowest were:
| 218.0ms | (* (cbrt (+ y x)) (cbrt (+ y x))) |
| 149.0ms | (cbrt (+ y x)) |
| 149.0ms | (cbrt (+ y x)) |
| 119.0ms | (cbrt (+ y x)) |
59 calls. Slowest were:
| 287.0ms | (- (+ (pow x 1/3) (* 1/3 (* (pow (/ 1 (pow x 2)) 1/3) y))) (* 1/9 (* (pow (/ 1 (pow x 5)) 1/3) (pow y 2)))) |
| 278.0ms | (- (+ (pow x 1/3) (* 1/3 (* (pow (/ 1 (pow x 2)) 1/3) y))) (* 1/9 (* (pow (/ 1 (pow x 5)) 1/3) (pow y 2)))) |
| 272.0ms | (- (+ (* 2/3 (* (pow (/ 1 x) 1/3) y)) (pow x 2/3)) (* 1/9 (* (pow (/ 1 (pow x 4)) 1/3) (pow y 2)))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 5.9b | (pow (+ y x) 2/3) |
| 0.5b | (cbrt (+ y x)) |
| 0.4b | (fma (- a 0.5) (log t) (log z)) |
| 0.2b | (+ (log (cbrt (+ y x))) (- (fma (- a 0.5) (log t) (log z)) t)) |
4 calls. Slowest were:
| 17.0ms | (+ (log (cbrt (+ y x))) (- (fma (- a 0.5) (log t) (log z)) t)) |
| 2.0ms | (pow (+ y x) 2/3) |
| 1.0ms | (cbrt (+ y x)) |
4 calls. Slowest were:
| 224.0ms | (+ (log (cbrt (+ y x))) (- (fma (- a 0.5) (log t) (log z)) t)) |
| 181.0ms | (cbrt (+ y x)) |
| 148.0ms | (pow (+ y x) 2/3) |
| 85.0ms | (fma (- a 0.5) (log t) (log z)) |
38 calls. Slowest were:
| 528.0ms | (- (+ (log (pow x 1/3)) (+ (* a (log t)) (log z))) (+ t (* 0.5 (log t)))) |
| 467.0ms | (- (* 0.5 (log (/ 1 t))) (+ (log (/ 1 z)) (* a (log (/ 1 t))))) |
| 335.0ms | (- (+ (* 0.5 (log (/ -1 t))) (+ (* a (log -1)) (* 0.5 (log -1)))) (+ (* a (log (/ -1 t))) (log (/ -1 z)))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 0.1b
Found 4 expressions with local error:
| 5.9b | (pow (+ y x) 2/3) |
| 0.4b | (fma (- a 0.5) (log t) (log z)) |
| 0.1b | (fma 1/3 (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t)) |
| 0.1b | (+ (log (pow (+ y x) 2/3)) (fma 1/3 (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t))) |
4 calls. Slowest were:
| 9.0ms | (+ (log (pow (+ y x) 2/3)) (fma 1/3 (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t))) |
| 2.0ms | (pow (+ y x) 2/3) |
| 0.0ms | (fma 1/3 (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t)) |
4 calls. Slowest were:
| 255.0ms | (+ (log (pow (+ y x) 2/3)) (fma 1/3 (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t))) |
| 184.0ms | (fma 1/3 (log (+ y x)) (- (fma (- a 0.5) (log t) (log z)) t)) |
| 144.0ms | (pow (+ y x) 2/3) |
| 82.0ms | (fma (- a 0.5) (log t) (log z)) |
28 calls. Slowest were:
| 789.0ms | (- (+ (log (pow x 2/3)) (+ (* a (log t)) (+ (log z) (* 1/3 (log x))))) (+ t (* 0.5 (log t)))) |
| 588.0ms | (- (* 0.5 (log (/ 1 t))) (+ (log (/ 1 z)) (* a (log (/ 1 t))))) |
| 459.0ms | (- (+ (log (pow (/ 1 y) -2/3)) (* 0.5 (log (/ 1 t)))) (+ t (+ (log (/ 1 z)) (+ (* a (log (/ 1 t))) (* 1/3 (log (/ 1 y))))))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 0.1b
0% (0.2b remaining)
Error of 0.3b against oracle of 0.1b and baseline of 0.3b