Average Error: 31.6 → 17.2
Time: 7.3s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -5.8773751816168363 \cdot 10^{105}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(-1 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\ \mathbf{elif}\;re \le -4.928069768978484 \cdot 10^{-291}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\ \mathbf{elif}\;re \le 1.02726617646618594 \cdot 10^{-219}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\\ \mathbf{elif}\;re \le 1.20526441884369862 \cdot 10^{151}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(-1 \cdot \left(\log \left(\frac{1}{re}\right) \cdot {\left(\frac{1}{\log 10}\right)}^{\frac{1}{4}}\right)\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -5.8773751816168363 \cdot 10^{105}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(-1 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\

\mathbf{elif}\;re \le -4.928069768978484 \cdot 10^{-291}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\

\mathbf{elif}\;re \le 1.02726617646618594 \cdot 10^{-219}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\\

\mathbf{elif}\;re \le 1.20526441884369862 \cdot 10^{151}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(-1 \cdot \left(\log \left(\frac{1}{re}\right) \cdot {\left(\frac{1}{\log 10}\right)}^{\frac{1}{4}}\right)\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\

\end{array}
double f(double re, double im) {
        double r48404 = re;
        double r48405 = r48404 * r48404;
        double r48406 = im;
        double r48407 = r48406 * r48406;
        double r48408 = r48405 + r48407;
        double r48409 = sqrt(r48408);
        double r48410 = log(r48409);
        double r48411 = 10.0;
        double r48412 = log(r48411);
        double r48413 = r48410 / r48412;
        return r48413;
}

double f(double re, double im) {
        double r48414 = re;
        double r48415 = -5.877375181616836e+105;
        bool r48416 = r48414 <= r48415;
        double r48417 = 1.0;
        double r48418 = 10.0;
        double r48419 = log(r48418);
        double r48420 = sqrt(r48419);
        double r48421 = r48417 / r48420;
        double r48422 = -1.0;
        double r48423 = r48422 / r48414;
        double r48424 = log(r48423);
        double r48425 = r48417 / r48419;
        double r48426 = sqrt(r48425);
        double r48427 = r48424 * r48426;
        double r48428 = r48422 * r48427;
        double r48429 = r48421 * r48428;
        double r48430 = -4.928069768978484e-291;
        bool r48431 = r48414 <= r48430;
        double r48432 = r48414 * r48414;
        double r48433 = im;
        double r48434 = r48433 * r48433;
        double r48435 = r48432 + r48434;
        double r48436 = sqrt(r48435);
        double r48437 = log(r48436);
        double r48438 = sqrt(r48421);
        double r48439 = sqrt(r48438);
        double r48440 = r48437 * r48439;
        double r48441 = r48440 * r48439;
        double r48442 = r48441 * r48438;
        double r48443 = r48421 * r48442;
        double r48444 = 1.027266176466186e-219;
        bool r48445 = r48414 <= r48444;
        double r48446 = log(r48433);
        double r48447 = r48446 * r48426;
        double r48448 = r48421 * r48447;
        double r48449 = 1.2052644188436986e+151;
        bool r48450 = r48414 <= r48449;
        double r48451 = r48417 / r48414;
        double r48452 = log(r48451);
        double r48453 = 0.25;
        double r48454 = pow(r48425, r48453);
        double r48455 = r48452 * r48454;
        double r48456 = r48422 * r48455;
        double r48457 = r48456 * r48438;
        double r48458 = r48421 * r48457;
        double r48459 = r48450 ? r48443 : r48458;
        double r48460 = r48445 ? r48448 : r48459;
        double r48461 = r48431 ? r48443 : r48460;
        double r48462 = r48416 ? r48429 : r48461;
        return r48462;
}

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. Split input into 4 regimes
  2. if re < -5.877375181616836e+105

    1. Initial program 51.4

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt51.4

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow151.4

      \[\leadsto \frac{\log \color{blue}{\left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{1}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied log-pow51.4

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

      \[\leadsto \color{blue}{\frac{1}{\sqrt{\log 10}} \cdot \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}}\]
    7. Taylor expanded around -inf 8.2

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(-1 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)}\]

    if -5.877375181616836e+105 < re < -4.928069768978484e-291 or 1.027266176466186e-219 < re < 1.2052644188436986e+151

    1. Initial program 19.7

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt19.7

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow119.7

      \[\leadsto \frac{\log \color{blue}{\left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{1}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied log-pow19.7

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

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
    9. Using strategy rm
    10. Applied add-sqr-sqrt19.6

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)}\]
    12. Using strategy rm
    13. Applied add-sqr-sqrt19.6

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\color{blue}{\sqrt{\frac{1}{\sqrt{\log 10}}} \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\]
    14. Applied sqrt-prod19.7

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \left(\color{blue}{\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)} \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\]

    if -4.928069768978484e-291 < re < 1.027266176466186e-219

    1. Initial program 32.4

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt32.4

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow132.4

      \[\leadsto \frac{\log \color{blue}{\left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{1}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied log-pow32.4

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

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
    9. Using strategy rm
    10. Applied add-sqr-sqrt32.3

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)}\]
    12. Taylor expanded around 0 32.4

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)}\]

    if 1.2052644188436986e+151 < re

    1. Initial program 63.0

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt63.0

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow163.0

      \[\leadsto \frac{\log \color{blue}{\left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{1}\right)}}{\sqrt{\log 10} \cdot \sqrt{\log 10}}\]
    5. Applied log-pow63.0

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

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
    9. Using strategy rm
    10. Applied add-sqr-sqrt63.0

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)}\]
    12. Taylor expanded around inf 6.5

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \left(\color{blue}{\left(-1 \cdot \left(\log \left(\frac{1}{re}\right) \cdot {\left(\frac{1}{\log 10}\right)}^{\frac{1}{4}}\right)\right)} \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\]
  3. Recombined 4 regimes into one program.
  4. Final simplification17.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -5.8773751816168363 \cdot 10^{105}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(-1 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\ \mathbf{elif}\;re \le -4.928069768978484 \cdot 10^{-291}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\ \mathbf{elif}\;re \le 1.02726617646618594 \cdot 10^{-219}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\\ \mathbf{elif}\;re \le 1.20526441884369862 \cdot 10^{151}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\left(-1 \cdot \left(\log \left(\frac{1}{re}\right) \cdot {\left(\frac{1}{\log 10}\right)}^{\frac{1}{4}}\right)\right) \cdot \sqrt{\frac{1}{\sqrt{\log 10}}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020035 
(FPCore (re im)
  :name "math.log10 on complex, real part"
  :precision binary64
  (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))