


Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
if t < -1.2330335312361627e-71Initial program 32.8
Initial simplification32.0
rmApplied sub-neg32.0
Applied distribute-rgt-in32.0
Simplified28.8
rmApplied add-sqr-sqrt28.8
Applied rem-sqrt-square28.8
Simplified26.8
rmApplied associate-*l/25.8
rmApplied add-sqr-sqrt25.8
Applied sqrt-prod26.0
if -1.2330335312361627e-71 < t < 8.257330990400501e-80Initial program 35.0
Initial simplification33.7
rmApplied sub-neg33.7
Applied distribute-rgt-in33.7
Simplified30.6
rmApplied associate-*l*29.5
if 8.257330990400501e-80 < t < 5.914050883243675e+176Initial program 30.5
Initial simplification29.8
rmApplied sub-neg29.8
Applied distribute-rgt-in29.8
Simplified26.9
rmApplied add-sqr-sqrt26.9
Applied rem-sqrt-square26.9
Simplified25.4
rmApplied associate-*l/24.6
rmApplied add-cube-cbrt24.9
if 5.914050883243675e+176 < t Initial program 36.3
Initial simplification36.1
rmApplied sqrt-prod25.5
Final simplification27.0
herbie shell --seed 2018362 +o rules:numerics
(FPCore (n U t l Om U*)
:name "Toniolo and Linder, Equation (13)"
(sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))))
Time bar (total: 31.5s)Debug log
2 alts after pruning (2 fresh and 0 done)
Merged error: 30.2b
Found 4 expressions with local error:
| 18.9b | (sqrt (* (* 2 (* U n)) (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))))) |
| 12.6b | (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l))) |
| 10.3b | (* (* 2 (* U n)) (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l))))) |
| 0.2b | (* (/ l Om) (/ l Om)) |
4 calls. Slowest were:
| 10.0ms | (* (* 2 (* U n)) (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l))))) |
| 9.0ms | (sqrt (* (* 2 (* U n)) (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))))) |
| 6.0ms | (* (/ l Om) (/ l Om)) |
4 calls. Slowest were:
| 1.6s | (sqrt (* (* 2 (* U n)) (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))))) |
| 318.0ms | (* (* 2 (* U n)) (- t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l))))) |
| 84.0ms | (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l))) |
| 23.0ms | (* (/ l Om) (/ l Om)) |
42 calls. Slowest were:
| 874.0ms | (* (* (* (/ l Om) (/ l Om)) (/ l Om)) (* (* (/ l Om) (/ l Om)) (/ l Om))) |
| 429.0ms | (+ (* t t) (+ (* (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l))) (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))) (* t (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))))) |
| 387.0ms | (* (- (fma (* (/ l Om) (/ l Om)) (* (- U U*) n) (* (/ l Om) (* 2 l)))) (* 2 (* U n))) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 20.6b
Found 4 expressions with local error:
| 18.9b | (sqrt (+ (* t (* 2 (* U n))) (* (* (* n (* U -2)) (/ l Om)) (fma (* n (- U U*)) (/ l Om) (* 2 l))))) |
| 10.1b | (* (* n (* U -2)) (/ l Om)) |
| 8.8b | (fma (* n (- U U*)) (/ l Om) (* 2 l)) |
| 4.4b | (* t (* 2 (* U n))) |
4 calls. Slowest were:
| 8.0ms | (* (* n (* U -2)) (/ l Om)) |
| 5.0ms | (sqrt (+ (* t (* 2 (* U n))) (* (* (* n (* U -2)) (/ l Om)) (fma (* n (- U U*)) (/ l Om) (* 2 l))))) |
| 4.0ms | (* t (* 2 (* U n))) |
4 calls. Slowest were:
| 823.0ms | (sqrt (+ (* t (* 2 (* U n))) (* (* (* n (* U -2)) (/ l Om)) (fma (* n (- U U*)) (/ l Om) (* 2 l))))) |
| 66.0ms | (fma (* n (- U U*)) (/ l Om) (* 2 l)) |
| 37.0ms | (* (* n (* U -2)) (/ l Om)) |
| 29.0ms | (* t (* 2 (* U n))) |
26 calls. Slowest were:
| 513.0ms | (- (+ (/ (* U (* n l)) Om) (* 2 l)) (/ (* n (* U* l)) Om)) |
| 387.0ms | (+ (log (* n (* U -2))) (log (/ l Om))) |
| 260.0ms | (sqrt (+ (pow (* t (* 2 (* U n))) 3) (pow (* (* (* n (* U -2)) (/ l Om)) (fma (* n (- U U*)) (/ l Om) (* 2 l))) 3))) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 17.0b
Found 4 expressions with local error:
| 18.9b | (sqrt (fma (fma (- U U*) (* (/ l Om) n) (* l 2)) (/ (* (* l n) (* -2 U)) Om) (* (* t U) (* n 2)))) |
| 6.0b | (* (/ l Om) n) |
| 5.5b | (* (* t U) (* n 2)) |
| 5.0b | (/ (* (* l n) (* -2 U)) Om) |
4 calls. Slowest were:
| 11.0ms | (/ (* (* l n) (* -2 U)) Om) |
| 6.0ms | (* (* t U) (* n 2)) |
| 4.0ms | (* (/ l Om) n) |
4 calls. Slowest were:
| 2.5s | (sqrt (fma (fma (- U U*) (* (/ l Om) n) (* l 2)) (/ (* (* l n) (* -2 U)) Om) (* (* t U) (* n 2)))) |
| 28.0ms | (/ (* (* l n) (* -2 U)) Om) |
| 20.0ms | (* (* t U) (* n 2)) |
| 17.0ms | (* (/ l Om) n) |
23 calls. Slowest were:
| 681.0ms | (* (* (* (* t U) (* t U)) (* t U)) (* (* (* n 2) (* n 2)) (* n 2))) |
| 292.0ms | (* -2 (/ (* U (* n l)) Om)) |
| 265.0ms | (* -2 (/ (* U (* n l)) Om)) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 16.0b
Found 4 expressions with local error:
| 18.9b | (sqrt (fma (fma (- U U*) (/ (* l n) Om) (* l 2)) (/ (* (* l n) (* -2 U)) Om) (* (* t U) (* n 2)))) |
| 5.5b | (* (* t U) (* n 2)) |
| 5.0b | (/ (* (* l n) (* -2 U)) Om) |
| 3.8b | (* (* l n) (* -2 U)) |
4 calls. Slowest were:
| 6.0ms | (/ (* (* l n) (* -2 U)) Om) |
| 3.0ms | (* (* l n) (* -2 U)) |
| 3.0ms | (* (* t U) (* n 2)) |
4 calls. Slowest were:
| 2.4s | (sqrt (fma (fma (- U U*) (/ (* l n) Om) (* l 2)) (/ (* (* l n) (* -2 U)) Om) (* (* t U) (* n 2)))) |
| 52.0ms | (/ (* (* l n) (* -2 U)) Om) |
| 20.0ms | (* (* t U) (* n 2)) |
| 17.0ms | (* (* l n) (* -2 U)) |
23 calls. Slowest were:
| 618.0ms | (* (* (* (* l n) (* l n)) (* l n)) (* (* (* -2 U) (* -2 U)) (* -2 U))) |
| 564.0ms | (* (* (* (* t U) (* t U)) (* t U)) (* (* (* n 2) (* n 2)) (* n 2))) |
| 271.0ms | (* -2 (/ (* U (* n l)) Om)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 16.0b
8.5% (8.9b remaining)
Error of 27.0b against oracle of 18.1b and baseline of 27.8b