Average Error: 31.8 → 18.4
Time: 42.1s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10.0}\]
\[\begin{array}{l} \mathbf{if}\;re \le -8.915974928248364 \cdot 10^{+114}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10.0}} \cdot \left(\left(\sqrt{\frac{1}{\log 10.0}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\ \mathbf{elif}\;re \le -4.892315061161181 \cdot 10^{-257}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10.0}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0} \cdot \sqrt[3]{\log 10.0}}}\\ \mathbf{elif}\;re \le 1.475790091087918 \cdot 10^{-158}:\\ \;\;\;\;\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}} \cdot \left(\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}} \cdot \frac{2 \cdot \log im}{\sqrt{\log 10.0}}\right)\\ \mathbf{elif}\;re \le 2.2624206856873828 \cdot 10^{+105}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10.0}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0} \cdot \sqrt[3]{\log 10.0}}}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\log re \cdot \sqrt{\frac{1}{\log 10.0}}\right) \cdot 2\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10.0}}\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10.0}
\begin{array}{l}
\mathbf{if}\;re \le -8.915974928248364 \cdot 10^{+114}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10.0}} \cdot \left(\left(\sqrt{\frac{1}{\log 10.0}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\

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

\mathbf{elif}\;re \le 1.475790091087918 \cdot 10^{-158}:\\
\;\;\;\;\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}} \cdot \left(\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}} \cdot \frac{2 \cdot \log im}{\sqrt{\log 10.0}}\right)\\

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

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

\end{array}
double f(double re, double im) {
        double r1286645 = re;
        double r1286646 = r1286645 * r1286645;
        double r1286647 = im;
        double r1286648 = r1286647 * r1286647;
        double r1286649 = r1286646 + r1286648;
        double r1286650 = sqrt(r1286649);
        double r1286651 = log(r1286650);
        double r1286652 = 10.0;
        double r1286653 = log(r1286652);
        double r1286654 = r1286651 / r1286653;
        return r1286654;
}

double f(double re, double im) {
        double r1286655 = re;
        double r1286656 = -8.915974928248364e+114;
        bool r1286657 = r1286655 <= r1286656;
        double r1286658 = 0.5;
        double r1286659 = 10.0;
        double r1286660 = log(r1286659);
        double r1286661 = sqrt(r1286660);
        double r1286662 = r1286658 / r1286661;
        double r1286663 = 1.0;
        double r1286664 = r1286663 / r1286660;
        double r1286665 = sqrt(r1286664);
        double r1286666 = -1.0;
        double r1286667 = r1286666 / r1286655;
        double r1286668 = log(r1286667);
        double r1286669 = r1286665 * r1286668;
        double r1286670 = -2.0;
        double r1286671 = r1286669 * r1286670;
        double r1286672 = r1286662 * r1286671;
        double r1286673 = -4.892315061161181e-257;
        bool r1286674 = r1286655 <= r1286673;
        double r1286675 = cbrt(r1286658);
        double r1286676 = cbrt(r1286660);
        double r1286677 = sqrt(r1286676);
        double r1286678 = r1286675 / r1286677;
        double r1286679 = r1286655 * r1286655;
        double r1286680 = im;
        double r1286681 = r1286680 * r1286680;
        double r1286682 = r1286679 + r1286681;
        double r1286683 = log(r1286682);
        double r1286684 = r1286683 / r1286661;
        double r1286685 = r1286678 * r1286684;
        double r1286686 = r1286675 * r1286675;
        double r1286687 = r1286676 * r1286676;
        double r1286688 = sqrt(r1286687);
        double r1286689 = r1286686 / r1286688;
        double r1286690 = r1286685 * r1286689;
        double r1286691 = 1.475790091087918e-158;
        bool r1286692 = r1286655 <= r1286691;
        double r1286693 = sqrt(r1286662);
        double r1286694 = 2.0;
        double r1286695 = log(r1286680);
        double r1286696 = r1286694 * r1286695;
        double r1286697 = r1286696 / r1286661;
        double r1286698 = r1286693 * r1286697;
        double r1286699 = r1286693 * r1286698;
        double r1286700 = 2.2624206856873828e+105;
        bool r1286701 = r1286655 <= r1286700;
        double r1286702 = log(r1286655);
        double r1286703 = r1286702 * r1286665;
        double r1286704 = r1286703 * r1286694;
        double r1286705 = r1286704 * r1286662;
        double r1286706 = r1286701 ? r1286690 : r1286705;
        double r1286707 = r1286692 ? r1286699 : r1286706;
        double r1286708 = r1286674 ? r1286690 : r1286707;
        double r1286709 = r1286657 ? r1286672 : r1286708;
        return r1286709;
}

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 < -8.915974928248364e+114

    1. Initial program 54.0

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10.0} \cdot \sqrt{\log 10.0}}}\]
    4. Applied pow1/254.0

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

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

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

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

    if -8.915974928248364e+114 < re < -4.892315061161181e-257 or 1.475790091087918e-158 < re < 2.2624206856873828e+105

    1. Initial program 18.6

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10.0} \cdot \sqrt{\log 10.0}}}\]
    4. Applied pow1/218.6

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

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

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

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

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

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

      \[\leadsto \color{blue}{\left(\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0} \cdot \sqrt[3]{\log 10.0}}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0}}}\right)} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10.0}}\]
    12. Applied associate-*l*18.5

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

    if -4.892315061161181e-257 < re < 1.475790091087918e-158

    1. Initial program 31.0

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10.0} \cdot \sqrt{\log 10.0}}}\]
    4. Applied pow1/231.0

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

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

      \[\leadsto \color{blue}{\frac{\frac{1}{2}}{\sqrt{\log 10.0}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10.0}}}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt31.0

      \[\leadsto \color{blue}{\left(\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}} \cdot \sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}}\right)} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10.0}}\]
    9. Applied associate-*l*30.9

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

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

    if 2.2624206856873828e+105 < re

    1. Initial program 52.5

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10.0} \cdot \sqrt{\log 10.0}}}\]
    4. Applied pow1/252.5

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

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

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

      \[\leadsto \frac{\frac{1}{2}}{\sqrt{\log 10.0}} \cdot \color{blue}{\left(-2 \cdot \left(\sqrt{\frac{1}{\log 10.0}} \cdot \log \left(\frac{1}{re}\right)\right)\right)}\]
    8. Simplified9.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -8.915974928248364 \cdot 10^{+114}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10.0}} \cdot \left(\left(\sqrt{\frac{1}{\log 10.0}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\ \mathbf{elif}\;re \le -4.892315061161181 \cdot 10^{-257}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10.0}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0} \cdot \sqrt[3]{\log 10.0}}}\\ \mathbf{elif}\;re \le 1.475790091087918 \cdot 10^{-158}:\\ \;\;\;\;\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}} \cdot \left(\sqrt{\frac{\frac{1}{2}}{\sqrt{\log 10.0}}} \cdot \frac{2 \cdot \log im}{\sqrt{\log 10.0}}\right)\\ \mathbf{elif}\;re \le 2.2624206856873828 \cdot 10^{+105}:\\ \;\;\;\;\left(\frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10.0}}\right) \cdot \frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt[3]{\log 10.0} \cdot \sqrt[3]{\log 10.0}}}\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\log re \cdot \sqrt{\frac{1}{\log 10.0}}\right) \cdot 2\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10.0}}\\ \end{array}\]

Reproduce

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