Average Error: 32.0 → 17.6
Time: 41.4s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
\[\begin{array}{l} \mathbf{if}\;re \le -3.510504290224585263553036624607276929802 \cdot 10^{110}:\\ \;\;\;\;\sqrt{\frac{1}{2}} \cdot \left(\left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right) \cdot \frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}}\right)\\ \mathbf{elif}\;re \le 2.808181869483482800731614586522121158678 \cdot 10^{83}:\\ \;\;\;\;\sqrt{\frac{1}{2}} \cdot \left(\frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log 10}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \left(\frac{1}{\sqrt{\log 10}} \cdot \left(\log re \cdot 2\right)\right)\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}
\begin{array}{l}
\mathbf{if}\;re \le -3.510504290224585263553036624607276929802 \cdot 10^{110}:\\
\;\;\;\;\sqrt{\frac{1}{2}} \cdot \left(\left(\left(\sqrt{\frac{1}{\log 10}} \cdot \log \left(\frac{-1}{re}\right)\right) \cdot -2\right) \cdot \frac{\sqrt{\frac{1}{2}}}{\sqrt{\log 10}}\right)\\

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

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

\end{array}
double f(double re, double im) {
        double r1530574 = re;
        double r1530575 = r1530574 * r1530574;
        double r1530576 = im;
        double r1530577 = r1530576 * r1530576;
        double r1530578 = r1530575 + r1530577;
        double r1530579 = sqrt(r1530578);
        double r1530580 = log(r1530579);
        double r1530581 = 10.0;
        double r1530582 = log(r1530581);
        double r1530583 = r1530580 / r1530582;
        return r1530583;
}

double f(double re, double im) {
        double r1530584 = re;
        double r1530585 = -3.510504290224585e+110;
        bool r1530586 = r1530584 <= r1530585;
        double r1530587 = 0.5;
        double r1530588 = sqrt(r1530587);
        double r1530589 = 1.0;
        double r1530590 = 10.0;
        double r1530591 = log(r1530590);
        double r1530592 = r1530589 / r1530591;
        double r1530593 = sqrt(r1530592);
        double r1530594 = -1.0;
        double r1530595 = r1530594 / r1530584;
        double r1530596 = log(r1530595);
        double r1530597 = r1530593 * r1530596;
        double r1530598 = -2.0;
        double r1530599 = r1530597 * r1530598;
        double r1530600 = sqrt(r1530591);
        double r1530601 = r1530588 / r1530600;
        double r1530602 = r1530599 * r1530601;
        double r1530603 = r1530588 * r1530602;
        double r1530604 = 2.808181869483483e+83;
        bool r1530605 = r1530584 <= r1530604;
        double r1530606 = r1530584 * r1530584;
        double r1530607 = im;
        double r1530608 = r1530607 * r1530607;
        double r1530609 = r1530606 + r1530608;
        double r1530610 = log(r1530609);
        double r1530611 = r1530610 / r1530600;
        double r1530612 = r1530601 * r1530611;
        double r1530613 = r1530588 * r1530612;
        double r1530614 = r1530587 / r1530600;
        double r1530615 = r1530589 / r1530600;
        double r1530616 = log(r1530584);
        double r1530617 = 2.0;
        double r1530618 = r1530616 * r1530617;
        double r1530619 = r1530615 * r1530618;
        double r1530620 = r1530614 * r1530619;
        double r1530621 = r1530605 ? r1530613 : r1530620;
        double r1530622 = r1530586 ? r1530603 : r1530621;
        return r1530622;
}

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 < -3.510504290224585e+110

    1. Initial program 53.0

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log 10}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt53.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/253.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-pow53.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-frac53.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 div-inv53.0

      \[\leadsto \frac{\frac{1}{2}}{\sqrt{\log 10}} \cdot \color{blue}{\left(\log \left(re \cdot re + im \cdot im\right) \cdot \frac{1}{\sqrt{\log 10}}\right)}\]
    9. Using strategy rm
    10. Applied *-un-lft-identity53.0

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

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

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

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

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

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

    if -3.510504290224585e+110 < re < 2.808181869483483e+83

    1. Initial program 22.3

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

      \[\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.3

      \[\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.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}}\]
    6. Applied times-frac22.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}}}\]
    7. Using strategy rm
    8. Applied div-inv22.1

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

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

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

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

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

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

    if 2.808181869483483e+83 < re

    1. Initial program 48.1

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

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

      \[\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-pow48.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}}\]
    6. Applied times-frac48.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 div-inv48.0

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

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

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

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

Reproduce

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