Average Error: 30.9 → 18.0
Time: 19.6s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -2.43118792921916 \cdot 10^{+130}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\ \mathbf{elif}\;re \le -3.728827270067989 \cdot 10^{-149}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right)\\ \mathbf{elif}\;re \le 2.2227425620548795 \cdot 10^{-224}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(2 \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log im\right)\right)\\ \mathbf{elif}\;re \le 3.234258935041209 \cdot 10^{+99}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\log re \cdot 2\right) \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -2.43118792921916 \cdot 10^{+130}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\

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

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

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

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

\end{array}
double f(double re, double im) {
        double r828212 = re;
        double r828213 = r828212 * r828212;
        double r828214 = im;
        double r828215 = r828214 * r828214;
        double r828216 = r828213 + r828215;
        double r828217 = sqrt(r828216);
        double r828218 = log(r828217);
        double r828219 = 10.0;
        double r828220 = log(r828219);
        double r828221 = r828218 / r828220;
        return r828221;
}

double f(double re, double im) {
        double r828222 = re;
        double r828223 = -2.43118792921916e+130;
        bool r828224 = r828222 <= r828223;
        double r828225 = 0.5;
        double r828226 = 10.0;
        double r828227 = log(r828226);
        double r828228 = sqrt(r828227);
        double r828229 = r828225 / r828228;
        double r828230 = 1.0;
        double r828231 = r828230 / r828227;
        double r828232 = sqrt(r828231);
        double r828233 = -1.0;
        double r828234 = r828233 / r828222;
        double r828235 = log(r828234);
        double r828236 = r828232 * r828235;
        double r828237 = -2.0;
        double r828238 = r828236 * r828237;
        double r828239 = r828229 * r828238;
        double r828240 = -3.728827270067989e-149;
        bool r828241 = r828222 <= r828240;
        double r828242 = cbrt(r828225);
        double r828243 = r828242 * r828242;
        double r828244 = sqrt(r828228);
        double r828245 = r828243 / r828244;
        double r828246 = r828222 * r828222;
        double r828247 = im;
        double r828248 = r828247 * r828247;
        double r828249 = r828246 + r828248;
        double r828250 = log(r828249);
        double r828251 = r828250 / r828228;
        double r828252 = r828242 / r828244;
        double r828253 = r828251 * r828252;
        double r828254 = r828245 * r828253;
        double r828255 = 2.2227425620548795e-224;
        bool r828256 = r828222 <= r828255;
        double r828257 = 2.0;
        double r828258 = log(r828247);
        double r828259 = r828232 * r828258;
        double r828260 = r828257 * r828259;
        double r828261 = r828229 * r828260;
        double r828262 = 3.234258935041209e+99;
        bool r828263 = r828222 <= r828262;
        double r828264 = log(r828222);
        double r828265 = r828264 * r828257;
        double r828266 = r828265 * r828232;
        double r828267 = r828266 * r828229;
        double r828268 = r828263 ? r828254 : r828267;
        double r828269 = r828256 ? r828261 : r828268;
        double r828270 = r828241 ? r828254 : r828269;
        double r828271 = r828224 ? r828239 : r828270;
        return r828271;
}

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 < -2.43118792921916e+130

    1. Initial program 56.2

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

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

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

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

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

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

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

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

    if -2.43118792921916e+130 < re < -3.728827270067989e-149 or 2.2227425620548795e-224 < re < 3.234258935041209e+99

    1. Initial program 17.3

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

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

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

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

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

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

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

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

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

      \[\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{\log 10}} \cdot \sqrt{\sqrt{\log 10}}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\]
    13. Applied times-frac17.2

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

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

    if -3.728827270067989e-149 < re < 2.2227425620548795e-224

    1. Initial program 30.4

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

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

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

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

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

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

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

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

    if 3.234258935041209e+99 < re

    1. Initial program 50.1

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

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

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

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

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

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

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -2.43118792921916 \cdot 10^{+130}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right)\\ \mathbf{elif}\;re \le -3.728827270067989 \cdot 10^{-149}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right)\\ \mathbf{elif}\;re \le 2.2227425620548795 \cdot 10^{-224}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(2 \cdot \left(\sqrt{\frac{1}{\log 10}} \cdot \log im\right)\right)\\ \mathbf{elif}\;re \le 3.234258935041209 \cdot 10^{+99}:\\ \;\;\;\;\frac{\sqrt[3]{\frac{1}{2}} \cdot \sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}} \cdot \left(\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}} \cdot \frac{\sqrt[3]{\frac{1}{2}}}{\sqrt{\sqrt{\log 10}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\left(\log re \cdot 2\right) \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{\frac{1}{2}}{\sqrt{\log 10}}\\ \end{array}\]

Reproduce

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