Average Error: 32.3 → 17.7
Time: 6.3s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -205316960046999.469:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \left(-2 \cdot \frac{\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{2}}}{\log 10}\right)\\ \mathbf{elif}\;re \le 5.0139743767423275 \cdot 10^{120}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(-2 \cdot \left(\log \left(\frac{1}{re}\right) \cdot \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 -205316960046999.469:\\
\;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \left(-2 \cdot \frac{\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{2}}}{\log 10}\right)\\

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

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

\end{array}
double f(double re, double im) {
        double r94279 = re;
        double r94280 = r94279 * r94279;
        double r94281 = im;
        double r94282 = r94281 * r94281;
        double r94283 = r94280 + r94282;
        double r94284 = sqrt(r94283);
        double r94285 = log(r94284);
        double r94286 = 10.0;
        double r94287 = log(r94286);
        double r94288 = r94285 / r94287;
        return r94288;
}

double f(double re, double im) {
        double r94289 = re;
        double r94290 = -205316960046999.47;
        bool r94291 = r94289 <= r94290;
        double r94292 = 0.5;
        double r94293 = sqrt(r94292);
        double r94294 = 1.0;
        double r94295 = sqrt(r94294);
        double r94296 = r94293 / r94295;
        double r94297 = -2.0;
        double r94298 = -1.0;
        double r94299 = r94298 / r94289;
        double r94300 = log(r94299);
        double r94301 = r94300 * r94293;
        double r94302 = 10.0;
        double r94303 = log(r94302);
        double r94304 = r94301 / r94303;
        double r94305 = r94297 * r94304;
        double r94306 = r94296 * r94305;
        double r94307 = 5.0139743767423275e+120;
        bool r94308 = r94289 <= r94307;
        double r94309 = sqrt(r94303);
        double r94310 = r94292 / r94309;
        double r94311 = r94289 * r94289;
        double r94312 = im;
        double r94313 = r94312 * r94312;
        double r94314 = r94311 + r94313;
        double r94315 = r94294 / r94309;
        double r94316 = pow(r94314, r94315);
        double r94317 = log(r94316);
        double r94318 = r94310 * r94317;
        double r94319 = r94294 / r94289;
        double r94320 = log(r94319);
        double r94321 = r94294 / r94303;
        double r94322 = sqrt(r94321);
        double r94323 = r94320 * r94322;
        double r94324 = r94297 * r94323;
        double r94325 = r94310 * r94324;
        double r94326 = r94308 ? r94318 : r94325;
        double r94327 = r94291 ? r94306 : r94326;
        return r94327;
}

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 3 regimes
  2. if re < -205316960046999.47

    1. Initial program 42.0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    if -205316960046999.47 < re < 5.0139743767423275e+120

    1. Initial program 22.6

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

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

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

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

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

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

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

    if 5.0139743767423275e+120 < re

    1. Initial program 55.9

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

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

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

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

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

      \[\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)}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification17.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -205316960046999.469:\\ \;\;\;\;\frac{\sqrt{\frac{1}{2}}}{\sqrt{1}} \cdot \left(-2 \cdot \frac{\log \left(\frac{-1}{re}\right) \cdot \sqrt{\frac{1}{2}}}{\log 10}\right)\\ \mathbf{elif}\;re \le 5.0139743767423275 \cdot 10^{120}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{1}{\sqrt{\log 10}}\right)}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(-2 \cdot \left(\log \left(\frac{1}{re}\right) \cdot \sqrt{\frac{1}{\log 10}}\right)\right)\\ \end{array}\]

Reproduce

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