Average Error: 32.4 → 17.8
Time: 23.7s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -1.240082689521645815217683079061051755514 \cdot 10^{136}:\\ \;\;\;\;\frac{-1}{\sqrt{\log 10}} \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\\ \mathbf{elif}\;re \le 2.758027754679775859452707209022012553709 \cdot 10^{-281}:\\ \;\;\;\;\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \frac{{\left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 5.905921114591229872182552907648628199056 \cdot 10^{-176}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\\ \mathbf{elif}\;re \le 6.472106043627502342156948650503796470752 \cdot 10^{127}:\\ \;\;\;\;\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \frac{{\left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}\\ \mathbf{else}:\\ \;\;\;\;\left(\log re \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{1}{\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 -1.240082689521645815217683079061051755514 \cdot 10^{136}:\\
\;\;\;\;\frac{-1}{\sqrt{\log 10}} \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\\

\mathbf{elif}\;re \le 2.758027754679775859452707209022012553709 \cdot 10^{-281}:\\
\;\;\;\;\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \frac{{\left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}\\

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

\mathbf{elif}\;re \le 6.472106043627502342156948650503796470752 \cdot 10^{127}:\\
\;\;\;\;\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \frac{{\left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}\\

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

\end{array}
double f(double re, double im) {
        double r49195 = re;
        double r49196 = r49195 * r49195;
        double r49197 = im;
        double r49198 = r49197 * r49197;
        double r49199 = r49196 + r49198;
        double r49200 = sqrt(r49199);
        double r49201 = log(r49200);
        double r49202 = 10.0;
        double r49203 = log(r49202);
        double r49204 = r49201 / r49203;
        return r49204;
}

double f(double re, double im) {
        double r49205 = re;
        double r49206 = -1.2400826895216458e+136;
        bool r49207 = r49205 <= r49206;
        double r49208 = -1.0;
        double r49209 = 10.0;
        double r49210 = log(r49209);
        double r49211 = sqrt(r49210);
        double r49212 = r49208 / r49211;
        double r49213 = r49208 / r49205;
        double r49214 = log(r49213);
        double r49215 = 1.0;
        double r49216 = r49215 / r49210;
        double r49217 = sqrt(r49216);
        double r49218 = r49214 * r49217;
        double r49219 = r49212 * r49218;
        double r49220 = 2.758027754679776e-281;
        bool r49221 = r49205 <= r49220;
        double r49222 = r49215 / r49211;
        double r49223 = sqrt(r49222);
        double r49224 = sqrt(r49223);
        double r49225 = 3.0;
        double r49226 = pow(r49224, r49225);
        double r49227 = r49205 * r49205;
        double r49228 = im;
        double r49229 = r49228 * r49228;
        double r49230 = r49227 + r49229;
        double r49231 = sqrt(r49230);
        double r49232 = log(r49231);
        double r49233 = r49226 * r49232;
        double r49234 = r49233 / r49211;
        double r49235 = r49224 * r49234;
        double r49236 = 5.90592111459123e-176;
        bool r49237 = r49205 <= r49236;
        double r49238 = log(r49228);
        double r49239 = r49238 * r49217;
        double r49240 = r49222 * r49239;
        double r49241 = 6.472106043627502e+127;
        bool r49242 = r49205 <= r49241;
        double r49243 = log(r49205);
        double r49244 = r49243 * r49217;
        double r49245 = r49244 * r49222;
        double r49246 = r49242 ? r49235 : r49245;
        double r49247 = r49237 ? r49240 : r49246;
        double r49248 = r49221 ? r49235 : r49247;
        double r49249 = r49207 ? r49219 : r49248;
        return r49249;
}

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 < -1.2400826895216458e+136

    1. Initial program 58.5

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

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

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

      \[\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-frac58.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. Taylor expanded around -inf 7.9

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

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

    if -1.2400826895216458e+136 < re < 2.758027754679776e-281 or 5.90592111459123e-176 < re < 6.472106043627502e+127

    1. Initial program 20.3

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow120.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-pow20.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-frac20.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-sqr-sqrt20.3

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

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

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

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

      \[\leadsto \color{blue}{\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \left(\sqrt{\frac{1}{\sqrt{\log 10}}} \cdot \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}\right)\right)}\]
    14. Using strategy rm
    15. Applied associate-*r/20.2

      \[\leadsto \sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \color{blue}{\frac{\sqrt{\frac{1}{\sqrt{\log 10}}} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}}\right)\]
    16. Applied associate-*r/20.2

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

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

    if 2.758027754679776e-281 < re < 5.90592111459123e-176

    1. Initial program 32.1

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow132.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-pow32.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-frac32.1

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

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

    if 6.472106043627502e+127 < re

    1. Initial program 57.1

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

      \[\leadsto \frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\color{blue}{\sqrt{\log 10} \cdot \sqrt{\log 10}}}\]
    4. Applied pow157.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-pow57.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-frac57.1

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -1.240082689521645815217683079061051755514 \cdot 10^{136}:\\ \;\;\;\;\frac{-1}{\sqrt{\log 10}} \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\\ \mathbf{elif}\;re \le 2.758027754679775859452707209022012553709 \cdot 10^{-281}:\\ \;\;\;\;\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \frac{{\left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}\\ \mathbf{elif}\;re \le 5.905921114591229872182552907648628199056 \cdot 10^{-176}:\\ \;\;\;\;\frac{1}{\sqrt{\log 10}} \cdot \left(\log im \cdot \sqrt{\frac{1}{\log 10}}\right)\\ \mathbf{elif}\;re \le 6.472106043627502342156948650503796470752 \cdot 10^{127}:\\ \;\;\;\;\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}} \cdot \frac{{\left(\sqrt{\sqrt{\frac{1}{\sqrt{\log 10}}}}\right)}^{3} \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt{\log 10}}\\ \mathbf{else}:\\ \;\;\;\;\left(\log re \cdot \sqrt{\frac{1}{\log 10}}\right) \cdot \frac{1}{\sqrt{\log 10}}\\ \end{array}\]

Reproduce

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