Average Error: 31.5 → 17.5
Time: 48.0s
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
\[\begin{array}{l} \mathbf{if}\;re \le -8.872872797015364335925792872251002149328 \cdot 10^{107}:\\ \;\;\;\;\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\frac{-1}{re}\right) \cdot \left(-\log base\right)}{\log base \cdot \log base + 0.0 \cdot 0.0}\\ \mathbf{elif}\;re \le -1.718328802427038851534936759351323589031 \cdot 10^{-278}:\\ \;\;\;\;\frac{{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right)}^{3} + {\left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)}^{3}}{\left({\left(\log base\right)}^{2} + 0.0 \cdot 0.0\right) \cdot \left(\left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right) \cdot \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right) - \tan^{-1}_* \frac{im}{re} \cdot 0.0\right) + \left(0.0 \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot \tan^{-1}_* \frac{im}{re}\right)\right)}\\ \mathbf{elif}\;re \le 1.176053285745482087138737609815998496376 \cdot 10^{-249}:\\ \;\;\;\;\frac{-\log im}{-\log base}\\ \mathbf{elif}\;re \le 4.307827805178678655155131557660296799377 \cdot 10^{133}:\\ \;\;\;\;\frac{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) - \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right) \cdot \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)}{\left({\left(\log base\right)}^{4} - {0.0}^{4}\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0 - \log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\log re}{\log base}\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}
\begin{array}{l}
\mathbf{if}\;re \le -8.872872797015364335925792872251002149328 \cdot 10^{107}:\\
\;\;\;\;\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\frac{-1}{re}\right) \cdot \left(-\log base\right)}{\log base \cdot \log base + 0.0 \cdot 0.0}\\

\mathbf{elif}\;re \le -1.718328802427038851534936759351323589031 \cdot 10^{-278}:\\
\;\;\;\;\frac{{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right)}^{3} + {\left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)}^{3}}{\left({\left(\log base\right)}^{2} + 0.0 \cdot 0.0\right) \cdot \left(\left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right) \cdot \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right) - \tan^{-1}_* \frac{im}{re} \cdot 0.0\right) + \left(0.0 \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot \tan^{-1}_* \frac{im}{re}\right)\right)}\\

\mathbf{elif}\;re \le 1.176053285745482087138737609815998496376 \cdot 10^{-249}:\\
\;\;\;\;\frac{-\log im}{-\log base}\\

