


Bits error versus re



Bits error versus im
Results
if re < -1.747299818609954e+153Initial program 61.6
rmApplied add-sqr-sqrt61.6
Applied pow1/261.6
Applied log-pow61.6
Applied times-frac61.6
Taylor expanded around -inf 7.1
if -1.747299818609954e+153 < re < 1.0209258191409414e+147Initial program 21.2
rmApplied add-sqr-sqrt21.2
Applied pow1/221.2
Applied log-pow21.2
Applied times-frac21.2
rmApplied add-sqr-sqrt21.2
Applied associate-*l*21.1
rmApplied associate-*r/21.1
if 1.0209258191409414e+147 < re Initial program 60.3
rmApplied add-sqr-sqrt60.3
Applied pow1/260.3
Applied log-pow60.3
Applied times-frac60.3
Taylor expanded around inf 6.9
Simplified6.9
Final simplification17.6
herbie shell --seed 2019005
(FPCore (re im)
:name "math.log10 on complex, real part"
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))
Time bar (total: 24.8s)Debug log
1 calls. Slowest were:
| 4.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
1 alts after pruning (1 fresh and 0 done)
Merged error: 30.6b
Found 3 expressions with local error:
| 29.0b | (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:
| 17.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 4.0ms | (+ (* re re) (* im im)) |
| 4.0ms | (sqrt (+ (* re re) (* im im))) |
3 calls. Slowest were:
| 161.0ms | (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) |
| 48.0ms | (sqrt (+ (* re re) (* im im))) |
| 16.0ms | (+ (* re re) (* im im)) |
55 calls. Slowest were:
| 143.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))) |
| 143.0ms | (/ (log (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im))))) (log 10)) |
| 123.0ms | (sqrt (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 8.2b
Found 4 expressions with local error:
| 30.3b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (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:
| 10.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:
| 186.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 141.0ms | (* (/ 1/2 (sqrt (log 10))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 48.0ms | (log (+ (* re re) (* im im))) |
| 24.0ms | (+ (* re re) (* im im)) |
118 calls. Slowest were:
| 455.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))))) |
| 412.0ms | (/ 1 (sqrt (sqrt (log 10)))) |
| 181.0ms | (log (- (* (* re re) (* re re)) (* (* im im) (* im im)))) |
14 alts after pruning (14 fresh and 0 done)
Merged error: 8.0b
Found 4 expressions with local error:
| 30.3b | (log (+ (* re re) (* im im))) |
| 0.5b | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 0.4b | (* (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))) (sqrt (log 10))))) |
4 calls. Slowest were:
| 33.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 15.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 15.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
4 calls. Slowest were:
| 564.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10)))) |
| 193.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (log (+ (* re re) (* im im))) (sqrt (log 10))))) |
| 186.0ms | (/ (log (+ (* re re) (* im im))) (sqrt (log 10))) |
| 38.0ms | (log (+ (* re re) (* im im))) |
146 calls. Slowest were:
| 599.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)))))) |
| 367.0ms | (* -2 (/ (* (log (/ -1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
| 252.0ms | (* 2 (/ (* (log im) (pow (sqrt 1/2) 2)) (log 10))) |
15 alts after pruning (15 fresh and 0 done)
Merged error: 7.9b
Found 4 expressions with local error:
| 30.3b | (log (+ (* re re) (* im im))) |
| 0.4b | (/ (* (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)))) (sqrt (log 10)))) |
| 0.3b | (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) |
4 calls. Slowest were:
| 20.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) (sqrt (log 10)))) |
| 17.0ms | (/ (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) (sqrt (log 10))) |
| 13.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) |
4 calls. Slowest were:
| 543.0ms | (/ (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) (sqrt (log 10))) |
| 351.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) |
| 232.0ms | (* (sqrt (/ 1/2 (sqrt (log 10)))) (/ (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) (sqrt (log 10)))) |
| 60.0ms | (log (+ (* re re) (* im im))) |
89 calls. Slowest were:
| 604.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))))) |
| 582.0ms | (/ (* (* (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im)))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) (* (sqrt (/ 1/2 (sqrt (log 10)))) (log (+ (* re re) (* im im))))) (* (* (sqrt (log 10)) (sqrt (log 10))) (sqrt (log 10)))) |
| 329.0ms | (* -2 (/ (* (log (/ -1 re)) (pow (sqrt 1/2) 2)) (log 10))) |
15 alts after pruning (14 fresh and 1 done)
Merged error: 7.9b
56.7% (10.3b remaining)
Error of 17.6b against oracle of 7.3b and baseline of 31.1b