\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 r2041873 = im;
double r2041874 = re;
double r2041875 = atan2(r2041873, r2041874);
double r2041876 = base;
double r2041877 = log(r2041876);
double r2041878 = r2041875 * r2041877;
double r2041879 = r2041874 * r2041874;
double r2041880 = r2041873 * r2041873;
double r2041881 = r2041879 + r2041880;
double r2041882 = sqrt(r2041881);
double r2041883 = log(r2041882);
double r2041884 = 0.0;
double r2041885 = r2041883 * r2041884;
double r2041886 = r2041878 - r2041885;
double r2041887 = r2041877 * r2041877;
double r2041888 = r2041884 * r2041884;
double r2041889 = r2041887 + r2041888;
double r2041890 = r2041886 / r2041889;
return r2041890;
}
double f(double re, double im, double base) {
double r2041891 = im;
double r2041892 = re;
double r2041893 = atan2(r2041891, r2041892);
double r2041894 = base;
double r2041895 = log(r2041894);
double r2041896 = r2041893 / r2041895;
return r2041896;
}



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 2019162
(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))))