math.log/2 on complex, real part

Time bar (total: 6.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze162.0ms (2.7%)

Memory
4.9MiB live, 339.1MiB allocated; 30ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%49.9%0.1%0%49.9%0%4
0%0%49.9%0.1%0%49.9%0%5
0%0%49.9%0.1%0%49.9%0%6
9.4%4.7%45.2%0.1%0%49.9%0%7
17.2%8.6%41.3%0.1%0%49.9%0%8
27.3%13.7%36.3%0.1%0%49.9%0%9
41%20.5%29.4%0.1%0%49.9%0%10
48.6%24.3%25.6%0.1%0%49.9%0%11
57.1%28.5%21.4%0.1%0%49.9%0%12
Compiler

Compiled 30 to 17 computations (43.3% saved)

sample1.4s (23.8%)

Memory
15.3MiB live, 2 241.4MiB allocated; 562ms collecting garbage
Samples
1.1s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 795.0ms
ival-hypot: 221.0ms (27.8% of total)
ival-log: 197.0ms (24.8% of total)
ival-mult!: 142.0ms (17.9% of total)
ival-add!: 132.0ms (16.6% of total)
ival-atan2: 67.0ms (8.4% of total)
ival-div!: 35.0ms (4.4% of total)
adjust: 2.0ms (0.3% of total)
Bogosity

preprocess36.0ms (0.6%)

Memory
10.4MiB live, 56.5MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
079197
1502177
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.1%
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
Symmetry

(abs re)

(abs im)

(sort re im)

Compiler

Compiled 56 to 36 computations (35.7% saved)

series335.0ms (5.6%)

Memory
1.3MiB live, 579.8MiB allocated; 57ms collecting garbage
Counts
18 → 112
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64)))
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
re
(*.f64 im im)
im
(log.f64 base)
base
(*.f64 (atan2.f64 im re) #s(literal 0 binary64))
(atan2.f64 im re)
#s(literal 0 binary64)
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
Outputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (+.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (+.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (+.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64)))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (sqrt.f64 (pow.f64 im #s(literal 2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (+ (* re re) (* im im)) (pow.f64 im #s(literal 2 binary64)))
#s(approx (+ (* re re) (* im im)) (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))
#s(approx (* re re) (pow.f64 re #s(literal 2 binary64)))
#s(approx re re)
#s(approx (* (atan2 im re) 0) #s(literal 0 binary64))
#s(approx (atan2 im re) (atan2.f64 im re))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (+ (* re re) (* im im)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) re)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (+.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (+.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (+.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64)))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (sqrt.f64 (pow.f64 re #s(literal 2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx im im)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (+ (* re re) (* im im)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) im))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (log base) (log.f64 base))
#s(approx base base)
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (log base) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) #s(literal 2 binary64)))
Calls

9 calls:

TimeVariablePoint
74.0ms
base
0
25.0ms
base
-inf
18.0ms
base
inf
9.0ms
re
inf
3.0ms
re
0

rewrite182.0ms (3%)

Memory
28.7MiB live, 189.8MiB allocated; 78ms collecting garbage
Counts
18 → 77
Calls
Call 1
Inputs
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64)))
(*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base))
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
re
(*.f64 im im)
im
(log.f64 base)
base
(*.f64 (atan2.f64 im re) #s(literal 0 binary64))
(atan2.f64 im re)
#s(literal 0 binary64)
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
Outputs
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
(*.f64 (+.f64 im re) (-.f64 re im))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (-.f64 re im) (+.f64 im re))
(*.f64 (-.f64 (fabs.f64 re) (fabs.f64 im)) (-.f64 (fabs.f64 re) (fabs.f64 im)))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 re im))
(*.f64 re re)
(*.f64 (fabs.f64 re) (fabs.f64 re))
(*.f64 (fabs.f64 re) (neg.f64 re))
(*.f64 (fabs.f64 re) re)
(*.f64 (neg.f64 re) (fabs.f64 re))
re
(neg.f64 (neg.f64 re))
(*.f64 im im)
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (fabs.f64 im) (neg.f64 im))
(*.f64 (fabs.f64 im) im)
(*.f64 (neg.f64 im) (neg.f64 im))
im
(neg.f64 (neg.f64 im))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
base
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
(atan2.f64 im re)
(neg.f64 (neg.f64 (atan2.f64 im re)))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))
#s(literal 0 binary64)
#s(literal 2 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(*.f64 #s(literal 0 binary64) #s(literal 3 binary64))

