


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a
Results
Initial program 0.2
rmApplied add-cbrt-cube0.3
Final simplification0.3
herbie shell --seed 2019005 +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: 55.8s)Debug log
1 calls. Slowest were:
| 340.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
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.1b | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 0.1b | (* (- a 0.5) (log t)) |
| 0.0b | (- (+ (log (+ x y)) (log z)) t) |
4 calls. Slowest were:
| 131.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 56.0ms | (- (+ (log (+ x y)) (log z)) t) |
| 8.0ms | (* (- a 0.5) (log t)) |
4 calls. Slowest were:
| 235.0ms | (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))) |
| 223.0ms | (- (+ (log (+ x y)) (log z)) t) |
| 81.0ms | (+ (log (+ x y)) (log z)) |
| 52.0ms | (* (- a 0.5) (log t)) |
52 calls. Slowest were:
| 378.0ms | (- (+ (* a (log t)) (+ (log z) (log y))) (+ t (* 0.5 (log t)))) |
| 342.0ms | (- (+ (* 0.5 (log (/ -1 t))) (* a (log -1))) (+ (* a (log (/ -1 t))) (* 0.5 (log -1)))) |
| 252.0ms | (- (* 0.5 (log (/ 1 t))) (+ t (+ (log (/ 1 z)) (+ (log (/ 1 x)) (* a (log (/ 1 t))))))) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.5b | (cbrt (* (* (+ (log (+ x y)) (log z)) (+ (log (+ x y)) (log z))) (+ (log (+ x y)) (log z)))) |
4 calls. Slowest were:
| 24.0ms | (cbrt (* (* (+ (log (+ x y)) (log z)) (+ (log (+ x y)) (log z))) (+ (log (+ x y)) (log z)))) |
| 5.0ms | (+ (log (+ x y)) (log z)) |
| 5.0ms | (+ (log (+ x y)) (log z)) |
4 calls. Slowest were:
| 96.0ms | (+ (log (+ x y)) (log z)) |
| 79.0ms | (+ (log (+ x y)) (log z)) |
| 77.0ms | (cbrt (* (* (+ (log (+ x y)) (log z)) (+ (log (+ x y)) (log z))) (+ (log (+ x y)) (log z)))) |
| 64.0ms | (+ (log (+ x y)) (log z)) |
70 calls. Slowest were:
| 898.0ms | (cbrt (* (* (- (* (log (+ x y)) (log (+ x y))) (* (log z) (log z))) (- (* (log (+ x y)) (log (+ x y))) (* (log z) (log z)))) (+ (pow (log (+ x y)) 3) (pow (log z) 3)))) |
| 865.0ms | (cbrt (* (* (+ (pow (log (+ x y)) 3) (pow (log z) 3)) (- (* (log (+ x y)) (log (+ x y))) (* (log z) (log z)))) (- (* (log (+ x y)) (log (+ x y))) (* (log z) (log z))))) |
| 851.0ms | (cbrt (* (* (+ (pow (log (+ x y)) 3) (pow (log z) 3)) (- (* (log (+ x y)) (log (+ x y))) (* (log z) (log z)))) (+ (log (+ x y)) (log z)))) |
12 alts after pruning (11 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.7b | (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) |
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.5b | (* (cbrt (- a 0.5)) (log t)) |
| 0.3b | (* (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) (* (cbrt (- a 0.5)) (log t))) |
4 calls. Slowest were:
| 24.0ms | (* (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) (* (cbrt (- a 0.5)) (log t))) |
| 5.0ms | (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) |
| 5.0ms | (+ (log (+ x y)) (log z)) |
4 calls. Slowest were:
| 120.0ms | (* (cbrt (- a 0.5)) (log t)) |
| 103.0ms | (* (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) (* (cbrt (- a 0.5)) (log t))) |
| 92.0ms | (+ (log (+ x y)) (log z)) |
| 92.0ms | (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) |
123 calls. Slowest were:
| 779.0ms | (* (* (* (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) (* (cbrt (- a 0.5)) (cbrt (- a 0.5)))) (* (cbrt (- a 0.5)) (cbrt (- a 0.5)))) (* (- a 0.5) (* (* (log t) (log t)) (log t)))) |
| 626.0ms | (* (* (- a 0.5) (- a 0.5)) (* (* (* (cbrt (- a 0.5)) (log t)) (* (cbrt (- a 0.5)) (log t))) (* (cbrt (- a 0.5)) (log t)))) |
| 495.0ms | (* (* (* (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) (* (cbrt (- a 0.5)) (cbrt (- a 0.5)))) (* (cbrt (- a 0.5)) (cbrt (- a 0.5)))) (* (* (* (cbrt (- a 0.5)) (log t)) (* (cbrt (- a 0.5)) (log t))) (* (cbrt (- a 0.5)) (log t)))) |
13 alts after pruning (12 fresh and 1 done)
Merged error: 0.0b
Found 4 expressions with local error:
| 0.7b | (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) |
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.6b | (+ (log (+ x y)) (log z)) |
| 0.6b | (+ (log (+ x y)) (log z)) |
4 calls. Slowest were:
| 5.0ms | (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) |
| 5.0ms | (+ (log (+ x y)) (log z)) |
| 5.0ms | (+ (log (+ x y)) (log z)) |
4 calls. Slowest were:
| 82.0ms | (+ (log (+ x y)) (log z)) |
| 70.0ms | (+ (log (+ x y)) (log z)) |
| 64.0ms | (* (cbrt (- a 0.5)) (cbrt (- a 0.5))) |
| 64.0ms | (+ (log (+ x y)) (log z)) |
74 calls. Slowest were:
| 288.0ms | (- (* 2 (log -1)) (+ (log (/ -1 x)) (log (/ -1 z)))) |
| 246.0ms | (- (* 2 (log -1)) (+ (log (/ -1 x)) (log (/ -1 z)))) |
| 235.0ms | (- (* 2 (log -1)) (+ (log (/ -1 x)) (log (/ -1 z)))) |
13 alts after pruning (11 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