\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 r1507186 = im;
double r1507187 = re;
double r1507188 = atan2(r1507186, r1507187);
double r1507189 = base;
double r1507190 = log(r1507189);
double r1507191 = r1507188 * r1507190;
double r1507192 = r1507187 * r1507187;
double r1507193 = r1507186 * r1507186;
double r1507194 = r1507192 + r1507193;
double r1507195 = sqrt(r1507194);
double r1507196 = log(r1507195);
double r1507197 = 0.0;
double r1507198 = r1507196 * r1507197;
double r1507199 = r1507191 - r1507198;
double r1507200 = r1507190 * r1507190;
double r1507201 = r1507197 * r1507197;
double r1507202 = r1507200 + r1507201;
double r1507203 = r1507199 / r1507202;
return r1507203;
}
double f(double re, double im, double base) {
double r1507204 = im;
double r1507205 = re;
double r1507206 = atan2(r1507204, r1507205);
double r1507207 = base;
double r1507208 = log(r1507207);
double r1507209 = r1507206 / r1507208;
return r1507209;
}



Bits error versus re



Bits error versus im



Bits error versus base
Results
Initial program 30.8
Simplified0.3
Final simplification0.3
herbie shell --seed 2019149
(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))))