Average Error: 31.9 → 17.7
Time: 12.5s
Precision: binary64
Cost: 21443
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
\[\begin{array}{l} \mathbf{if}\;re \leq -1.1582045779288604 \cdot 10^{+124}:\\ \;\;\;\;\frac{\log \left(-re\right)}{\log base}\\ \mathbf{elif}\;re \leq -6.390324954697034 \cdot 10^{-245}:\\ \;\;\;\;\frac{0.5}{\frac{\frac{\log base}{3}}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}\\ \mathbf{elif}\;re \leq -1.3320567237358959 \cdot 10^{-273}:\\ \;\;\;\;\frac{\log \left(\left(im + 0.5 \cdot \frac{re \cdot re}{im}\right) - 0.125 \cdot \left(re \cdot {\left(\frac{re}{im}\right)}^{3}\right)\right)}{\log base}\\ \mathbf{elif}\;re \leq 8.063615423237896 \cdot 10^{+74}:\\ \;\;\;\;\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log re}{\log base}\\ \end{array}\]
\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}
\begin{array}{l}
\mathbf{if}\;re \leq -1.1582045779288604 \cdot 10^{+124}:\\
\;\;\;\;\frac{\log \left(-re\right)}{\log base}\\

\mathbf{elif}\;re \leq -6.390324954697034 \cdot 10^{-245}:\\
\;\;\;\;\frac{0.5}{\frac{\frac{\log base}{3}}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}\\

\mathbf{elif}\;re \leq -1.3320567237358959 \cdot 10^{-273}:\\
\;\;\;\;\frac{\log \left(\left(im + 0.5 \cdot \frac{re \cdot re}{im}\right) - 0.125 \cdot \left(re \cdot {\left(\frac{re}{im}\right)}^{3}\right)\right)}{\log base}\\

\mathbf{elif}\;re \leq 8.063615423237896 \cdot 10^{+74}:\\
\;\;\;\;\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}\\

\mathbf{else}:\\
\;\;\;\;\frac{\log re}{\log base}\\

\end{array}
(FPCore (re im base)
 :precision binary64
 (/
  (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0.0))
  (+ (* (log base) (log base)) (* 0.0 0.0))))
(FPCore (re im base)
 :precision binary64
 (if (<= re -1.1582045779288604e+124)
   (/ (log (- re)) (log base))
   (if (<= re -6.390324954697034e-245)
     (/ 0.5 (/ (/ (log base) 3.0) (log (cbrt (+ (* re re) (* im im))))))
     (if (<= re -1.3320567237358959e-273)
       (/
        (log
         (-
          (+ im (* 0.5 (/ (* re re) im)))
          (* 0.125 (* re (pow (/ re im) 3.0)))))
        (log base))
       (if (<= re 8.063615423237896e+74)
         (/ (log (sqrt (+ (* re re) (* im im)))) (log base))
         (/ (log re) (log base)))))))
double code(double re, double im, double base) {
	return ((log(sqrt((re * re) + (im * im))) * log(base)) + (atan2(im, re) * 0.0)) / ((log(base) * log(base)) + (0.0 * 0.0));
}
double code(double re, double im, double base) {
	double tmp;
	if (re <= -1.1582045779288604e+124) {
		tmp = log(-re) / log(base);
	} else if (re <= -6.390324954697034e-245) {
		tmp = 0.5 / ((log(base) / 3.0) / log(cbrt((re * re) + (im * im))));
	} else if (re <= -1.3320567237358959e-273) {
		tmp = log((im + (0.5 * ((re * re) / im))) - (0.125 * (re * pow((re / im), 3.0)))) / log(base);
	} else if (re <= 8.063615423237896e+74) {
		tmp = log(sqrt((re * re) + (im * im))) / log(base);
	} else {
		tmp = log(re) / log(base);
	}
	return tmp;
}

Error

Bits error versus re

Bits error versus im

Bits error versus base

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Alternatives

