Average Error: 31.8 → 17.6
Time: 6.6s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -6.12229097909121671 \cdot 10^{44}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\frac{-1}{re}\right)}^{\left(-\sqrt{\frac{1}{\log 10}}\right)}\right)\\ \mathbf{elif}\;re \le 1.2556355458008622 \cdot 10^{-289}:\\ \;\;\;\;\log \left(\sqrt[3]{{\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}}\right) \cdot \frac{2}{\sqrt{\log 10}} + \frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{{\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}}\right)\\ \mathbf{elif}\;re \le 3.64838694760230754 \cdot 10^{-196}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({im}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{elif}\;re \le 1.58395198674246248 \cdot 10^{49}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right) + \frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\frac{1}{re}\right)}^{\left(-\sqrt{\frac{1}{\log 10}}\right)}\right)\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -6.12229097909121671 \cdot 10^{44}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\frac{-1}{re}\right)}^{\left(-\sqrt{\frac{1}{\log 10}}\right)}\right)\\

\mathbf{elif}\;re \le 1.2556355458008622 \cdot 10^{-289}:\\
\;\;\;\;\log \left(\sqrt[3]{{\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}}\right) \cdot \frac{2}{\sqrt{\log 10}} + \frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{{\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}}\right)\\

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

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

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

\end{array}
double f(double re, double im) {
        double r47553 = re;
        double r47554 = r47553 * r47553;
        double r47555 = im;
        double r47556 = r47555 * r47555;
        double r47557 = r47554 + r47556;
        double r47558 = sqrt(r47557);
        double r47559 = log(r47558);
        double r47560 = 10.0;
        double r47561 = log(r47560);
        double r47562 = r47559 / r47561;
        return r47562;
}

double f(double re, double im) {
        double r47563 = re;
        double r47564 = -6.122290979091217e+44;
        bool r47565 = r47563 <= r47564;
        double r47566 = 1.0;
        double r47567 = 10.0;
        double r47568 = log(r47567);
        double r47569 = sqrt(r47568);
        double r47570 = r47566 / r47569;
        double r47571 = -1.0;
        double r47572 = r47571 / r47563;
        double r47573 = r47566 / r47568;
        double r47574 = sqrt(r47573);
        double r47575 = -r47574;
        double r47576 = pow(r47572, r47575);
        double r47577 = log(r47576);
        double r47578 = r47570 * r47577;
        double r47579 = 1.2556355458008622e-289;
        bool r47580 = r47563 <= r47579;
        double r47581 = r47563 * r47563;
        double r47582 = im;
        double r47583 = r47582 * r47582;
        double r47584 = r47581 + r47583;
        double r47585 = sqrt(r47584);
        double r47586 = pow(r47585, r47570);
        double r47587 = cbrt(r47586);
        double r47588 = log(r47587);
        double r47589 = 2.0;
        double r47590 = r47589 / r47569;
        double r47591 = r47588 * r47590;
        double r47592 = r47570 * r47588;
        double r47593 = r47591 + r47592;
        double r47594 = 3.6483869476023075e-196;
        bool r47595 = r47563 <= r47594;
        double r47596 = pow(r47582, r47570);
        double r47597 = log(r47596);
        double r47598 = r47570 * r47597;
        double r47599 = 1.5839519867424625e+49;
        bool r47600 = r47563 <= r47599;
        double r47601 = 0.5;
        double r47602 = r47601 / r47569;
        double r47603 = log(r47585);
        double r47604 = r47602 * r47603;
        double r47605 = r47604 + r47604;
        double r47606 = r47570 * r47605;
        double r47607 = r47566 / r47563;
        double r47608 = pow(r47607, r47575);
        double r47609 = log(r47608);
        double r47610 = r47570 * r47609;
        double r47611 = r47600 ? r47606 : r47610;
        double r47612 = r47595 ? r47598 : r47611;
        double r47613 = r47580 ? r47593 : r47612;
        double r47614 = r47565 ? r47578 : r47613;
        return r47614;
}

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 5 regimes
  2. if re < -6.122290979091217e+44

    1. Initial program 45.4

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow145.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-pow45.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-frac45.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. Using strategy rm
    8. Applied add-log-exp45.4

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

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

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

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

    if -6.122290979091217e+44 < re < 1.2556355458008622e-289

    1. Initial program 23.3

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

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

      \[\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-pow23.3

      \[\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-frac23.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 add-log-exp23.3

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

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

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

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

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

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

    if 1.2556355458008622e-289 < re < 3.6483869476023075e-196

    1. Initial program 33.1

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

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

      \[\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-pow33.1

      \[\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-frac33.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 add-log-exp33.0

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

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

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

    if 3.6483869476023075e-196 < re < 1.5839519867424625e+49

    1. Initial program 16.1

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

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

      \[\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-pow16.1

      \[\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-frac16.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 add-log-exp16.0

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}}\right)}\]
    9. Simplified15.8

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

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

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \log \left({\color{blue}{\left(\sqrt{\sqrt{re \cdot re + im \cdot im}} \cdot \sqrt{\sqrt{re \cdot re + im \cdot im}}\right)}}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\]
    13. Applied unpow-prod-down15.8

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

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

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

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

    if 1.5839519867424625e+49 < re

    1. Initial program 44.6

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

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

      \[\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-pow44.6

      \[\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-frac44.5

      \[\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 add-log-exp44.5

      \[\leadsto \frac{1}{\sqrt{\log 10}} \cdot \color{blue}{\log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}}\right)}\]
    9. Simplified44.5

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -6.12229097909121671 \cdot 10^{44}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\frac{-1}{re}\right)}^{\left(-\sqrt{\frac{1}{\log 10}}\right)}\right)\\ \mathbf{elif}\;re \le 1.2556355458008622 \cdot 10^{-289}:\\ \;\;\;\;\log \left(\sqrt[3]{{\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}}\right) \cdot \frac{2}{\sqrt{\log 10}} + \frac{1}{\sqrt{\log 10}} \cdot \log \left(\sqrt[3]{{\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}}\right)\\ \mathbf{elif}\;re \le 3.64838694760230754 \cdot 10^{-196}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({im}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{elif}\;re \le 1.58395198674246248 \cdot 10^{49}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right) + \frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\frac{1}{re}\right)}^{\left(-\sqrt{\frac{1}{\log 10}}\right)}\right)\\ \end{array}\]

Reproduce

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