\mathbf{elif}\;re \le 4.307827805178678655155131557660296799377 \cdot 10^{133}:\\
\;\;\;\;\frac{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) - \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right) \cdot \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)}{\left({\left(\log base\right)}^{4} - {0.0}^{4}\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0 - \log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{\log re}{\log base}\\

\end{array}
double f(double re, double im, double base) {
        double r130513 = re;
        double r130514 = r130513 * r130513;
        double r130515 = im;
        double r130516 = r130515 * r130515;
        double r130517 = r130514 + r130516;
        double r130518 = sqrt(r130517);
        double r130519 = log(r130518);
        double r130520 = base;
        double r130521 = log(r130520);
        double r130522 = r130519 * r130521;
        double r130523 = atan2(r130515, r130513);
        double r130524 = 0.0;
        double r130525 = r130523 * r130524;
        double r130526 = r130522 + r130525;
        double r130527 = r130521 * r130521;
        double r130528 = r130524 * r130524;
        double r130529 = r130527 + r130528;
        double r130530 = r130526 / r130529;
        return r130530;
}

double f(double re, double im, double base) {
        double r130531 = re;
        double r130532 = -8.872872797015364e+107;
        bool r130533 = r130531 <= r130532;
        double r130534 = im;
        double r130535 = atan2(r130534, r130531);
        double r130536 = 0.0;
        double r130537 = r130535 * r130536;
        double r130538 = -1.0;
        double r130539 = r130538 / r130531;
        double r130540 = log(r130539);
        double r130541 = base;
        double r130542 = log(r130541);
        double r130543 = -r130542;
        double r130544 = r130540 * r130543;
        double r130545 = r130537 + r130544;
        double r130546 = r130542 * r130542;
        double r130547 = r130536 * r130536;
        double r130548 = r130546 + r130547;
        double r130549 = r130545 / r130548;
        double r130550 = -1.718328802427039e-278;
        bool r130551 = r130531 <= r130550;
        double r130552 = 3.0;
        double r130553 = pow(r130537, r130552);
        double r130554 = r130531 * r130531;
        double r130555 = r130534 * r130534;
        double r130556 = r130554 + r130555;
        double r130557 = sqrt(r130556);
        double r130558 = log(r130557);
        double r130559 = r130542 * r130558;
        double r130560 = pow(r130559, r130552);
        double r130561 = r130553 + r130560;
        double r130562 = 2.0;
        double r130563 = pow(r130542, r130562);
        double r130564 = r130563 + r130547;
        double r130565 = r130559 - r130537;
        double r130566 = r130559 * r130565;
        double r130567 = r130535 * r130535;
        double r130568 = r130547 * r130567;
        double r130569 = r130566 + r130568;
        double r130570 = r130564 * r130569;
        double r130571 = r130561 / r130570;
        double r130572 = 1.176053285745482e-249;
        bool r130573 = r130531 <= r130572;
        double r130574 = log(r130534);
        double r130575 = -r130574;
        double r130576 = r130575 / r130543;
        double r130577 = 4.3078278051786787e+133;
        bool r130578 = r130531 <= r130577;
        double r130579 = r130537 * r130537;
        double r130580 = r130559 * r130559;
        double r130581 = r130579 - r130580;
        double r130582 = 4.0;
        double r130583 = pow(r130542, r130582);
        double r130584 = pow(r130536, r130582);
        double r130585 = r130583 - r130584;
        double r130586 = r130537 - r130559;
        double r130587 = r130585 * r130586;
        double r130588 = r130581 / r130587;
        double r130589 = r130546 - r130547;
        double r130590 = r130588 * r130589;
        double r130591 = log(r130531);
        double r130592 = r130591 / r130542;
        double r130593 = r130578 ? r130590 : r130592;
        double r130594 = r130573 ? r130576 : r130593;
        double r130595 = r130551 ? r130571 : r130594;
        double r130596 = r130533 ? r130549 : r130595;
        return r130596;
}

Error

Bits error versus re

Bits error versus im

Bits error versus base

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 5 regimes
  2. if re < -8.872872797015364e+107

    1. Initial program 53.0

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
    2. Simplified53.0

      \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{\log base \cdot \log base + 0.0 \cdot 0.0}}\]
    3. Taylor expanded around -inf 64.0

      \[\leadsto \frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \color{blue}{-1 \cdot \left(\log \left(\frac{-1}{re}\right) \cdot \left(\log -1 - \log \left(\frac{-1}{base}\right)\right)\right)}}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
    4. Simplified8.5

      \[\leadsto \frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \color{blue}{\left(-\left(0 + \log base\right)\right) \cdot \log \left(\frac{-1}{re}\right)}}{\log base \cdot \log base + 0.0 \cdot 0.0}\]

    if -8.872872797015364e+107 < re < -1.718328802427039e-278

    1. Initial program 20.3

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
    2. Simplified20.3

      \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{\log base \cdot \log base + 0.0 \cdot 0.0}}\]
    3. Using strategy rm
    4. Applied flip3-+20.4

      \[\leadsto \frac{\color{blue}{\frac{{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right)}^{3} + {\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}^{3}}{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) + \left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) - \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)\right)}}}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
    5. Applied associate-/l/20.4

      \[\leadsto \color{blue}{\frac{{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right)}^{3} + {\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}^{3}}{\left(\log base \cdot \log base + 0.0 \cdot 0.0\right) \cdot \left(\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) + \left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) - \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)\right)\right)}}\]
    6. Simplified20.4

      \[\leadsto \frac{{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right)}^{3} + {\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}^{3}}{\color{blue}{\left(\left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base - \tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) + \left(0.0 \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot \tan^{-1}_* \frac{im}{re}\right)\right) \cdot \left(0.0 \cdot 0.0 + {\left(\log base\right)}^{2}\right)}}\]

    if -1.718328802427039e-278 < re < 1.176053285745482e-249

    1. Initial program 32.4

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
    2. Simplified32.4

      \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{\log base \cdot \log base + 0.0 \cdot 0.0}}\]
    3. Taylor expanded around inf 32.4

      \[\leadsto \color{blue}{\frac{\log \left(\frac{1}{im}\right)}{\log \left(\frac{1}{base}\right)}}\]
    4. Simplified32.4

      \[\leadsto \color{blue}{-\frac{\log im}{-\log base}}\]

    if 1.176053285745482e-249 < re < 4.3078278051786787e+133

    1. Initial program 19.7

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
    2. Simplified19.7

      \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{\log base \cdot \log base + 0.0 \cdot 0.0}}\]
    3. Using strategy rm
    4. Applied flip-+19.7

      \[\leadsto \frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{\color{blue}{\frac{\left(\log base \cdot \log base\right) \cdot \left(\log base \cdot \log base\right) - \left(0.0 \cdot 0.0\right) \cdot \left(0.0 \cdot 0.0\right)}{\log base \cdot \log base - 0.0 \cdot 0.0}}}\]
    5. Applied associate-/r/19.7

      \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{\left(\log base \cdot \log base\right) \cdot \left(\log base \cdot \log base\right) - \left(0.0 \cdot 0.0\right) \cdot \left(0.0 \cdot 0.0\right)} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)}\]
    6. Simplified19.7

      \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{{\left(\log base\right)}^{4} - {0.0}^{3} \cdot 0.0}} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)\]
    7. Using strategy rm
    8. Applied flip-+19.7

      \[\leadsto \frac{\color{blue}{\frac{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) - \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}{\tan^{-1}_* \frac{im}{re} \cdot 0.0 - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}}}{{\left(\log base\right)}^{4} - {0.0}^{3} \cdot 0.0} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)\]
    9. Applied associate-/l/19.8

      \[\leadsto \color{blue}{\frac{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) - \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}{\left({\left(\log base\right)}^{4} - {0.0}^{3} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0 - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)\]
    10. Simplified19.8

      \[\leadsto \frac{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) - \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right) \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}{\color{blue}{\left({\left(\log base\right)}^{4} - {0.0}^{4}\right) \cdot \left(0.0 \cdot \tan^{-1}_* \frac{im}{re} - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base\right)}} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)\]

    if 4.3078278051786787e+133 < re

    1. Initial program 58.9

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0.0}{\log base \cdot \log base + 0.0 \cdot 0.0}\]
    2. Simplified58.9

      \[\leadsto \color{blue}{\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base}{\log base \cdot \log base + 0.0 \cdot 0.0}}\]
    3. Taylor expanded around 0 8.0

      \[\leadsto \color{blue}{\frac{\log re}{\log base}}\]
  3. Recombined 5 regimes into one program.
  4. Final simplification17.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \le -8.872872797015364335925792872251002149328 \cdot 10^{107}:\\ \;\;\;\;\frac{\tan^{-1}_* \frac{im}{re} \cdot 0.0 + \log \left(\frac{-1}{re}\right) \cdot \left(-\log base\right)}{\log base \cdot \log base + 0.0 \cdot 0.0}\\ \mathbf{elif}\;re \le -1.718328802427038851534936759351323589031 \cdot 10^{-278}:\\ \;\;\;\;\frac{{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right)}^{3} + {\left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)}^{3}}{\left({\left(\log base\right)}^{2} + 0.0 \cdot 0.0\right) \cdot \left(\left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right) \cdot \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right) - \tan^{-1}_* \frac{im}{re} \cdot 0.0\right) + \left(0.0 \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot \tan^{-1}_* \frac{im}{re}\right)\right)}\\ \mathbf{elif}\;re \le 1.176053285745482087138737609815998496376 \cdot 10^{-249}:\\ \;\;\;\;\frac{-\log im}{-\log base}\\ \mathbf{elif}\;re \le 4.307827805178678655155131557660296799377 \cdot 10^{133}:\\ \;\;\;\;\frac{\left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0\right) - \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right) \cdot \left(\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)}{\left({\left(\log base\right)}^{4} - {0.0}^{4}\right) \cdot \left(\tan^{-1}_* \frac{im}{re} \cdot 0.0 - \log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right)\right)} \cdot \left(\log base \cdot \log base - 0.0 \cdot 0.0\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\log re}{\log base}\\ \end{array}\]

Reproduce

herbie shell --seed 2019179 
(FPCore (re im base)
  :name "math.log/2 on complex, real part"
  (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0.0)) (+ (* (log base) (log base)) (* 0.0 0.0))))