


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Initial program 0.3
Initial simplification0.3
Final simplification0.3
herbie shell --seed 2018360 +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: 28.0s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 0.2b
Found 4 expressions with local error:
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.2b | (* (- 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:
| 169.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 51.0ms | (- (+ (log (+ x y)) (log z)) t) |
| 9.0ms | (+ (log (+ x y)) (log z)) |
4 calls. Slowest were:
| 223.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 170.0ms | (- (+ (log (+ x y)) (log z)) t) |
| 91.0ms | (+ (log (+ x y)) (log z)) |
| 56.0ms | (* (- a 0.5) (log t)) |
52 calls. Slowest were:
| 445.0ms | (- (+ (* a (log t)) (+ (log z) (log y))) (+ t (* 0.5 (log t)))) |
| 403.0ms | (- (+ (* 0.5 (log (/ -1 t))) (* a (log -1))) (+ (* a (log (/ -1 t))) (* 0.5 (log -1)))) |
| 306.0ms | (* (exp (- (+ (log (+ x y)) (log z)) t)) (exp (* (- a 0.5) (log t)))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 0.0b
Found 2 expressions with local error:
| 0.4b | (fma (log t) (- a 0.5) (log (+ y x))) |
| 0.1b | (- (fma (log t) (- a 0.5) (log (+ y x))) (- t (log z))) |
2 calls. Slowest were:
| 4.0ms | (- (fma (log t) (- a 0.5) (log (+ y x))) (- t (log z))) |
| 0.0ms | (fma (log t) (- a 0.5) (log (+ y x))) |
2 calls. Slowest were:
| 124.0ms | (fma (log t) (- a 0.5) (log (+ y x))) |
| 98.0ms | (- (fma (log t) (- a 0.5) (log (+ y x))) (- t (log z))) |
34 calls. Slowest were:
| 354.0ms | (- (+ (* a (log t)) (+ (log z) (log x))) (+ t (* 0.5 (log t)))) |
| 326.0ms | (fma 1 (fma (log t) (- a 0.5) (log (+ y x))) (- (* (- t (log z)) 1))) |
| 325.0ms | (- (+ (* 0.5 (log (/ -1 t))) (+ (* a (log -1)) (* 0.5 (log -1)))) (+ (* a (log (/ -1 t))) (log (/ -1 y)))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.5b | (+ (log (sqrt (+ x y))) (log z)) |
| 0.3b | (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) |
| 0.2b | (* (- a 0.5) (log t)) |
| 0.1b | (+ (- (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (* (- a 0.5) (log t))) |
4 calls. Slowest were:
| 422.0ms | (+ (- (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (* (- a 0.5) (log t))) |
| 13.0ms | (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) |
| 5.0ms | (+ (log (sqrt (+ x y))) (log z)) |
4 calls. Slowest were:
| 219.0ms | (+ (- (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (* (- a 0.5) (log t))) |
| 94.0ms | (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) |
| 86.0ms | (+ (log (sqrt (+ x y))) (log z)) |
| 72.0ms | (* (- a 0.5) (log t)) |
71 calls. Slowest were:
| 773.0ms | (* (+ (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t) (+ a 0.5)) |
| 357.0ms | (- (+ (* 0.5 (log (/ -1 t))) (* a (log -1))) (+ (* a (log (/ -1 t))) (* 0.5 (log -1)))) |
| 347.0ms | (+ (* (- (pow (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) 3) (pow t 3)) (+ (* a a) (+ (* 0.5 0.5) (* a 0.5)))) (* (+ (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z)))) (+ (* t t) (* (+ (log (sqrt (+ x y))) (+ (log (sqrt (+ x y))) (log z))) t))) (* (- (pow a 3) (pow 0.5 3)) (log t)))) |
9 alts after pruning (8 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.5b | (cbrt (* (- a 0.5) (log t))) |
| 0.5b | (cbrt (* (- a 0.5) (log t))) |
| 0.5b | (cbrt (* (- a 0.5) (log t))) |
4 calls. Slowest were:
| 9.0ms | (+ (log (+ x y)) (log z)) |
| 4.0ms | (cbrt (* (- a 0.5) (log t))) |
| 4.0ms | (cbrt (* (- a 0.5) (log t))) |
4 calls. Slowest were:
| 122.0ms | (cbrt (* (- a 0.5) (log t))) |
| 108.0ms | (cbrt (* (- a 0.5) (log t))) |
| 102.0ms | (+ (log (+ x y)) (log z)) |
| 89.0ms | (cbrt (* (- a 0.5) (log t))) |
31 calls. Slowest were:
| 261.0ms | (- (pow (* -0.5 (log t)) 1/3) (+ (* 0.4444444444444444 (* (pow a 2) (pow (* (log t) -0.5) 1/3))) (* 0.6666666666666666 (* a (pow (* (log t) -0.5) 1/3))))) |
| 239.0ms | (- (pow (* -0.5 (log t)) 1/3) (+ (* 0.4444444444444444 (* (pow a 2) (pow (* (log t) -0.5) 1/3))) (* 0.6666666666666666 (* a (pow (* (log t) -0.5) 1/3))))) |
| 220.0ms | (cbrt (* (- (* a a) (* 0.5 0.5)) (log t))) |
10 alts after pruning (9 fresh and 1 done)
Merged error: 0.0b
0% (0.2b remaining)
Error of 0.3b against oracle of 0.1b and baseline of 0.3b