Average Error: 31.2 → 0.5
Time: 14.5s
Precision: 64
Internal Precision: 128
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \frac{\frac{1}{3}}{\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\sqrt[3]{\sqrt{\log 10}}}\right)\]

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 31.2

    \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
  2. Simplified0.6

    \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log 10}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.6

    \[\leadsto \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
  5. Applied *-un-lft-identity0.6

    \[\leadsto \frac{\color{blue}{1 \cdot \log \left(\sqrt{re^2 + im^2}^*\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
  6. Applied times-frac0.6

    \[\leadsto \color{blue}{\frac{1}{\sqrt{\log 10}} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\sqrt{\log 10}}}\]
  7. Using strategy rm
  8. Applied div-inv0.4

    \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(\sqrt{re^2 + im^2}^*\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
  9. Applied associate-*r*0.4

    \[\leadsto \color{blue}{\left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re^2 + im^2}^*\right)\right) \cdot \frac{1}{\sqrt{\log 10}}}\]
  10. Using strategy rm
  11. Applied add-cube-cbrt0.4

    \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \log \color{blue}{\left(\left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right)}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
  12. Applied log-prod0.4

    \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*}\right)\right)}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
  13. Applied distribute-lft-in0.5

    \[\leadsto \color{blue}{\left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*}\right)\right)} \cdot \frac{1}{\sqrt{\log 10}}\]
  14. Simplified0.4

    \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \color{blue}{\frac{\log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*}\right)}{\sqrt{\log 10}}}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
  15. Using strategy rm
  16. Applied add-cube-cbrt0.7

    \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \frac{\log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*}\right)}{\color{blue}{\left(\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}\right) \cdot \sqrt[3]{\sqrt{\log 10}}}}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
  17. Applied pow1/30.6

    \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \frac{\log \color{blue}{\left({\left(\sqrt{re^2 + im^2}^*\right)}^{\frac{1}{3}}\right)}}{\left(\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}\right) \cdot \sqrt[3]{\sqrt{\log 10}}}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
  18. Applied log-pow0.6

    \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \frac{\color{blue}{\frac{1}{3} \cdot \log \left(\sqrt{re^2 + im^2}^*\right)}}{\left(\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}\right) \cdot \sqrt[3]{\sqrt{\log 10}}}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
  19. Applied times-frac0.5

    \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \color{blue}{\frac{\frac{1}{3}}{\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\sqrt[3]{\sqrt{\log 10}}}}\right) \cdot \frac{1}{\sqrt{\log 10}}\]
  20. Final simplification0.5

    \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) + \frac{\frac{1}{3}}{\sqrt[3]{\sqrt{\log 10}} \cdot \sqrt[3]{\sqrt{\log 10}}} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\sqrt[3]{\sqrt{\log 10}}}\right)\]

Reproduce

herbie shell --seed 2019010 +o rules:numerics
(FPCore (re im)
  :name "math.log10 on complex, real part"
  (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))

Details

Time bar (total: 13.2s)Debug log

sample68.0ms

Algorithm
intervals

simplify14.0ms

Counts
1 → 1
Calls
1 calls:
Slowest
13.0ms
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10))

prune20.0ms

Pruning

1 alts after pruning (1 fresh and 0 done)

Merged error: 0.6b

localize27.0ms

Local error

Found 2 expressions with local error:

0.6b
(/ (log (hypot re im)) (log 10))
0.0b
(hypot re im)

rewrite6.0ms

Algorithm
rewrite-expression-head
Rules
12×times-frac
11×add-cube-cbrt
11×*-un-lft-identity
11×add-sqr-sqrt
pow1
associate-/l*
log-pow
add-exp-log
add-cbrt-cube
associate-/r*
add-log-exp
log1p-expm1-u
expm1-log1p-u
div-inv
div-exp
frac-2neg
clear-num
hypot-udef
cbrt-undiv
Counts
2 → 43
Calls
2 calls:
Slowest
5.0ms
(/ (log (hypot re im)) (log 10))
0.0ms
(hypot re im)

series220.0ms

Counts
2 → 6
Calls
2 calls:
Slowest
179.0ms
(/ (log (hypot re im)) (log 10))
41.0ms
(hypot re im)

simplify390.0ms