eval59.0ms (1%)

Memory
-7.7MiB live, 53.1MiB allocated; 45ms collecting garbage
Compiler

Compiled 6 322 to 857 computations (86.4% saved)

prune17.0ms (0.3%)

Memory
-16.7MiB live, 30.1MiB allocated; 11ms collecting garbage
Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New12013133
Fresh000
Picked101
Done000
Total12113134
Accuracy
99.2%
Counts
134 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.1%
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) #s(approx (* (atan2 im re) 0) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
10.1%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
98.2%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
53.3%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
10.1%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
98.5%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
9.4%
#s(literal 2 binary64)
9.7%
#s(literal 1 binary64)
3.1%
#s(literal 0 binary64)
Compiler

Compiled 756 to 534 computations (29.4% saved)

series577.0ms (9.6%)

Memory
-42.3MiB live, 934.0MiB allocated; 246ms collecting garbage
Counts
30 → 93
Calls
Call 1
Inputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)))
#s(literal -1 binary64)
(/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))
(log.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
(log.f64 base)
base
#s(literal 0 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)))
(/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))
(log.f64 (/.f64 #s(literal -1 binary64) im))
(/.f64 #s(literal -1 binary64) im)
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))
(log.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
re
Outputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (* -1 (* (log base) (log (/ 1 re)))) (*.f64 (log.f64 base) (log.f64 re)))
#s(approx (* (log base) (log (/ 1 re))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 re))))
#s(approx (log (/ 1 re)) (*.f64 #s(literal -1 binary64) (log.f64 re)))
#s(approx (/ 1 re) (/.f64 #s(literal 1 binary64) re))
#s(approx re re)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (* (log base) (log (/ 1 re))) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (log (/ 1 re)) (log.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base)))
#s(approx (/ (log (/ 1 im)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 im) (log.f64 base))))
#s(approx (log (/ 1 im)) (*.f64 #s(literal -1 binary64) (log.f64 im)))
#s(approx (/ 1 im) (/.f64 #s(literal 1 binary64) im))
#s(approx im im)
#s(approx (* -1 (/ (log (/ -1 im)) (log base))) (/.f64 (log.f64 (neg.f64 im)) (log.f64 base)))
#s(approx (/ (log (/ -1 im)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (neg.f64 im)) (log.f64 base))))
#s(approx (log (/ -1 im)) (*.f64 #s(literal -1 binary64) (log.f64 (neg.f64 im))))
#s(approx (/ -1 im) (/.f64 #s(literal -1 binary64) im))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))
#s(approx (* (log base) (log (/ -1 im))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (neg.f64 im)))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (/ (log (/ 1 im)) (log base)) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)))
#s(approx (log (/ 1 im)) (log.f64 (/.f64 #s(literal 1 binary64) im)))
#s(approx (* -1 (/ (log (/ -1 im)) (log base))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) im))) (log.f64 base))))
#s(approx (/ (log (/ -1 im)) (log base)) (/.f64 (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) im))) (log.f64 base)))
#s(approx (log (/ -1 im)) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) im))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) im))))))
#s(approx (* (log base) (log (/ -1 im))) (*.f64 (log.f64 base) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (/ (log (/ -1 im)) (log base)) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)))
#s(approx (log (/ -1 im)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (* (log base) (log (/ -1 im))) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
#s(approx (log base) (log.f64 base))
#s(approx base base)
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (/ (log (/ 1 im)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (log base) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (* -1 (/ (log (/ -1 im)) (log base))) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (/ (log (/ -1 im)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (* (log base) (log (/ -1 im))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) #s(literal 2 binary64)))
#s(approx (* -1 (* (log base) (log (/ 1 re)))) (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) (log.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (* (log base) (log (/ 1 re))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) (log.f64 (/.f64 #s(literal 1 binary64) re)))))
Calls

9 calls:

TimeVariablePoint
86.0ms
base
0
85.0ms
re
-inf
64.0ms
base
inf
53.0ms
base
-inf
49.0ms
im
-inf

rewrite209.0ms (3.5%)

Memory
34.6MiB live, 366.8MiB allocated; 30ms collecting garbage
Counts
30 → 117
Calls
Call 1
Inputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)))
#s(literal -1 binary64)
(/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))
(log.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
(log.f64 base)
base
#s(literal 0 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)))
(/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))
(log.f64 (/.f64 #s(literal -1 binary64) im))
(/.f64 #s(literal -1 binary64) im)
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))
(log.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
re
Outputs
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal -1 binary64)
(neg.f64 (neg.f64 #s(literal -1 binary64)))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
base
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
(/.f64 #s(literal -1 binary64) #s(literal 1 binary64))
(/.f64 (neg.f64 #s(literal -1 binary64)) #s(literal 1 binary64))
(neg.f64 (/.f64 #s(literal -1 binary64) #s(literal 1 binary64)))
(/.f64 #s(approx 2 #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
(/.f64 #s(approx 2 #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im

eval12.0ms (0.2%)

Memory
-15.5MiB live, 30.6MiB allocated; 2ms collecting garbage
Compiler

Compiled 5 817 to 595 computations (89.8% saved)

prune10.0ms (0.2%)

Memory
25.2MiB live, 25.2MiB allocated; 0ms collecting garbage
Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New1108118
Fresh268
Picked415
Done000
Total11615131
Accuracy
99.2%
Counts
131 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.1%
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) #s(approx (* (atan2 im re) 0) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
98.2%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
10.1%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ 1 re)))) (*.f64 (log.f64 base) (log.f64 re)))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
53.3%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
10.1%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
98.5%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base))))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ -1 im)) (log base))) (/.f64 (log.f64 (neg.f64 im)) (log.f64 base))))
3.5%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) re)
3.1%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) im)
9.4%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 2 binary64))
9.7%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 1 binary64))
3.1%
#s(literal 0 binary64)
Compiler

