Average Error: 30.6 → 0.4
Time: 52.5s
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}\]
\[\frac{\log \left((e^{\log_* (1 + \sqrt[3]{\sqrt{re^2 + im^2}^*})} - 1)^* \cdot \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right)\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}
\frac{\log \left((e^{\log_* (1 + \sqrt[3]{\sqrt{re^2 + im^2}^*})} - 1)^* \cdot \left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right)\right)}{\log base}
double f(double re, double im, double base) {
        double r868973 = re;
        double r868974 = r868973 * r868973;
        double r868975 = im;
        double r868976 = r868975 * r868975;
        double r868977 = r868974 + r868976;
        double r868978 = sqrt(r868977);
        double r868979 = log(r868978);
        double r868980 = base;
        double r868981 = log(r868980);
        double r868982 = r868979 * r868981;
        double r868983 = atan2(r868975, r868973);
        double r868984 = 0.0;
        double r868985 = r868983 * r868984;
        double r868986 = r868982 + r868985;
        double r868987 = r868981 * r868981;
        double r868988 = r868984 * r868984;
        double r868989 = r868987 + r868988;
        double r868990 = r868986 / r868989;
        return r868990;
}

double f(double re, double im, double base) {
        double r868991 = re;
        double r868992 = im;
        double r868993 = hypot(r868991, r868992);
        double r868994 = cbrt(r868993);
        double r868995 = log1p(r868994);
        double r868996 = expm1(r868995);
        double r868997 = r868994 * r868994;
        double r868998 = r868996 * r868997;
        double r868999 = log(r868998);
        double r869000 = base;
        double r869001 = log(r869000);
        double r869002 = r868999 / r869001;
        return r869002;
}

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-sqr-sqrt0.4

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

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

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

    \[\leadsto \frac{\log \left(\sqrt{\color{blue}{\left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}}} \cdot \left(\sqrt{\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}} \cdot \sqrt{\sqrt[3]{\sqrt{re^2 + im^2}^*}}\right)\right)}{\log base}\]
  9. Applied sqrt-prod0.4

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

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

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

    \[\leadsto \frac{\log \left(\left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) \cdot \color{blue}{\sqrt[3]{\sqrt{re^2 + im^2}^*}}\right)}{\log base}\]
  13. Using strategy rm
  14. Applied expm1-log1p-u0.4

    \[\leadsto \frac{\log \left(\left(\sqrt[3]{\sqrt{re^2 + im^2}^*} \cdot \sqrt[3]{\sqrt{re^2 + im^2}^*}\right) \cdot \color{blue}{(e^{\log_* (1 + \sqrt[3]{\sqrt{re^2 + im^2}^*})} - 1)^*}\right)}{\log base}\]
  15. Final simplification0.4

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

Reproduce

herbie shell --seed 2019112 +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))))