Average Error: 30.6 → 0.6
Time: 1.3m
Precision: 64
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
\[\sqrt[3]{\left(\sqrt[3]{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}
\sqrt[3]{\left(\sqrt[3]{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}
double f(double re, double im, double base) {
        double r1122688 = re;
        double r1122689 = r1122688 * r1122688;
        double r1122690 = im;
        double r1122691 = r1122690 * r1122690;
        double r1122692 = r1122689 + r1122691;
        double r1122693 = sqrt(r1122692);
        double r1122694 = log(r1122693);
        double r1122695 = base;
        double r1122696 = log(r1122695);
        double r1122697 = r1122694 * r1122696;
        double r1122698 = atan2(r1122690, r1122688);
        double r1122699 = 0.0;
        double r1122700 = r1122698 * r1122699;
        double r1122701 = r1122697 + r1122700;
        double r1122702 = r1122696 * r1122696;
        double r1122703 = r1122699 * r1122699;
        double r1122704 = r1122702 + r1122703;
        double r1122705 = r1122701 / r1122704;
        return r1122705;
}

double f(double re, double im, double base) {
        double r1122706 = re;
        double r1122707 = im;
        double r1122708 = hypot(r1122706, r1122707);
        double r1122709 = log(r1122708);
        double r1122710 = base;
        double r1122711 = log(r1122710);
        double r1122712 = r1122709 / r1122711;
        double r1122713 = r1122712 * r1122712;
        double r1122714 = r1122713 * r1122712;
        double r1122715 = cbrt(r1122714);
        double r1122716 = r1122715 * r1122712;
        double r1122717 = r1122716 * r1122712;
        double r1122718 = cbrt(r1122717);
        return r1122718;
}

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. Initial program 30.6

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

    \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube0.6

    \[\leadsto \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\color{blue}{\sqrt[3]{\left(\log base \cdot \log base\right) \cdot \log base}}}\]
  5. Applied add-cbrt-cube0.8

    \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\log \left(\sqrt{re^2 + im^2}^*\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)}}}{\sqrt[3]{\left(\log base \cdot \log base\right) \cdot \log base}}\]
  6. Applied cbrt-undiv0.7

    \[\leadsto \color{blue}{\sqrt[3]{\frac{\left(\log \left(\sqrt{re^2 + im^2}^*\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)}{\left(\log base \cdot \log base\right) \cdot \log base}}}\]
  7. Simplified0.7

    \[\leadsto \sqrt[3]{\color{blue}{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}}\]
  8. Using strategy rm
  9. Applied add-cbrt-cube0.7

    \[\leadsto \sqrt[3]{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\color{blue}{\sqrt[3]{\left(\log base \cdot \log base\right) \cdot \log base}}}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}\]
  10. Applied add-cbrt-cube0.7

    \[\leadsto \sqrt[3]{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \frac{\color{blue}{\sqrt[3]{\left(\log \left(\sqrt{re^2 + im^2}^*\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)}}}{\sqrt[3]{\left(\log base \cdot \log base\right) \cdot \log base}}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}\]
  11. Applied cbrt-undiv0.7

    \[\leadsto \sqrt[3]{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \color{blue}{\sqrt[3]{\frac{\left(\log \left(\sqrt{re^2 + im^2}^*\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)\right) \cdot \log \left(\sqrt{re^2 + im^2}^*\right)}{\left(\log base \cdot \log base\right) \cdot \log base}}}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}\]
  12. Simplified0.6

    \[\leadsto \sqrt[3]{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \sqrt[3]{\color{blue}{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}\]
  13. Final simplification0.6

    \[\leadsto \sqrt[3]{\left(\sqrt[3]{\left(\frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}} \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}\right) \cdot \frac{\log \left(\sqrt{re^2 + im^2}^*\right)}{\log base}}\]

Reproduce

herbie shell --seed 2019107 +o rules:numerics
(FPCore (re im base)
  :name "math.log/2 on complex, real part"
  (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))))