Alternative 1
Error32.4
Cost78656
\[\sqrt[3]{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}} \cdot \left(\sqrt[3]{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}} \cdot \sqrt[3]{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\right)\]
Alternative 2
Error44.3
Cost78144
\[\frac{\sqrt{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}{\sqrt[3]{\log base} \cdot \sqrt[3]{\log base}} \cdot \frac{\sqrt{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}{\sqrt[3]{\log base}}\]
Alternative 3
Error32.4
Cost65600
\[\left(\sqrt[3]{\log \left(\sqrt{re \cdot re + im \cdot im}\right)} \cdot \sqrt[3]{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}\right) \cdot \frac{\sqrt[3]{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}{\log base}\]
Alternative 4
Error32.5
Cost52416
\[\sqrt[3]{\frac{1}{\log base}} \cdot \left(\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \left(\sqrt[3]{\frac{1}{\log base}} \cdot \sqrt[3]{\frac{1}{\log base}}\right)\right)\]
Alternative 5
Error48.0
Cost52416
\[\sqrt{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}} \cdot \sqrt{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\]
Alternative 6
Error32.4
Cost52160
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt[3]{\log base} \cdot \sqrt[3]{\log base}} \cdot \frac{1}{\sqrt[3]{\log base}}\]
Alternative 7
Error32.3
Cost52032
\[\frac{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\sqrt[3]{\log base} \cdot \sqrt[3]{\log base}}}{\sqrt[3]{\log base}}\]
Alternative 8
Error52.9
Cost46272
\[\frac{0.5}{\frac{\log base}{\log \left({re}^{6} + {im}^{6}\right) - \log \left({re}^{4} + \left({im}^{4} - \left(re \cdot re\right) \cdot \left(im \cdot im\right)\right)\right)}}\]
Alternative 9
Error44.1
Cost45888
\[\sqrt{\log \left(\sqrt{re \cdot re + im \cdot im}\right)} \cdot \frac{\sqrt{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}{\log base}\]
Alternative 10
Error32.3
Cost45760
\[\frac{0.5}{\sqrt[3]{\log base} \cdot \sqrt[3]{\log base}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt[3]{\log base}}\]
Alternative 11
Error48.0
Cost39872
\[\sqrt{0.5 \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\log base}} \cdot \sqrt{0.5 \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\log base}}\]
Alternative 12
Error48.0
Cost39744
\[\frac{0.5}{\sqrt{\frac{\log base}{\log \left(re \cdot re + im \cdot im\right)}} \cdot \sqrt{\frac{\log base}{\log \left(re \cdot re + im \cdot im\right)}}}\]
Alternative 13
Error31.9
Cost39552
\[\frac{\log base \cdot \log \left(\sqrt{re \cdot re + im \cdot im}\right) + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base}\]
Alternative 14
Error32.0
Cost33344
\[\frac{0.5}{\frac{\log base}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right) + \log \left(\sqrt[3]{re \cdot re + im \cdot im}\right) \cdot 2}}\]
Alternative 15
Error44.1
Cost33216
\[\frac{0.5}{\frac{\log base}{\sqrt{\log \left(re \cdot re + im \cdot im\right)} \cdot \sqrt{\log \left(re \cdot re + im \cdot im\right)}}}\]
Alternative 16
Error47.9
Cost32832
\[\frac{0.5}{\sqrt{\log base}} \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log base}}\]
Alternative 17
Error47.9
Cost32832
\[\frac{0.5}{\frac{\sqrt{\log base}}{\frac{\log \left(re \cdot re + im \cdot im\right)}{\sqrt{\log base}}}}\]
Alternative 18
Error32.1
Cost32768
\[\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \sqrt[3]{{\left(\frac{1}{\log base}\right)}^{3}}\]
Alternative 19
Error48.0
Cost32640
\[\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot e^{-\log \log base}\]
Alternative 20
Error32.1
Cost32640
\[\sqrt[3]{{\left(\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}\right)}^{3}}\]
Alternative 21
Error32.2
Cost32576
\[\log \left(e^{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\right)\]
Alternative 22
Error47.9
Cost32576
\[e^{\log \left(\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}\right)}\]
Alternative 23
Error32.1
Cost26432
\[\frac{\sqrt{0.5}}{\frac{\log base}{\log \left(re \cdot re + im \cdot im\right) \cdot \sqrt{0.5}}}\]
Alternative 24
Error32.1
Cost26432
\[\sqrt{0.5} \cdot \frac{\sqrt{0.5}}{\frac{\log base}{\log \left(re \cdot re + im \cdot im\right)}}\]
Alternative 25
Error32.1
Cost26368
\[\sqrt[3]{{\left(0.5 \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\log base}\right)}^{3}}\]
Alternative 26
Error32.1
Cost26368
\[\frac{0.5}{\frac{\log base}{\sqrt[3]{{\log \left(re \cdot re + im \cdot im\right)}^{3}}}}\]
Alternative 27
Error32.1
Cost26368
\[\frac{0.5}{\sqrt[3]{{\left(\frac{\log base}{\log \left(re \cdot re + im \cdot im\right)}\right)}^{3}}}\]
Alternative 28
Error32.1
Cost26304
\[\frac{0.5}{\log \left(e^{\frac{\log base}{\log \left(re \cdot re + im \cdot im\right)}}\right)}\]
Alternative 29
Error47.9
Cost26304
\[e^{\log \left(0.5 \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\log base}\right)}\]
Alternative 30
Error44.3
Cost26304
\[\frac{0.5}{\frac{\log base}{e^{\log \log \left(re \cdot re + im \cdot im\right)}}}\]
Alternative 31
Error32.2
Cost26240
\[\log \left({\left(\sqrt{re \cdot re + im \cdot im}\right)}^{\left(\frac{1}{\log base}\right)}\right)\]
Alternative 32
Error48.5
Cost20480
\[\frac{\log \left(\left(re + 0.5 \cdot \frac{im \cdot im}{re}\right) - 0.125 \cdot \left(im \cdot {\left(\frac{im}{re}\right)}^{3}\right)\right)}{\log base}\]
Alternative 33
Error48.8
Cost20480
\[\frac{\log \left(\left(im + 0.5 \cdot \frac{re \cdot re}{im}\right) - 0.125 \cdot \left(re \cdot {\left(\frac{re}{im}\right)}^{3}\right)\right)}{\log base}\]
Alternative 34
Error32.0
Cost20032
\[\frac{0.5}{0.3333333333333333 \cdot \frac{\log base}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}\]
Alternative 35
Error31.9
Cost20032
\[\frac{0.5}{\frac{\frac{\log base}{3}}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}\]
Alternative 36
Error31.9
Cost19904
\[\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \frac{1}{\log base}\]
Alternative 37
Error31.9
Cost19904
\[\frac{1}{\frac{\log base}{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}}\]
Alternative 38
Error32.2
Cost19840
\[\log \left({\left(re \cdot re + im \cdot im\right)}^{\left(\frac{0.5}{\log base}\right)}\right)\]
Alternative 39
Error31.9
Cost19776
\[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}\]
Alternative 40
Error32.0
Cost13760
\[\frac{0.5}{\frac{3}{\log \left(re \cdot re + im \cdot im\right)} \cdot \frac{\log base}{3}}\]
Alternative 41
Error31.9
Cost13632
\[\frac{\frac{0.5}{\log base}}{\frac{1}{\log \left(re \cdot re + im \cdot im\right)}}\]
Alternative 42
Error32.0
Cost13632
\[\frac{0.5}{\log base \cdot \frac{1}{\log \left(re \cdot re + im \cdot im\right)}}\]
Alternative 43
Error31.9
Cost13504
\[\frac{0.5}{\frac{\log base}{\log \left(re \cdot re + im \cdot im\right)}}\]
Alternative 44
Error31.9
Cost13504
\[0.5 \cdot \frac{\log \left(re \cdot re + im \cdot im\right)}{\log base}\]
Alternative 45
Error46.7
Cost13376
\[\frac{0.5}{\frac{\log base}{-2 \cdot \log \left(\frac{-1}{im}\right)}}\]
Alternative 46
Error46.5
Cost13312
\[\frac{0.5}{-0.5 \cdot \frac{\log base}{-\log re}}\]
Alternative 47
Error46.6
Cost13312
\[\frac{0.5}{-0.5 \cdot \frac{\log base}{-\log im}}\]
Alternative 48
Error46.1
Cost13248
\[\frac{0.5}{\frac{\log base}{\log \left(re \cdot re\right)}}\]
Alternative 49
Error46.7
Cost13248
\[\frac{0.5}{\frac{\log base}{\log \left(im \cdot im\right)}}\]
Alternative 50
Error46.7
Cost13184
\[\frac{1}{\log base} \cdot \log \left(-im\right)\]
Alternative 51
Error46.3
Cost13184
\[\frac{1}{\log base} \cdot \log \left(-re\right)\]
Alternative 52
Error46.5
Cost13120
\[\frac{1}{\log base} \cdot \log re\]
Alternative 53
Error46.6
Cost13120
\[\frac{1}{\log base} \cdot \log im\]
Alternative 54
Error46.7
Cost13056
\[\frac{\log \left(-im\right)}{\log base}\]
Alternative 55
Error46.3
Cost13056
\[\frac{\log \left(-re\right)}{\log base}\]
Alternative 56
Error46.5
Cost12992
\[\frac{\log re}{\log base}\]
Alternative 57
Error46.6
Cost12992
\[\frac{\log im}{\log base}\]
Alternative 58
Error57.3
Cost64
\[1\]
Alternative 59
Error62.0
Cost64
\[0\]
Alternative 60
Error57.4
Cost64
\[-1\]

