


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



Bits error versus i
Initial program 28.5
rmApplied *-un-lft-identity28.5
Applied associate-/r*28.5
Simplified28.5
rmApplied associate-/l/28.5
Simplified28.5
rmApplied *-un-lft-identity28.5
Applied times-frac28.5
Simplified28.5
Final simplification28.5
herbie shell --seed 2019010 +o rules:numerics
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
Time bar (total: 41.7s)Debug log
| 172.0ms | (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)) |
2 alts after pruning (2 fresh and 0 done)
Merged error: 30.4b
Found 4 expressions with local error:
| 30.4b | (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)) |
| 0.1b | (* (+ (* (+ (* x y) z) y) 27464.7644705) y) |
| 0.1b | (* (+ (* (+ y a) y) b) y) |
| 0.1b | (* (+ (* (+ (* (+ y a) y) b) y) c) y) |
| 15× | add-cube-cbrt |
| 15× | *-un-lft-identity |
| 15× | add-sqr-sqrt |
| 9× | associate-*l* |
| 9× | times-frac |
| 6× | add-exp-log |
| 6× | associate-*l/ |
| 6× | add-cbrt-cube |
| 5× | flip-+ |
| 5× | flip3-+ |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | *-commutative |
| 3× | associate-/r* |
| 2× | associate-/l/ |
| 2× | associate-/r/ |
| 1× | div-inv |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 79.0ms | (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)) |
| 30.0ms | (* (+ (* (+ (* (+ y a) y) b) y) c) y) |
| 21.0ms | (* (+ (* (+ (* x y) z) y) 27464.7644705) y) |
| 17.0ms | (* (+ (* (+ y a) y) b) y) |
| 333.0ms | (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)) |
| 59.0ms | (* (+ (* (+ (* (+ y a) y) b) y) c) y) |
| 56.0ms | (* (+ (* (+ (* x y) z) y) 27464.7644705) y) |
| 35.0ms | (* (+ (* (+ y a) y) b) y) |
| 560.0ms | (- (log (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)) (log (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))) |
| 502.0ms | (+ (* (* (+ (* (+ (* (+ y a) y) b) y) c) y) (* (+ (* (+ (* (+ y a) y) b) y) c) y)) (- (* i i) (* (* (+ (* (+ (* (+ y a) y) b) y) c) y) i))) |
| 490.0ms | (+ (pow (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) 3) (pow t 3)) |
| 484.0ms | (- (* (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y)) (* t t)) |
| 419.0ms | (/ (* (cbrt (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)) (cbrt (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t))) 1) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 29.6b
Found 4 expressions with local error:
| 30.4b | (/ (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1) (fma (fma (* y y) (+ a y) (fma y b c)) y i)) |
| 4.9b | (fma (* y y) (+ a y) (fma y b c)) |
| 0.1b | (* (+ (* (+ (* x y) z) y) 27464.7644705) y) |
| 0.1b | (* (+ (* x y) z) y) |
| 15× | add-cube-cbrt |
| 15× | *-un-lft-identity |
| 15× | add-sqr-sqrt |
| 12× | times-frac |
| 6× | add-exp-log |
| 6× | associate-*l* |
| 6× | add-cbrt-cube |
| 5× | div-inv |
| 4× | add-log-exp |
| 4× | associate-/l* |
| 4× | log1p-expm1-u |
| 4× | associate-*l/ |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/r* |
| 2× | flip-+ |
| 2× | *-commutative |
| 2× | flip3-+ |
| 1× | associate-/l/ |
| 1× | fma-udef |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 44.0ms | (/ (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1) (fma (fma (* y y) (+ a y) (fma y b c)) y i)) |
| 21.0ms | (* (+ (* (+ (* x y) z) y) 27464.7644705) y) |
| 9.0ms | (* (+ (* x y) z) y) |
| 0.0ms | (fma (* y y) (+ a y) (fma y b c)) |
| 329.0ms | (/ (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1) (fma (fma (* y y) (+ a y) (fma y b c)) y i)) |
| 59.0ms | (fma (* y y) (+ a y) (fma y b c)) |
| 57.0ms | (* (+ (* (+ (* x y) z) y) 27464.7644705) y) |
| 31.0ms | (* (+ (* x y) z) y) |
| 466.0ms | (/ (sqrt (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1)) 1) |
| 442.0ms | (/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) 1) |
| 425.0ms | (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) |
| 392.0ms | (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) |
| 374.0ms | (* (+ (pow (* (+ (* x y) z) y) 3) (pow 27464.7644705 3)) y) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 29.6b
Found 4 expressions with local error:
| 30.4b | (/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1)) |
| 4.9b | (fma (* y y) (+ a y) (fma y b c)) |
| 0.8b | (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) |
| 0.0b | (fma (fma (* y y) (+ a y) (fma y b c)) y i) |
| 6× | add-cube-cbrt |
| 6× | add-exp-log |
| 6× | add-cbrt-cube |
| 6× | *-un-lft-identity |
| 6× | add-sqr-sqrt |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | pow1 |
| 4× | expm1-log1p-u |
| 3× | associate-/l* |
| 3× | fma-udef |
| 3× | times-frac |
| 1× | div-inv |
| 1× | div-exp |
| 1× | frac-2neg |
| 1× | associate-/r* |
| 1× | clear-num |
| 1× | cbrt-undiv |
| 5.0ms | (/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1)) |
| 0.0ms | (fma (* y y) (+ a y) (fma y b c)) |
| 0.0ms | (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) |
| 0.0ms | (fma (fma (* y y) (+ a y) (fma y b c)) y i) |
| 258.0ms | (/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1)) |
| 92.0ms | (fma (fma (* y y) (+ a y) (fma y b c)) y i) |
| 50.0ms | (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) |
| 46.0ms | (fma (* y y) (+ a y) (fma y b c)) |
| 404.0ms | (/ (sqrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) 1) |
| 354.0ms | (- (log (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) (log (* (fma (fma (* y y) (+ a y) (fma y b c)) y i) 1))) |
| 352.0ms | (/ (cbrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) 1) |
| 339.0ms | (* (cbrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t))) (cbrt (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)))) |
| 273.0ms | (/ (fma (* y y) (fma y (fma y x z) 27464.7644705) (fma y 230661.510616 t)) 1) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 29.6b
Found 4 expressions with local error:
| 30.3b | (* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))) |
| 4.9b | (fma (* y y) (+ a y) (fma y b c)) |
| 0.8b | (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)) |
| 0.4b | (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) |
| 9× | add-exp-log |
| 7× | add-cube-cbrt |
| 7× | *-un-lft-identity |
| 7× | pow1 |
| 7× | add-sqr-sqrt |
| 6× | add-cbrt-cube |
| 4× | add-log-exp |
| 4× | log1p-expm1-u |
| 4× | fma-udef |
| 4× | associate-*l* |
| 4× | expm1-log1p-u |
| 3× | associate-*r* |
| 3× | associate-/r* |
| 2× | div-inv |
| 2× | prod-exp |
| 2× | rec-exp |
| 1× | inv-pow |
| 1× | pow-flip |
| 1× | cbrt-unprod |
| 1× | *-commutative |
| 1× | associate-*l/ |
| 1× | pow-prod-down |
| 1× | distribute-lft-in |
| 1× | frac-2neg |
| 1× | clear-num |
| 1× | distribute-rgt-in |
| 9.0ms | (* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))) |
| 2.0ms | (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) |
| 0.0ms | (fma (* y y) (+ a y) (fma y b c)) |
| 0.0ms | (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)) |
| 457.0ms | (* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))) |
| 70.0ms | (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) |
| 55.0ms | (fma (* y y) (+ a y) (fma y b c)) |
| 52.0ms | (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t)) |
| 603.0ms | (* 1 (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))) |
| 483.0ms | (* (fma 230661.510616 y t) (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i))) |
| 391.0ms | (* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma (* y y) (fma (fma x y z) y 27464.7644705) (fma 230661.510616 y t))) |
| 286.0ms | (* (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)) (fma 230661.510616 y t)) |
| 206.0ms | (* (cbrt (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i))) (cbrt (/ 1 (fma (fma (* y y) (+ a y) (fma y b c)) y i)))) |
11 alts after pruning (10 fresh and 1 done)
Merged error: 29.6b
0% (0.8b remaining)
Error of 28.5b against oracle of 27.7b and baseline of 28.5b