\frac{\tan^{-1}_* \frac{im}{re} \cdot \log base - \log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\frac{\tan^{-1}_* \frac{im}{re}}{\log base}double f(double re, double im, double base) {
double r2059837 = im;
double r2059838 = re;
double r2059839 = atan2(r2059837, r2059838);
double r2059840 = base;
double r2059841 = log(r2059840);
double r2059842 = r2059839 * r2059841;
double r2059843 = r2059838 * r2059838;
double r2059844 = r2059837 * r2059837;
double r2059845 = r2059843 + r2059844;
double r2059846 = sqrt(r2059845);
double r2059847 = log(r2059846);
double r2059848 = 0.0;
double r2059849 = r2059847 * r2059848;
double r2059850 = r2059842 - r2059849;
double r2059851 = r2059841 * r2059841;
double r2059852 = r2059848 * r2059848;
double r2059853 = r2059851 + r2059852;
double r2059854 = r2059850 / r2059853;
return r2059854;
}
double f(double re, double im, double base) {
double r2059855 = im;
double r2059856 = re;
double r2059857 = atan2(r2059855, r2059856);
double r2059858 = base;
double r2059859 = log(r2059858);
double r2059860 = r2059857 / r2059859;
return r2059860;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 30.7
Simplified0.3
Final simplification0.3
herbie shell --seed 2019158
(FPCore (re im base)
:name "math.log/2 on complex, imaginary part"
(/ (- (* (atan2 im re) (log base)) (* (log (sqrt (+ (* re re) (* im im)))) 0)) (+ (* (log base) (log base)) (* 0 0))))