Error

Derivation

  1. Split input into 5 regimes
  2. if re < -1.1582045779288604e124

    1. Initial program 55.8

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
    2. Simplified55.8

      \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\]
    3. Taylor expanded around -inf 7.2

      \[\leadsto \frac{\log \color{blue}{\left(-1 \cdot re\right)}}{\log base}\]
    4. Simplified7.2

      \[\leadsto \frac{\log \color{blue}{\left(-re\right)}}{\log base}\]
    5. Simplified7.2

      \[\leadsto \color{blue}{\frac{\log \left(-re\right)}{\log base}}\]

    if -1.1582045779288604e124 < re < -6.3903249546970339e-245

    1. Initial program 20.5

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
    2. Simplified20.4

      \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\]
    3. Using strategy rm
    4. Applied pow1/2_binary64_48420.4

      \[\leadsto \frac{\log \color{blue}{\left({\left(re \cdot re + im \cdot im\right)}^{0.5}\right)}}{\log base}\]
    5. Applied log-pow_binary64_49320.4

      \[\leadsto \frac{\color{blue}{0.5 \cdot \log \left(re \cdot re + im \cdot im\right)}}{\log base}\]
    6. Applied associate-/l*_binary64_34920.5

      \[\leadsto \color{blue}{\frac{0.5}{\frac{\log base}{\log \left(re \cdot re + im \cdot im\right)}}}\]
    7. Using strategy rm
    8. Applied add-cube-cbrt_binary64_43920.5

      \[\leadsto \frac{0.5}{\frac{\log base}{\log \color{blue}{\left(\left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right) \cdot \sqrt[3]{re \cdot re + im \cdot im}\right)}}}\]
    9. Applied log-prod_binary64_49020.5

      \[\leadsto \frac{0.5}{\frac{\log base}{\color{blue}{\log \left(\sqrt[3]{re \cdot re + im \cdot im} \cdot \sqrt[3]{re \cdot re + im \cdot im}\right) + \log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}}\]
    10. Simplified20.5

      \[\leadsto \frac{0.5}{\frac{\log base}{\color{blue}{2 \cdot \log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)} + \log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}\]
    11. Using strategy rm
    12. Applied distribute-lft1-in_binary64_35920.5

      \[\leadsto \frac{0.5}{\frac{\log base}{\color{blue}{\left(2 + 1\right) \cdot \log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}}\]
    13. Applied associate-/r*_binary64_34820.5

      \[\leadsto \frac{0.5}{\color{blue}{\frac{\frac{\log base}{2 + 1}}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}}\]
    14. Simplified20.5

      \[\leadsto \frac{0.5}{\frac{\color{blue}{\frac{\log base}{3}}}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}\]
    15. Simplified20.5

      \[\leadsto \color{blue}{\frac{0.5}{\frac{\frac{\log base}{3}}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}}\]

    if -6.3903249546970339e-245 < re < -1.3320567237358959e-273

    1. Initial program 30.5

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
    2. Simplified30.4

      \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\]
    3. Taylor expanded around 0 42.2

      \[\leadsto \frac{\log \color{blue}{\left(\left(0.5 \cdot \frac{{re}^{2}}{im} + im\right) - 0.125 \cdot \frac{{re}^{4}}{{im}^{3}}\right)}}{\log base}\]
    4. Simplified31.2

      \[\leadsto \frac{\log \color{blue}{\left(\left(im + 0.5 \cdot \frac{re \cdot re}{im}\right) - 0.125 \cdot \left({\left(\frac{re}{im}\right)}^{3} \cdot re\right)\right)}}{\log base}\]
    5. Simplified31.2

      \[\leadsto \color{blue}{\frac{\log \left(\left(im + 0.5 \cdot \frac{re \cdot re}{im}\right) - 0.125 \cdot \left(re \cdot {\left(\frac{re}{im}\right)}^{3}\right)\right)}{\log base}}\]

    if -1.3320567237358959e-273 < re < 8.0636154232378959e74

    1. Initial program 23.0

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
    2. Simplified22.9

      \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\]
    3. Simplified22.9

      \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\]

    if 8.0636154232378959e74 < re

    1. Initial program 48.2

      \[\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right) \cdot \log base + \tan^{-1}_* \frac{im}{re} \cdot 0}{\log base \cdot \log base + 0 \cdot 0}\]
    2. Simplified48.1

      \[\leadsto \color{blue}{\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}}\]
    3. Taylor expanded around inf 10.2

      \[\leadsto \frac{\log \color{blue}{re}}{\log base}\]
    4. Simplified10.2

      \[\leadsto \color{blue}{\frac{\log re}{\log base}}\]
  3. Recombined 5 regimes into one program.
  4. Final simplification17.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;re \leq -1.1582045779288604 \cdot 10^{+124}:\\ \;\;\;\;\frac{\log \left(-re\right)}{\log base}\\ \mathbf{elif}\;re \leq -6.390324954697034 \cdot 10^{-245}:\\ \;\;\;\;\frac{0.5}{\frac{\frac{\log base}{3}}{\log \left(\sqrt[3]{re \cdot re + im \cdot im}\right)}}\\ \mathbf{elif}\;re \leq -1.3320567237358959 \cdot 10^{-273}:\\ \;\;\;\;\frac{\log \left(\left(im + 0.5 \cdot \frac{re \cdot re}{im}\right) - 0.125 \cdot \left(re \cdot {\left(\frac{re}{im}\right)}^{3}\right)\right)}{\log base}\\ \mathbf{elif}\;re \leq 8.063615423237896 \cdot 10^{+74}:\\ \;\;\;\;\frac{\log \left(\sqrt{re \cdot re + im \cdot im}\right)}{\log base}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log re}{\log base}\\ \end{array}\]

Reproduce

herbie shell --seed 2021042 
(FPCore (re im base)
  :name "math.log/2 on complex, real part"
  :precision binary64
  (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0.0)) (+ (* (log base) (log base)) (* 0.0 0.0))))