\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 r2022333 = im;
double r2022334 = re;
double r2022335 = atan2(r2022333, r2022334);
double r2022336 = base;
double r2022337 = log(r2022336);
double r2022338 = r2022335 * r2022337;
double r2022339 = r2022334 * r2022334;
double r2022340 = r2022333 * r2022333;
double r2022341 = r2022339 + r2022340;
double r2022342 = sqrt(r2022341);
double r2022343 = log(r2022342);
double r2022344 = 0.0;
double r2022345 = r2022343 * r2022344;
double r2022346 = r2022338 - r2022345;
double r2022347 = r2022337 * r2022337;
double r2022348 = r2022344 * r2022344;
double r2022349 = r2022347 + r2022348;
double r2022350 = r2022346 / r2022349;
return r2022350;
}
double f(double re, double im, double base) {
double r2022351 = im;
double r2022352 = re;
double r2022353 = atan2(r2022351, r2022352);
double r2022354 = base;
double r2022355 = log(r2022354);
double r2022356 = r2022353 / r2022355;
return r2022356;
}



Bits error versus re



Bits error versus im



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