Compiled 1 043 to 698 computations (33.1% saved)

series1.3s (21.3%)

Memory
-79.2MiB live, 1 188.4MiB allocated; 1.3s collecting garbage
Counts
27 → 83
Calls
Call 1
Inputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base))))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base)))
(/.f64 (log.f64 im) (log.f64 base))
(log.f64 im)
im
(log.f64 base)
base
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) re)
re
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)))
#s(literal -1 binary64)
(/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))
(log.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(log.f64 (/.f64 #s(literal -1 binary64) re))
(/.f64 #s(literal -1 binary64) re)
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
#s(literal 0 binary64)
Outputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx re re)
#s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base)))
#s(approx (/ (log (/ 1 re)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 re) (log.f64 base))))
#s(approx (log (/ 1 re)) (*.f64 #s(literal -1 binary64) (log.f64 re)))
#s(approx (/ 1 re) (/.f64 #s(literal 1 binary64) re))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (* -1 (* (log base) (log (/ -1 re)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 re))))
#s(approx (* (log base) (log (/ -1 re))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (neg.f64 re)))))
#s(approx (log (/ -1 re)) (*.f64 #s(literal -1 binary64) (log.f64 (neg.f64 re))))
#s(approx (/ -1 re) (/.f64 #s(literal -1 binary64) re))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (/ (log (/ 1 re)) (log base)) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)))
#s(approx (log (/ 1 re)) (log.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (* -1 (* (log base) (log (/ -1 re)))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) re))))))
#s(approx (* (log base) (log (/ -1 re))) (*.f64 (log.f64 base) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (log (/ -1 re)) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (* (log base) (log (/ -1 re))) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))
#s(approx (log (/ -1 re)) (log.f64 (/.f64 #s(literal -1 binary64) re)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base)))
#s(approx (log im) (log.f64 im))
#s(approx im im)
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (log im) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
#s(approx (log base) (log.f64 base))
#s(approx base base)
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (/ (log im) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 im) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (log base) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (/ (log (/ 1 re)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (* -1 (* (log base) (log (/ -1 re)))) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (* (log base) (log (/ -1 re))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) #s(literal 2 binary64)))
Calls

9 calls:

TimeVariablePoint
751.0ms
base
0
86.0ms
base
inf
83.0ms
base
-inf
42.0ms
im
-inf
35.0ms
im
inf

rewrite235.0ms (3.9%)

Memory
32.0MiB live, 358.6MiB allocated; 39ms collecting garbage
Counts
27 → 98
Calls
Call 1
Inputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base))))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base)))
(/.f64 (log.f64 im) (log.f64 base))
(log.f64 im)
im
(log.f64 base)
base
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 1 binary64))
#s(literal 1 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) re)
re
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)))
#s(literal -1 binary64)
(/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))
(log.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(log.f64 (/.f64 #s(literal -1 binary64) re))
(/.f64 #s(literal -1 binary64) re)
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
#s(literal 0 binary64)
Outputs
#s(approx 2 #s(approx 2 #s(literal 1 binary64)))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
base
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal -1 binary64)
(neg.f64 (neg.f64 #s(literal -1 binary64)))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
(/.f64 #s(approx 2 #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
(/.f64 #s(literal -1 binary64) #s(literal 1 binary64))
(/.f64 (neg.f64 #s(literal -1 binary64)) #s(literal 1 binary64))
(neg.f64 (/.f64 #s(literal -1 binary64) #s(literal 1 binary64)))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im

eval40.0ms (0.7%)

Memory
3.1MiB live, 47.6MiB allocated; 19ms collecting garbage
Compiler

Compiled 4 966 to 519 computations (89.5% saved)

prune27.0ms (0.5%)

Memory
1.8MiB live, 46.9MiB allocated; 6ms collecting garbage
Pruning

15 alts after pruning (11 fresh and 4 done)

PrunedKeptTotal
New94498
Fresh279
Picked235
Done011
Total9815113
Accuracy
99.2%
Counts
113 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.1%
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) #s(approx (* (atan2 im re) 0) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
98.2%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
10.1%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ 1 re)))) (*.f64 (log.f64 base) (log.f64 re)))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 re)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
53.3%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
10.1%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base))))
98.5%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base))))
3.1%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) im))
9.4%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64)))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ -1 im)) (log base))) (/.f64 (log.f64 (neg.f64 im)) (log.f64 base))))
3.5%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) re)
9.7%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 1 binary64))
3.1%
#s(literal 0 binary64)
Compiler

