\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 r1979377 = im;
double r1979378 = re;
double r1979379 = atan2(r1979377, r1979378);
double r1979380 = base;
double r1979381 = log(r1979380);
double r1979382 = r1979379 * r1979381;
double r1979383 = r1979378 * r1979378;
double r1979384 = r1979377 * r1979377;
double r1979385 = r1979383 + r1979384;
double r1979386 = sqrt(r1979385);
double r1979387 = log(r1979386);
double r1979388 = 0.0;
double r1979389 = r1979387 * r1979388;
double r1979390 = r1979382 - r1979389;
double r1979391 = r1979381 * r1979381;
double r1979392 = r1979388 * r1979388;
double r1979393 = r1979391 + r1979392;
double r1979394 = r1979390 / r1979393;
return r1979394;
}
double f(double re, double im, double base) {
double r1979395 = im;
double r1979396 = re;
double r1979397 = atan2(r1979395, r1979396);
double r1979398 = base;
double r1979399 = log(r1979398);
double r1979400 = r1979397 / r1979399;
return r1979400;
}



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