


Bits error versus n



Bits error versus U



Bits error versus t



Bits error versus l



Bits error versus Om



Bits error versus U*
Results
if n < 9.216249262006833e-304Initial program 33.2
rmApplied associate-/l*30.8
rmApplied associate-*l*30.4
rmApplied add-sqr-sqrt30.6
if 9.216249262006833e-304 < n Initial program 33.8
rmApplied associate-/l*31.2
rmApplied associate-*l*31.3
rmApplied sqrt-prod24.8
Final simplification27.7
herbie shell --seed 2019002 +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: 1.1m)Debug log
1 calls. Slowest were:
| 530.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 31.9b
Found 4 expressions with local error:
| 18.7b | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 10.1b | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 7.8b | (/ (* l l) Om) |
| 6.9b | (* n (pow (/ l Om) 2)) |
4 calls. Slowest were:
| 28.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 28.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 7.0ms | (/ (* l l) Om) |
4 calls. Slowest were:
| 1.2s | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 368.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 46.0ms | (* n (pow (/ l Om) 2)) |
| 13.0ms | (/ (* l l) Om) |
54 calls. Slowest were:
| 672.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
| 605.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
| 550.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 22.7b
Found 4 expressions with local error:
| 18.7b | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 10.1b | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 6.9b | (* n (pow (/ l Om) 2)) |
| 5.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 41.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 17.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 13.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
4 calls. Slowest were:
| 1.2s | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 340.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 71.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 35.0ms | (* n (pow (/ l Om) 2)) |
66 calls. Slowest were:
| 738.0ms | (cbrt (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 626.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
| 622.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
12 alts after pruning (12 fresh and 0 done)
Merged error: 20.9b
Found 4 expressions with local error:
| 18.7b | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 6.9b | (* n (pow (/ l Om) 2)) |
| 5.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 4.7b | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
4 calls. Slowest were:
| 46.0ms | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 28.0ms | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 13.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 1.1s | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 239.0ms | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 73.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 49.0ms | (* n (pow (/ l Om) 2)) |
62 calls. Slowest were:
| 589.0ms | (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (+ (* U U) (+ (* U* U*) (* U U*)))) |
| 559.0ms | (* (- (* (* n (pow (/ l Om) 2)) (- U U*))) U) |
| 534.0ms | (* (- (* (* n (pow (/ l Om) 2)) (- U U*))) U) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 18.2b
Found 4 expressions with local error:
| 18.7b | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 18.7b | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 6.9b | (* n (pow (/ l Om) 2)) |
| 6.9b | (* n (pow (/ l Om) 2)) |
4 calls. Slowest were:
| 35.0ms | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 28.0ms | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 3.0ms | (* n (pow (/ l Om) 2)) |
4 calls. Slowest were:
| 1.3s | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 1.2s | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 52.0ms | (* n (pow (/ l Om) 2)) |
| 50.0ms | (* n (pow (/ l Om) 2)) |
42 calls. Slowest were:
| 508.0ms | (sqrt (* (* 2 n) (* U (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ (* U U) (+ (* U* U*) (* U U*)))) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* n (pow (/ l Om) 2)) (- (pow U 3) (pow U* 3)))))))) |
| 352.0ms | (sqrt (* (* 2 n) (* U (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ U U*)) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* n (pow (/ l Om) 2)) (- (* U U) (* U* U*)))))))) |
| 314.0ms | (sqrt (* (* 2 n) (* U (- (* (- (pow t 3) (pow (* 2 (/ l (/ Om l))) 3)) (+ (* U U) (+ (* U* U*) (* U U*)))) (* (+ (* t t) (+ (* (* 2 (/ l (/ Om l))) (* 2 (/ l (/ Om l)))) (* t (* 2 (/ l (/ Om l)))))) (* (* n (pow (/ l Om) 2)) (- (pow U 3) (pow U* 3)))))))) |
15 alts after pruning (14 fresh and 1 done)
Merged error: 18.2b
26% (9.5b remaining)
Error of 27.7b against oracle of 18.2b and baseline of 31.0b