Compiled 1 005 to 672 computations (33.1% saved)

series991.0ms (16.5%)

Memory
6.2MiB live, 1 527.4MiB allocated; 477ms collecting garbage
Counts
34 → 93
Calls
Call 1
Inputs
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))
#s(literal -1 binary64)
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))
(log.f64 base)
base
(log.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
#s(literal 0 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64)))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base))))
#s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base)))
(/.f64 (log.f64 re) (log.f64 base))
(log.f64 re)
re
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)))
(/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))
(log.f64 (/.f64 #s(literal -1 binary64) re))
(/.f64 #s(literal -1 binary64) re)
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im)))))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))
(*.f64 (log.f64 base) (log.f64 (neg.f64 im)))
(log.f64 (neg.f64 im))
(neg.f64 im)
Outputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base)))
#s(approx (log re) (log.f64 re))
#s(approx re re)
#s(approx (* -1 (/ (log (/ -1 re)) (log base))) (/.f64 (log.f64 (neg.f64 re)) (log.f64 base)))
#s(approx (/ (log (/ -1 re)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (neg.f64 re)) (log.f64 base))))
#s(approx (log (/ -1 re)) (*.f64 #s(literal -1 binary64) (log.f64 (neg.f64 re))))
#s(approx (/ -1 re) (/.f64 #s(literal -1 binary64) re))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (log re) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (* -1 (/ (log (/ -1 re)) (log base))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) re))) (log.f64 base))))
#s(approx (/ (log (/ -1 re)) (log base)) (/.f64 (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) re))) (log.f64 base)))
#s(approx (log (/ -1 re)) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 im #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 im #s(literal 6 binary64))))) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (/ (log (/ -1 re)) (log base)) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)))
#s(approx (log (/ -1 re)) (log.f64 (/.f64 #s(literal -1 binary64) re)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64)))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64)))))) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 base))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 (log.f64 base) (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (log.f64 base) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 4 binary64))) (*.f64 #s(literal 1/6 binary64) (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)) (pow.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64))) #s(literal 6 binary64))))))))))
#s(approx (* -1 (* (log base) (log (/ 1 im)))) (*.f64 (log.f64 base) (log.f64 im)))
#s(approx (* (log base) (log (/ 1 im))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 im))))
#s(approx (log (/ 1 im)) (*.f64 #s(literal -1 binary64) (log.f64 im)))
#s(approx (/ 1 im) (/.f64 #s(literal 1 binary64) im))
#s(approx im im)
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base)))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))
#s(approx (log (neg im)) (log.f64 (neg.f64 im)))
#s(approx (neg im) (*.f64 #s(literal -1 binary64) im))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (* (log base) (log (/ 1 im))) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))
#s(approx (log (/ 1 im)) (log.f64 (/.f64 #s(literal 1 binary64) im)))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) im))))))
#s(approx (log (neg im)) (*.f64 #s(literal -1 binary64) (log.f64 (neg.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base)))))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (pow.f64 im #s(literal 4 binary64)) (log.f64 base))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 base))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 base))))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (fma.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (log.f64 base)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (log.f64 base) (fma.f64 #s(literal 30 binary64) (pow.f64 re #s(literal 6 binary64)) (*.f64 #s(literal 90 binary64) (pow.f64 re #s(literal 6 binary64))))) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 base)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (log (neg im)) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal -1 binary64) im))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 (log.f64 base) (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (log base) (log.f64 base))
#s(approx base base)
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 base) #s(literal 2 binary64)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (* -1 (* (log base) (log (/ 1 im)))) (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) (log.f64 (/.f64 #s(literal 1 binary64) im))))
#s(approx (* (log base) (log (/ 1 im))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) (log.f64 (/.f64 #s(literal 1 binary64) im)))))
#s(approx (log base) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (+ (* (log base) (log base)) (* 0 0)) (pow.f64 (log.f64 (/.f64 #s(literal 1 binary64) base)) #s(literal 2 binary64)))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (/ (log re) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 re) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (* -1 (/ (log (/ -1 re)) (log base))) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (/ (log (/ -1 re)) (log base)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 (/.f64 #s(literal 1 binary64) base))))
#s(approx (* (log base) (log (neg im))) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 (neg.f64 im)) (log.f64 (/.f64 #s(literal 1 binary64) base)))))
Calls