Counts
37 → 49
Calls
37 calls:
Slowest
108.0ms
(/ (* (* (log (hypot re im)) (log (hypot re im))) (log (hypot re im))) (* (* (log 10) (log 10)) (log 10)))
77.0ms
(* -1 (/ (log (/ -1 re)) (log 10)))
56.0ms
(* -1 (/ (log (/ 1 re)) (log 10)))
36.0ms
(/ (* (cbrt (log (hypot re im))) (cbrt (log (hypot re im)))) (* (cbrt (log 10)) (cbrt (log 10))))
20.0ms
(/ (* (cbrt (log (hypot re im))) (cbrt (log (hypot re im)))) 1)

prune459.0ms

Pruning

13 alts after pruning (12 fresh and 1 done)

Merged error: 0.1b

localize22.0ms

Local error

Found 3 expressions with local error:

0.5b
(/ (log (hypot re im)) (sqrt (log 10)))
0.3b
(* (/ 1 (sqrt (log 10))) (/ (log (hypot re im)) (sqrt (log 10))))
0.0b
(hypot re im)

rewrite28.0ms

Algorithm
rewrite-expression-head
Rules
48×times-frac
36×add-cube-cbrt
36×*-un-lft-identity
36×add-sqr-sqrt
28×associate-*r*
27×sqrt-prod
18×pow1
15×add-exp-log
13×log-pow
10×add-cbrt-cube
associate-/r*
associate-/l*
prod-exp
associate-*l*
add-log-exp
div-inv
log1p-expm1-u
div-exp
expm1-log1p-u
cbrt-unprod
rec-exp
cbrt-undiv
*-commutative
associate-*r/
associate-*l/
pow-prod-down
frac-2neg
clear-num
hypot-udef
frac-times
Counts
3 → 110
Calls
3 calls:
Slowest
15.0ms
(* (/ 1 (sqrt (log 10))) (/ (log (hypot re im)) (sqrt (log 10))))
11.0ms
(/ (log (hypot re im)) (sqrt (log 10)))
0.0ms
(hypot re im)

series358.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
204.0ms
(/ (log (hypot re im)) (sqrt (log 10)))
128.0ms
(* (/ 1 (sqrt (log 10))) (/ (log (hypot re im)) (sqrt (log 10))))
26.0ms
(hypot re im)

simplify1.7s

Counts
108 → 119
Calls
108 calls:
Slowest
362.0ms
(* (* (* (/ 1 (sqrt (log 10))) (/ 1 (sqrt (log 10)))) (/ 1 (sqrt (log 10)))) (* (* (/ (log (hypot re im)) (sqrt (log 10))) (/ (log (hypot re im)) (sqrt (log 10)))) (/ (log (hypot re im)) (sqrt (log 10)))))
135.0ms
(+ (log (/ 1 (sqrt (log 10)))) (- (log (log (hypot re im))) (log (sqrt (log 10)))))
108.0ms
(* -1 (/ (log (/ -1 re)) (log 10)))
104.0ms
(* (* (* (/ 1 (sqrt (log 10))) (/ 1 (sqrt (log 10)))) (/ 1 (sqrt (log 10)))) (/ (* (* (log (hypot re im)) (log (hypot re im))) (log (hypot re im))) (* (* (sqrt (log 10)) (sqrt (log 10))) (sqrt (log 10)))))
99.0ms
(* -1 (* (sqrt (/ 1 (log 10))) (log (/ 1 re))))

prune1.5s

Pruning

13 alts after pruning (13 fresh and 0 done)

Merged error: 0.0b

localize6.0ms

Local error

Found 3 expressions with local error:

0.3b
(* (/ 1 (sqrt (log 10))) (log (hypot re im)))
0.3b
(* (* (/ 1 (sqrt (log 10))) (log (hypot re im))) (/ 1 (sqrt (log 10))))
0.0b
(hypot re im)

rewrite33.0ms

Algorithm
rewrite-expression-head
Rules
23×add-exp-log
12×prod-exp
11×pow1
10×add-cbrt-cube
add-cube-cbrt
associate-*r*
*-un-lft-identity
add-sqr-sqrt
log-prod
rec-exp
associate-*l*
cbrt-unprod
associate-*l/
pow-prod-down
add-log-exp
log1p-expm1-u
distribute-lft-in
expm1-log1p-u
distribute-rgt-in
div-inv
*-commutative
un-div-inv
log-pow
associate-*r/
hypot-udef
frac-times
Counts
3 → 68
Calls
3 calls:
Slowest
26.0ms
(* (* (/ 1 (sqrt (log 10))) (log (hypot re im))) (/ 1 (sqrt (log 10))))
6.0ms
(* (/ 1 (sqrt (log 10))) (log (hypot re im)))
0.0ms
(hypot re im)

