


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 n < -499.91336675588843Initial program 30.6
rmApplied associate-/l*28.4
rmApplied sqrt-prod39.6
if -499.91336675588843 < n < -4.306424586034209e-281Initial program 34.3
rmApplied associate-/l*31.6
rmApplied associate-*l*29.6
rmApplied add-cube-cbrt29.9
Applied prod-diff29.9
Simplified29.6
Simplified28.6
if -4.306424586034209e-281 < n < 3.615880178248846e-300Initial program 39.4
rmApplied associate-/l*36.4
rmApplied associate-*l*36.3
rmApplied add-cube-cbrt36.5
Applied prod-diff36.5
Simplified36.3
Simplified34.4
rmApplied pow134.4
Applied pow134.4
Applied pow-prod-down34.4
Simplified37.0
if 3.615880178248846e-300 < n Initial program 33.0
rmApplied associate-/l*30.2
rmApplied associate-*l*30.4
rmApplied sqrt-prod23.5
Final simplification28.6
herbie shell --seed 2019005 +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.3m)Debug log
1 calls. Slowest were:
| 103.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: 32.6b
Found 4 expressions with local error:
| 19.2b | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 9.6b | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 6.1b | (/ (* l l) Om) |
| 6.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 32.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 27.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 12.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
4 calls. Slowest were:
| 1.1s | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 386.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ (* l l) Om))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 118.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 17.0ms | (/ (* l l) Om) |
58 calls. Slowest were:
| 586.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
| 552.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
| 489.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
11 alts after pruning (11 fresh and 0 done)
Merged error: 22.6b
Found 4 expressions with local error:
| 19.2b | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 9.6b | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 6.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 4.8b | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
4 calls. Slowest were:
| 26.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 25.0ms | (sqrt (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))))) |
| 7.0ms | (- (- 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*))))) |
| 376.0ms | (* (* (* 2 n) U) (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 248.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 74.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
79 calls. Slowest were:
| 984.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
| 572.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
| 540.0ms | (* (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2)))) (* (* 2 n) U)) |
10 alts after pruning (10 fresh and 0 done)
Merged error: 22.1b
Found 4 expressions with local error:
| 19.2b | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 6.0b | (* (* n (pow (/ l Om) 2)) (- U U*)) |
| 5.0b | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 4.8b | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
4 calls. Slowest were:
| 24.0ms | (sqrt (* (* 2 n) (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))))) |
| 18.0ms | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 17.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* 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*)))))) |
| 294.0ms | (* U (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 248.0ms | (- (- t (* 2 (/ l (/ Om l)))) (* (* n (pow (/ l Om) 2)) (- U U*))) |
| 79.0ms | (* (* n (pow (/ l Om) 2)) (- U U*)) |
75 calls. Slowest were:
| 632.0ms | (* U (fma (- (- U U*)) (* n (pow (/ l Om) 2)) (* (- U U*) (* n (pow (/ l Om) 2))))) |
| 578.0ms | (* U (- (* (* n (pow (/ l Om) 2)) (- U U*)))) |
| 488.0ms | (* (- (* (* n (pow (/ l Om) 2)) (- U U*))) U) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 17.7b
Found 4 expressions with local error:
| 19.2b | (sqrt (* (* 2 n) (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0)))) |
| 10.7b | (* (/ l Om) (* (- U* U) n)) |
| 5.0b | (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0)) |
| 4.6b | (* (* 2 n) (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0))) |
4 calls. Slowest were:
| 8.0ms | (* (* 2 n) (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0))) |
| 8.0ms | (* (/ l Om) (* (- U* U) n)) |
| 4.0ms | (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0)) |
4 calls. Slowest were:
| 1.3s | (sqrt (* (* 2 n) (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0)))) |
| 317.0ms | (* (* 2 n) (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0))) |
| 200.0ms | (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0)) |
| 91.0ms | (* (/ l Om) (* (- U* U) n)) |
44 calls. Slowest were:
| 611.0ms | (* (/ l Om) (* (- U* U) n)) |
| 460.0ms | (sqrt (* (* 2 n) (* U (- (* (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t))) (* 0 0))))) |
| 330.0ms | (* (* (* (* 2 n) (* 2 n)) (* 2 n)) (* (* (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0)) (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0))) (* U (+ (fma (* (/ l Om) (* (- U* U) n)) (/ l Om) (fma -2 (/ l (/ Om l)) t)) 0)))) |
16 alts after pruning (15 fresh and 1 done)
Merged error: 17.5b
8.5% (10.9b remaining)
Error of 28.6b against oracle of 17.7b and baseline of 29.6b