


Bits error versus re



Bits error versus im
Results
if re < -1.1401983261996084e+55Initial program 43.1
Initial simplification43.1
rmApplied add-sqr-sqrt43.1
Applied pow1/243.1
Applied log-pow43.1
Applied times-frac43.1
Taylor expanded around -inf 10.6
if -1.1401983261996084e+55 < re < -4.41087148146037e-297Initial program 21.1
Initial simplification21.1
rmApplied add-sqr-sqrt21.1
Applied pow1/221.1
Applied log-pow21.1
Applied times-frac21.1
rmApplied add-sqr-sqrt21.2
Applied associate-*l*21.1
rmApplied associate-*r/21.1
Applied associate-*r/21.1
if -4.41087148146037e-297 < re < 4.374664428585637e-243Initial program 29.7
Initial simplification29.7
rmApplied add-sqr-sqrt29.7
Applied pow1/229.7
Applied log-pow29.7
Applied times-frac29.6
rmApplied add-sqr-sqrt29.7
Applied associate-*l*29.6
Taylor expanded around 0 34.7
if 4.374664428585637e-243 < re < 5.6224680550833235e+107Initial program 19.9
Initial simplification19.9
rmApplied add-sqr-sqrt19.9
Applied pow1/219.9
Applied log-pow19.9
Applied times-frac19.9
rmApplied add-cube-cbrt19.9
if 5.6224680550833235e+107 < re Initial program 51.3
Initial simplification51.3
rmApplied add-sqr-sqrt51.3
Applied pow1/251.3
Applied log-pow51.3
Applied times-frac51.3
rmApplied add-sqr-sqrt51.3
Applied associate-*l*51.3
Taylor expanded around inf 8.2
Simplified8.2
Final simplification17.5
herbie shell --seed 2018365
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))
Time bar (total: 26.5s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 32.3b
Found 3 expressions with local error:
| 30.9b | (sqrt (+ (* re re) (* im im))) |
| 0.6b | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 0.0b | (+ (* re re) (* im im)) |
3 calls. Slowest were:
| 16.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 6.0ms | (sqrt (+ (* re re) (* im im))) |
| 4.0ms | (+ (* re re) (* im im)) |
3 calls. Slowest were:
| 191.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 54.0ms | (sqrt (+ (* re re) (* im im))) |
| 26.0ms | (+ (* re re) (* im im)) |
55 calls. Slowest were:
| 143.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
| 131.0ms | (/ (* (* (log (sqrt (+ (* re re) (* im im)))) (log (sqrt (+ (* re re) (* im im))))) (log (sqrt (+ (* re re) (* im im))))) (* (* (log 10) (log 10)) (log 10))) |
| 116.0ms | (/ (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (log 10)) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 9.1b
Found 4 expressions with local error:
| 32.1b | (log (+ (* re re) (* im im))) |
| 0.4b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.3b | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 0.0b | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 7.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 6.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 2.0ms | (+ (* re re) (* im im)) |
4 calls. Slowest were:
| 191.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 180.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 49.0ms | (log (+ (* re re) (* im im))) |
| 25.0ms | (+ (* re re) (* im im)) |
118 calls. Slowest were:
| 575.0ms | (* (* (* (/ 1/2 (sqrt (log 10))) (/ 1/2 (sqrt (log 10)))) (/ 1/2 (sqrt (log 10)))) (* (* (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 172.0ms | (/ (log (- (* (* re re) (* re re)) (* (* im im) (* im im)))) (sqrt (log 10))) |
| 167.0ms | (log (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 9.0b
Found 4 expressions with local error:
| 32.1b | (log (+ (* re re) (* im im))) |
| 0.4b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.4b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 0.3b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
4 calls. Slowest were:
| 16.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 7.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 7.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
4 calls. Slowest were:
| 548.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 251.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 193.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 54.0ms | (log (+ (* re re) (* im im))) |
146 calls. Slowest were:
| 563.0ms | (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) (sqrt (/ 1/2 (sqrt (log 10))))) (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))))) |
| 387.0ms | (* -2 (/ (* (log (/ -1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
| 314.0ms | (* 2 (/ (* (log im) (pow (sqrt 1/2) 2)) (log 10))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 8.9b
Found 4 expressions with local error:
| 32.1b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) (sqrt (log 10))) |
| 0.4b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) |
| 0.3b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) |
4 calls. Slowest were:
| 29.0ms | (/ (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) (sqrt (log 10))) |
| 25.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) |
| 13.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) |
4 calls. Slowest were:
| 381.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) |
| 274.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) |
| 224.0ms | (/ (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) (sqrt (log 10))) |
| 48.0ms | (log (+ (* re re) (* im im))) |
95 calls. Slowest were:
| 744.0ms | (* 2 (* (* (log im) (pow (sqrt 1/2) 2)) (sqrt (/ 1 (log 10))))) |
| 578.0ms | (* -2 (* (sqrt (/ 1 (log 10))) (* (log (/ 1 re)) (pow (sqrt 1/2) 2)))) |
| 377.0ms | (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) (sqrt (/ 1/2 (sqrt (log 10))))) (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (sqrt (/ 1/2 (sqrt (log 10))))) (sqrt (/ 1/2 (sqrt (log 10))))) (* (* (log (+ (* re re) (* im im))) (log (+ (* re re) (* im im)))) (log (+ (* re re) (* im im)))))) |
18 alts after pruning (17 fresh and 1 done)
Merged error: 8.9b
55.8% (10.3b remaining)
Error of 17.5b against oracle of 7.1b and baseline of 30.5b