series404.0ms

Counts
3 → 9
Calls
3 calls:
Slowest
193.0ms
(* (* (/ 1 (sqrt (log 10))) (log (hypot re im))) (/ 1 (sqrt (log 10))))
172.0ms
(* (/ 1 (sqrt (log 10))) (log (hypot re im)))
39.0ms
(hypot re im)

simplify2.4s

Counts
46 → 77
Calls
46 calls:
Slowest
287.0ms
(* (* (* (* (/ 1 (sqrt (log 10))) (log (hypot re im))) (* (/ 1 (sqrt (log 10))) (log (hypot re im)))) (* (/ 1 (sqrt (log 10))) (log (hypot re im)))) (* (* (/ 1 (sqrt (log 10))) (/ 1 (sqrt (log 10)))) (/ 1 (sqrt (log 10)))))
284.0ms
(* (* (* (/ 1 (sqrt (log 10))) (/ 1 (sqrt (log 10)))) (/ 1 (sqrt (log 10)))) (* (* (log (hypot re im)) (log (hypot re im))) (log (hypot re im))))
232.0ms
(* (* (* (* (/ 1 (sqrt (log 10))) (/ 1 (sqrt (log 10)))) (/ 1 (sqrt (log 10)))) (* (* (log (hypot re im)) (log (hypot re im))) (log (hypot re im)))) (* (* (/ 1 (sqrt (log 10))) (/ 1 (sqrt (log 10)))) (/ 1 (sqrt (log 10)))))
182.0ms
(+ (log (* (/ 1 (sqrt (log 10))) (log (hypot re im)))) (- (log (sqrt (log 10)))))
119.0ms
(+ (log (* (/ 1 (sqrt (log 10))) (log (hypot re im)))) (log (/ 1 (sqrt (log 10)))))

prune935.0ms

Pruning

9 alts after pruning (9 fresh and 0 done)

Merged error: 0.0b

localize41.0ms

Local error

Found 4 expressions with local error:

0.5b
(cbrt (hypot re im))
0.5b
(cbrt (hypot re im))
0.5b
(cbrt (hypot re im))
0.5b
(/ (log (cbrt (hypot re im))) (sqrt (log 10)))

rewrite9.0ms

Algorithm
rewrite-expression-head
Rules
30×times-frac
26×add-cube-cbrt
26×*-un-lft-identity
26×add-sqr-sqrt
18×sqrt-prod
14×log-pow
11×pow1
10×pow1/3
cbrt-prod
add-exp-log
add-cbrt-cube
associate-/r*
associate-/l*
add-log-exp
log1p-expm1-u
expm1-log1p-u
div-inv
div-exp
frac-2neg
clear-num
cbrt-undiv
Counts
4 → 94
Calls
4 calls:
Slowest
6.0ms
(/ (log (cbrt (hypot re im))) (sqrt (log 10)))
1.0ms
(cbrt (hypot re im))
1.0ms
(cbrt (hypot re im))
1.0ms
(cbrt (hypot re im))

series616.0ms

Counts
4 → 12
Calls
4 calls:
Slowest
261.0ms
(/ (log (cbrt (hypot re im))) (sqrt (log 10)))
132.0ms
(cbrt (hypot re im))
118.0ms
(cbrt (hypot re im))
105.0ms
(cbrt (hypot re im))

simplify756.0ms

Counts
91 → 106
Calls
91 calls:
Slowest
135.0ms
(/ (* (* (log (cbrt (hypot re im))) (log (cbrt (hypot re im)))) (log (cbrt (hypot re im)))) (* (* (sqrt (log 10)) (sqrt (log 10))) (sqrt (log 10))))
51.0ms
(+ (* 1/6 (* (pow re 2) (pow (/ 1 (pow im 5)) 1/3))) (pow im 1/3))
51.0ms
(* (sqrt (/ 1 (log 10))) (log (pow (/ 1 re) -1/3)))
48.0ms
(+ (* 1/6 (* (pow re 2) (pow (/ 1 (pow im 5)) 1/3))) (pow im 1/3))
40.0ms
(* (log (pow (/ -1 re) -1/3)) (sqrt (/ 1 (log 10))))

prune1.6s

Pruning

9 alts after pruning (8 fresh and 1 done)

Merged error: 0.0b

regimes174.0ms

Accuracy

0% (0.4b remaining)

Error of 0.5b against oracle of 0.0b and baseline of 0.5b

bsearch3.0ms

end0.0ms

sample1.4s

Algorithm
intervals