\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\begin{array}{l}
\mathbf{if}\;re \le -7.94133120904831091 \cdot 10^{23}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(-1 \cdot re\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\
\mathbf{elif}\;re \le -1.05078470045216924 \cdot 10^{-159}:\\
\;\;\;\;\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(e^{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}}\right)\\
\mathbf{elif}\;re \le 4.3626224287444165 \cdot 10^{-306}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\\
\mathbf{elif}\;re \le 43187.278897220196:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \log \left({re}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\
\end{array}double f(double re, double im) {
double r104682 = re;
double r104683 = r104682 * r104682;
double r104684 = im;
double r104685 = r104684 * r104684;
double r104686 = r104683 + r104685;
double r104687 = sqrt(r104686);
double r104688 = log(r104687);
double r104689 = 10.0;
double r104690 = log(r104689);
double r104691 = r104688 / r104690;
return r104691;
}
double f(double re, double im) {
double r104692 = re;
double r104693 = -7.941331209048311e+23;
bool r104694 = r104692 <= r104693;
double r104695 = 1.0;
double r104696 = 10.0;
double r104697 = log(r104696);
double r104698 = sqrt(r104697);
double r104699 = r104695 / r104698;
double r104700 = -1.0;
double r104701 = r104700 * r104692;
double r104702 = pow(r104701, r104699);
double r104703 = log(r104702);
double r104704 = r104699 * r104703;
double r104705 = -1.0507847004521692e-159;
bool r104706 = r104692 <= r104705;
double r104707 = r104692 * r104692;
double r104708 = im;
double r104709 = r104708 * r104708;
double r104710 = r104707 + r104709;
double r104711 = sqrt(r104710);
double r104712 = pow(r104711, r104699);
double r104713 = cbrt(r104712);
double r104714 = log(r104713);
double r104715 = 2.0;
double r104716 = r104715 / r104698;
double r104717 = r104714 * r104716;
double r104718 = log(r104711);
double r104719 = exp(r104718);
double r104720 = pow(r104719, r104699);
double r104721 = cbrt(r104720);
double r104722 = log(r104721);
double r104723 = r104699 * r104722;
double r104724 = r104717 + r104723;
double r104725 = 4.3626224287444165e-306;
bool r104726 = r104692 <= r104725;
double r104727 = log(r104708);
double r104728 = r104695 / r104697;
double r104729 = sqrt(r104728);
double r104730 = r104727 * r104729;
double r104731 = r104699 * r104730;
double r104732 = 43187.278897220196;
bool r104733 = r104692 <= r104732;
double r104734 = log(r104712);
double r104735 = r104699 * r104734;
double r104736 = pow(r104692, r104699);
double r104737 = log(r104736);
double r104738 = r104699 * r104737;
double r104739 = r104733 ? r104735 : r104738;
double r104740 = r104726 ? r104731 : r104739;
double r104741 = r104706 ? r104724 : r104740;
double r104742 = r104694 ? r104704 : r104741;
return r104742;
}



Bits error versus re



Bits error versus im
Results
if re < -7.941331209048311e+23Initial program 42.1
rmApplied add-sqr-sqrt42.1
Applied pow142.1
Applied log-pow42.1
Applied times-frac42.1
rmApplied add-log-exp42.1
Simplified42.0
Taylor expanded around -inf 12.0
if -7.941331209048311e+23 < re < -1.0507847004521692e-159Initial program 16.6
rmApplied add-sqr-sqrt16.6
Applied pow116.6
Applied log-pow16.6
Applied times-frac16.6
rmApplied add-log-exp16.6
Simplified16.4
rmApplied add-cube-cbrt16.4
Applied log-prod16.5
Applied distribute-lft-in16.5
Simplified16.5
rmApplied add-exp-log16.5
if -1.0507847004521692e-159 < re < 4.3626224287444165e-306Initial program 31.6
rmApplied add-sqr-sqrt31.6
Applied pow131.6
Applied log-pow31.6
Applied times-frac31.6
Taylor expanded around 0 35.4
if 4.3626224287444165e-306 < re < 43187.278897220196Initial program 23.7
rmApplied add-sqr-sqrt23.7
Applied pow123.7
Applied log-pow23.7
Applied times-frac23.7
rmApplied add-log-exp23.7
Simplified23.5
if 43187.278897220196 < re Initial program 41.4
rmApplied add-sqr-sqrt41.4
Applied pow141.4
Applied log-pow41.4
Applied times-frac41.4
rmApplied add-log-exp41.4
Simplified41.3
Taylor expanded around inf 13.0
Final simplification18.7
herbie shell --seed 2020020
(FPCore (re im)
:name "math.log10 on complex, real part"
:precision binary64
(/ (log (sqrt (+ (* re re) (* im im)))) (log 10)))