Average Error: 32.1 → 17.8
Time: 1.1m
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -1.156407601863717509012505141513837828653 \cdot 10^{112}:\\ \;\;\;\;\left(\frac{1}{\sqrt{\log 10}} \cdot \left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)\\ \mathbf{elif}\;re \le 1.244988213884062755522549209945596691708 \cdot 10^{138}:\\ \;\;\;\;\left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(re \cdot re + im \cdot im\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \left(\log re \cdot 2\right)\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -1.156407601863717509012505141513837828653 \cdot 10^{112}:\\
\;\;\;\;\left(\frac{1}{\sqrt{\log 10}} \cdot \left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)\\

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

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

\end{array}
double f(double re, double im) {
        double r33372 = re;
        double r33373 = r33372 * r33372;
        double r33374 = im;
        double r33375 = r33374 * r33374;
        double r33376 = r33373 + r33375;
        double r33377 = sqrt(r33376);
        double r33378 = log(r33377);
        double r33379 = 10.0;
        double r33380 = log(r33379);
        double r33381 = r33378 / r33380;
        return r33381;
}

double f(double re, double im) {
        double r33382 = re;
        double r33383 = -1.1564076018637175e+112;
        bool r33384 = r33382 <= r33383;
        double r33385 = 1.0;
        double r33386 = 10.0;
        double r33387 = log(r33386);
        double r33388 = sqrt(r33387);
        double r33389 = r33385 / r33388;
        double r33390 = -2.0;
        double r33391 = -1.0;
        double r33392 = r33391 / r33382;
        double r33393 = log(r33392);
        double r33394 = r33390 * r33393;
        double r33395 = r33389 * r33394;
        double r33396 = 0.5;
        double r33397 = r33389 * r33396;
        double r33398 = r33395 * r33397;
        double r33399 = 1.2449882138840628e+138;
        bool r33400 = r33382 <= r33399;
        double r33401 = r33382 * r33382;
        double r33402 = im;
        double r33403 = r33402 * r33402;
        double r33404 = r33401 + r33403;
        double r33405 = log(r33404);
        double r33406 = r33389 * r33405;
        double r33407 = r33397 * r33406;
        double r33408 = r33385 / r33387;
        double r33409 = sqrt(r33408);
        double r33410 = log(r33382);
        double r33411 = 2.0;
        double r33412 = r33410 * r33411;
        double r33413 = r33409 * r33412;
        double r33414 = r33413 * r33397;
        double r33415 = r33400 ? r33407 : r33414;
        double r33416 = r33384 ? r33398 : r33415;
        return r33416;
}

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 3 regimes
  2. if re < -1.1564076018637175e+112

    1. Initial program 52.8

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied clear-num52.8

      \[\leadsto \color{blue}{\frac{1}{\frac{\log 10}{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}}\]
    4. Using strategy rm
    5. Applied pow1/252.8

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

      \[\leadsto \frac{1}{\frac{\log 10}{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}}\]
    7. Applied add-sqr-sqrt52.8

      \[\leadsto \frac{1}{\frac{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}\]
    8. Applied times-frac52.9

      \[\leadsto \frac{1}{\color{blue}{\frac{\sqrt{\log 10}}{\frac{1}{2}} \cdot \frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    9. Applied add-cube-cbrt52.9

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

      \[\leadsto \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{\sqrt{\log 10}}{\frac{1}{2}}} \cdot \frac{\sqrt[3]{1}}{\frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    11. Simplified52.9

      \[\leadsto \color{blue}{\left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)} \cdot \frac{\sqrt[3]{1}}{\frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}\]
    12. Simplified52.8

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

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

    if -1.1564076018637175e+112 < re < 1.2449882138840628e+138

    1. Initial program 22.1

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied clear-num22.1

      \[\leadsto \color{blue}{\frac{1}{\frac{\log 10}{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}}\]
    4. Using strategy rm
    5. Applied pow1/222.1

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

      \[\leadsto \frac{1}{\frac{\log 10}{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}}\]
    7. Applied add-sqr-sqrt22.1

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

      \[\leadsto \frac{1}{\color{blue}{\frac{\sqrt{\log 10}}{\frac{1}{2}} \cdot \frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    9. Applied add-cube-cbrt22.2

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

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

      \[\leadsto \color{blue}{\left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)} \cdot \frac{\sqrt[3]{1}}{\frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}\]
    12. Simplified21.9

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

    if 1.2449882138840628e+138 < re

    1. Initial program 58.8

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied clear-num58.8

      \[\leadsto \color{blue}{\frac{1}{\frac{\log 10}{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}}\]
    4. Using strategy rm
    5. Applied pow1/258.8

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

      \[\leadsto \frac{1}{\frac{\log 10}{\color{blue}{\frac{1}{2} \cdot \log \left(re \cdot re + im \cdot im\right)}}}\]
    7. Applied add-sqr-sqrt58.8

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

      \[\leadsto \frac{1}{\color{blue}{\frac{\sqrt{\log 10}}{\frac{1}{2}} \cdot \frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    9. Applied add-cube-cbrt58.8

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

      \[\leadsto \color{blue}{\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\frac{\sqrt{\log 10}}{\frac{1}{2}}} \cdot \frac{\sqrt[3]{1}}{\frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    11. Simplified58.8

      \[\leadsto \color{blue}{\left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)} \cdot \frac{\sqrt[3]{1}}{\frac{\sqrt{\log 10}}{\log \left(re \cdot re + im \cdot im\right)}}\]
    12. Simplified58.8

      \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right) \cdot \color{blue}{\left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(re \cdot re + im \cdot im\right)\right)}\]
    13. Using strategy rm
    14. Applied add-cube-cbrt58.8

      \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \color{blue}{\left(\left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right) \cdot \sqrt[3]{re \cdot re + im \cdot im}\right)}\right)\]
    15. Applied log-prod58.8

      \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right) + \log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)\right)}\right)\]
    16. Simplified58.8

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

      \[\leadsto \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right) \cdot \color{blue}{\left(3 \cdot \left(\log \left({\left(\frac{1}{re}\right)}^{\frac{-2}{3}}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)}\]
    18. Simplified7.9

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -1.156407601863717509012505141513837828653 \cdot 10^{112}:\\ \;\;\;\;\left(\frac{1}{\sqrt{\log 10}} \cdot \left(-2 \cdot \log \left(\frac{-1}{re}\right)\right)\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)\\ \mathbf{elif}\;re \le 1.244988213884062755522549209945596691708 \cdot 10^{138}:\\ \;\;\;\;\left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \log \left(re \cdot re + im \cdot im\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt{\frac{1}{\log 10}} \cdot \left(\log re \cdot 2\right)\right) \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \frac{1}{2}\right)\\ \end{array}\]

Reproduce

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