9 calls:

TimeVariablePoint
136.0ms
base
0
132.0ms
re
inf
112.0ms
base
-inf
100.0ms
re
-inf
96.0ms
im
0

rewrite205.0ms (3.4%)

Memory
-23.9MiB live, 266.2MiB allocated; 57ms collecting garbage
Counts
34 → 123
Calls
Call 1
Inputs
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))))
(*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))
#s(literal -1 binary64)
(*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im)))
(log.f64 base)
base
(log.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
im
(+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64)))
(*.f64 (log.f64 base) (log.f64 base))
(*.f64 #s(literal 0 binary64) #s(literal 0 binary64))
#s(literal 0 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64)))
#s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base))))
#s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base)))
(/.f64 (log.f64 re) (log.f64 base))
(log.f64 re)
re
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
(*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base)))
(/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))
(log.f64 (/.f64 #s(literal -1 binary64) re))
(/.f64 #s(literal -1 binary64) re)
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im)))))
#s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))
(*.f64 (log.f64 base) (log.f64 (neg.f64 im)))
(log.f64 (neg.f64 im))
(neg.f64 im)
Outputs
(/.f64 #s(approx 2 #s(literal 1 binary64)) #s(literal 1 binary64))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal -1 binary64)
(neg.f64 (neg.f64 #s(literal -1 binary64)))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
base
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(approx 2 #s(approx 2 #s(literal 1 binary64)))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(approx 2 #s(approx 2 #s(literal 1 binary64)))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
(/.f64 #s(approx 2 #s(approx 2 #s(literal 1 binary64))) #s(literal 1 binary64))
#s(approx 2 #s(approx 2 #s(literal 1 binary64)))
#s(approx 2 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im
#s(literal 1 binary64)
#s(literal 0 binary64)
#s(literal 2 binary64)
re
im

eval19.0ms (0.3%)

Memory
1.8MiB live, 48.0MiB allocated; 3ms collecting garbage
Compiler

Compiled 5 556 to 581 computations (89.5% saved)

prune7.0ms (0.1%)

Memory
17.8MiB live, 17.8MiB allocated; 0ms collecting garbage
Pruning

15 alts after pruning (8 fresh and 7 done)

PrunedKeptTotal
New1092111
Fresh066
Picked235
Done044
Total11115126
Accuracy
99.2%
Counts
126 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.1%
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) #s(approx (* (atan2 im re) 0) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
10.1%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ 1 re)))) (*.f64 (log.f64 base) (log.f64 re)))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
98.2%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ 1 im)))) (*.f64 (log.f64 base) (log.f64 im)))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 re)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
0.0%
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
53.3%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
10.1%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base))))
98.5%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base))))
3.1%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) im))
9.4%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64)))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ -1 re)) (log base))) (/.f64 (log.f64 (neg.f64 re)) (log.f64 base))))
0.0%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ -1 im)) (log base))) (/.f64 (log.f64 (neg.f64 im)) (log.f64 base))))
3.5%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) re)
9.7%
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 1 binary64))
3.1%
#s(literal 0 binary64)
Compiler

