


Bits error versus re



Bits error versus im



Bits error versus base
Results
if im < -1.3407413557386721e+154 or -5.308155628389414e-107 < im < 2.992130444153369e-162Initial program 38.1
Initial simplification38.1
Taylor expanded around -inf 62.8
Simplified21.4
rmApplied add-cbrt-cube21.6
rmApplied associate-*l/21.6
Applied associate-*l/21.6
Applied associate-*l/21.6
Applied frac-times21.6
Applied frac-times21.6
Applied cbrt-div21.6
Simplified21.6
if -1.3407413557386721e+154 < im < -9.185883036294188e+33Initial program 16.0
Initial simplification16.0
rmApplied add-cbrt-cube16.1
if -9.185883036294188e+33 < im < -1.0788734361227054e-34Initial program 14.7
Initial simplification14.7
Taylor expanded around -inf 62.8
Simplified30.0
rmApplied add-cube-cbrt30.0
Applied log-prod30.0
Applied distribute-lft-in30.1
if -1.0788734361227054e-34 < im < -5.308155628389414e-107 or 2.992130444153369e-162 < im < 3.4921476078665402e+93Initial program 16.4
Initial simplification16.4
rmApplied times-frac16.3
Simplified16.3
if 3.4921476078665402e+93 < im Initial program 49.7
Initial simplification49.7
Taylor expanded around 0 9.8
Final simplification18.1
herbie shell --seed 2018365
(FPCore (re im base)
:name "math.log/2 on complex, real part"
(/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))))
Time bar (total: 36.5s)Debug log
1 alts after pruning (1 fresh and 0 done)
Merged error: 32.9b
Found 4 expressions with local error:
| 31.5b | (sqrt (+ (* re re) (* im im))) |
| 0.5b | (* (log base) (log base)) |
| 0.4b | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 0.4b | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
4 calls. Slowest were:
| 365.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 21.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 4.0ms | (* (log base) (log base)) |
4 calls. Slowest were:
| 201.0ms | (* (log base) (log base)) |
| 112.0ms | (* (log (sqrt (+ (* re re) (* im im)))) (log base)) |
| 102.0ms | (/ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (log base) (log base))) |
| 36.0ms | (sqrt (+ (* re re) (* im im))) |
49 calls. Slowest were:
| 401.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (+ (log (log base)) (log (log base)))) |
| 389.0ms | (- (+ (log (log (sqrt (+ (* re re) (* im im))))) (log (log base))) (log (* (log base) (log base)))) |
| 332.0ms | (* -1 (* (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
13 alts after pruning (13 fresh and 0 done)
Merged error: 8.7b
Found 2 expressions with local error:
| 0.3b | (* (/ -1 (log base)) (log (/ -1 re))) |
| 0.3b | (/ -1 (log base)) |
2 calls. Slowest were:
| 9.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
| 1.0ms | (/ -1 (log base)) |
2 calls. Slowest were:
| 182.0ms | (/ -1 (log base)) |
| 99.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
27 calls. Slowest were:
| 508.0ms | (* (* (* (/ -1 (log base)) (/ -1 (log base))) (/ -1 (log base))) (* (* (log (/ -1 re)) (log (/ -1 re))) (log (/ -1 re)))) |
| 125.0ms | (* -1 (/ (- (log -1) (log re)) (log base))) |
| 121.0ms | (* -1 (/ (log (/ -1 re)) (- (log -1) (log (/ -1 base))))) |
22 alts after pruning (21 fresh and 1 done)
Merged error: 8.6b
Found 4 expressions with local error:
| 0.5b | (cbrt (/ -1 re)) |
| 0.5b | (cbrt (/ -1 re)) |
| 0.5b | (cbrt (/ -1 re)) |
| 0.5b | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
4 calls. Slowest were:
| 8.0ms | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
| 1.0ms | (cbrt (/ -1 re)) |
| 1.0ms | (cbrt (/ -1 re)) |
4 calls. Slowest were:
| 320.0ms | (cbrt (/ -1 re)) |
| 301.0ms | (cbrt (/ -1 re)) |
| 300.0ms | (* (cbrt (/ -1 re)) (cbrt (/ -1 re))) |
| 273.0ms | (cbrt (/ -1 re)) |
53 calls. Slowest were:
| 12.0ms | (* (pow (/ 1 (pow re 2)) 1/3) (pow (cbrt -1) 2)) |
| 11.0ms | (* (pow (/ 1 (pow re 2)) 1/3) (pow (cbrt -1) 2)) |
| 10.0ms | (* (pow (/ 1 re) 1/3) (cbrt -1)) |
24 alts after pruning (22 fresh and 2 done)
Merged error: 8.6b
Found 4 expressions with local error:
| 0.5b | (cbrt (* (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) (* (/ -1 (log base)) (log (/ -1 re))))) |
| 0.5b | (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) |
| 0.3b | (* (/ -1 (log base)) (log (/ -1 re))) |
| 0.3b | (* (/ -1 (log base)) (log (/ -1 re))) |
4 calls. Slowest were:
| 40.0ms | (cbrt (* (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) (* (/ -1 (log base)) (log (/ -1 re))))) |
| 20.0ms | (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) |
| 4.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
4 calls. Slowest were:
| 138.0ms | (cbrt (* (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) (* (/ -1 (log base)) (log (/ -1 re))))) |
| 122.0ms | (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) |
| 112.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
| 104.0ms | (* (/ -1 (log base)) (log (/ -1 re))) |
101 calls. Slowest were:
| 1.2s | (* (* (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) (* (/ -1 (log base)) (log (/ -1 re)))) (* (* (* (/ -1 (log base)) (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) (* (/ -1 (log base)) (log (/ -1 re))))) |
| 973.0ms | (* (* -1 (log (/ -1 re))) (* (/ -1 (log base)) (log (/ -1 re)))) |
| 658.0ms | (cbrt (* (* (* -1 (log (/ -1 re))) (* -1 (log (/ -1 re)))) (* (/ -1 (log base)) (log (/ -1 re))))) |
23 alts after pruning (22 fresh and 1 done)
Merged error: 8.6b
50.9% (10.6b remaining)
Error of 18.1b against oracle of 7.4b and baseline of 29.1b