



Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a




Bits error versus b
| Original | 2.0 |
|---|---|
| Target | 11.7 |
| Herbie | 3.2 |
if (* (- t 1.0) (log a)) < -2.1755041691382755e98 or -32.420870981728442 < (* (- t 1.0) (log a)) Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied exp-prod0.6
Simplified0.6
rmApplied add-sqr-sqrt0.7
Applied unpow-prod-down0.6
Simplified0.6
Simplified0.6
if -2.1755041691382755e98 < (* (- t 1.0) (log a)) < -32.420870981728442Initial program 4.2
rmApplied *-un-lft-identity4.2
Applied exp-prod4.3
Simplified4.3
Taylor expanded around inf 4.3
Simplified7.3
Final simplification3.2
herbie shell --seed 2020192
(FPCore (x y z t a b)
:name "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2, A"
:precision binary64
:herbie-target
(if (< t -0.8845848504127471) (/ (* x (/ (pow a (- t 1.0)) y)) (- (+ b 1.0) (* y (log z)))) (if (< t 852031.2288374073) (/ (* (/ x y) (pow a (- t 1.0))) (exp (- b (* (log z) y)))) (/ (* x (/ (pow a (- t 1.0)) y)) (- (+ b 1.0) (* y (log z))))))
(/ (* x (exp (- (+ (* y (log z)) (* (- t 1.0) (log a))) b))) y))