Compiled 568 to 379 computations (33.3% saved)

regimes118.0ms (2%)

Memory
-32.6MiB live, 160.4MiB allocated; 14ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
9 → 1
28 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
Outputs
#s(literal 0 binary64)
Call 2
Inputs
#s(literal 0 binary64)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 1 binary64))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 2 binary64))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) im)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) re)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) im))
Outputs
#s(literal 1 binary64)
Call 3
Inputs
#s(literal 0 binary64)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 1 binary64))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(literal 2 binary64))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) im)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) re)
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) #s(literal 2 binary64)))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) im))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 re)) (log base))) (/.f64 (log.f64 re) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ -1 im)) (log base))) (/.f64 (log.f64 (neg.f64 im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ -1 re)) (log base))) (/.f64 (log.f64 (neg.f64 re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 base))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 base))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ 1 im)))) (*.f64 (log.f64 base) (log.f64 im)))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ 1 re)))) (*.f64 (log.f64 base) (log.f64 re)))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 im)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) #s(approx (* -1 (* (log base) (log (/ -1 re)))) (*.f64 (log.f64 base) (log.f64 (neg.f64 re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal -1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) im))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 #s(approx (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (*.f64 #s(literal -1 binary64) (*.f64 (log.f64 base) (log.f64 (/.f64 #s(literal 1 binary64) re))))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) (/.f64 (log.f64 (sqrt.f64 (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) (log.f64 base)))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) #s(approx (* (atan2 im re) 0) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
Outputs
#s(approx (/ (+ (* (log (sqrt (+ (* re re) (* im im)))) (log base)) (* (atan2 im re) 0)) (+ (* (log base) (log base)) (* 0 0))) #s(approx (* -1 (/ (log (/ 1 im)) (log base))) (/.f64 (log.f64 im) (log.f64 base))))
Calls

15 calls:

23.0ms
(log.f64 base)
22.0ms
im
9.0ms
base
8.0ms
(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
8.0ms
im
Results
AccuracySegmentsBranch
3.1%1re
3.1%1im
3.1%1(log.f64 base)
3.1%1(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
3.1%1base
9.7%1(log.f64 base)
9.7%1(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
9.7%1re
9.7%1im
9.7%1base
98.5%1(log.f64 base)
98.5%1(/.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 base)) (*.f64 (atan2.f64 im re) #s(literal 0 binary64))) (+.f64 (*.f64 (log.f64 base) (log.f64 base)) (*.f64 #s(literal 0 binary64) #s(literal 0 binary64))))
98.5%1re
98.5%1im
98.5%1base
Compiler

Compiled 1 061 to 243 computations (77.1% saved)

derivations1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 46 to 31 computations (32.6% saved)

preprocess50.0ms (0.8%)

Memory
5.8MiB live, 102.1MiB allocated; 10ms collecting garbage
Remove

(sort re im)

(abs im)

(abs re)

Compiler

Compiled 350 to 271 computations (22.6% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...