math.log10 on complex, real part

Time bar (total: 2.7s)

start0.0ms (0%)

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

analyze67.0ms (2.5%)

Memory
10.8MiB live, 48.5MiB allocated; 19ms 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%99.9%0.1%0%0%0%4
18.8%18.7%81.2%0.1%0%0%0%5
34.4%34.3%65.6%0.1%0%0%0%6
54.7%54.6%45.3%0.1%0%0%0%7
64.8%64.8%35.1%0.1%0%0%0%8
76.2%76.1%23.8%0.1%0%0%0%9
81.8%81.8%18.1%0.1%0%0%0%10
87.8%87.7%12.2%0.1%0%0%0%11
90.8%90.7%9.2%0.1%0%0%0%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.3s (47.3%)

Memory
-15.2MiB live, 804.7MiB allocated; 1.0s collecting garbage
Samples
1.0s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 813.0ms
ival-div!: 465.0ms (57.2% of total)
ival-hypot: 229.0ms (28.2% of total)
ival-log: 117.0ms (14.4% of total)
adjust: 2.0ms (0.2% of total)
Bogosity

preprocess136.0ms (5%)

Memory
-24.8MiB live, 28.7MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02874
19272
221572
333972
487666
5586466
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
45.8%
(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
Symmetry

(abs re)

(abs im)

(sort re im)

Compiler

Compiled 24 to 20 computations (16.7% saved)

series148.0ms (5.5%)

Memory
15.3MiB live, 147.7MiB allocated; 31ms collecting garbage
Counts
10 → 77
Calls
Call 1
Inputs
(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(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 #s(literal 10 binary64))
#s(literal 10 binary64)
Outputs
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 #s(literal 10 binary64))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 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 (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 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 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 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 10)) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 #s(literal 10 binary64))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 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 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 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 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 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))))))))))
Calls

6 calls:

TimeVariablePoint
3.0ms
im
0
3.0ms
re
0
3.0ms
re
inf
2.0ms
im
inf
1.0ms
re
-inf

rewrite125.0ms (4.6%)

Memory
9.3MiB live, 108.5MiB allocated; 24ms collecting garbage
Counts
10 → 47
Calls
Call 1
Inputs
(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(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 #s(literal 10 binary64))
#s(literal 10 binary64)
Outputs
(*.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (log.f64 #s(literal 10 binary64))))
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (neg.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))) (neg.f64 (log.f64 #s(literal 10 binary64))))
(log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(fabs.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(hypot.f64 re im)
(hypot.f64 im re)
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) (fabs.f64 im))
(hypot.f64 (fabs.f64 re) im)
(hypot.f64 (fabs.f64 re) (neg.f64 im))
(hypot.f64 (fabs.f64 re) (fabs.f64 im))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) (fabs.f64 re))
(hypot.f64 (fabs.f64 im) re)
(hypot.f64 (fabs.f64 im) (neg.f64 re))
(hypot.f64 (fabs.f64 im) (fabs.f64 re))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re (fabs.f64 im))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im (fabs.f64 re))
(pow.f64 (fma.f64 re re (*.f64 im im)) #s(literal 1/2 binary64))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 re re))
(-.f64 (*.f64 re re) (neg.f64 (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (fabs.f64 re) (fabs.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (fabs.f64 im) (fabs.f64 im) (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 (fabs.f64 re) (fabs.f64 re))
(pow.f64 re #s(literal 2 binary64))
re
(*.f64 im im)
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(pow.f64 im #s(literal 2 binary64))
im
(log.f64 #s(literal 10 binary64))
#s(literal 10 binary64)

eval17.0ms (0.6%)

Memory
-11.0MiB live, 33.2MiB allocated; 8ms collecting garbage
Compiler

Compiled 3 199 to 576 computations (82% saved)

prune5.0ms (0.2%)

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

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1116117
Fresh000
Picked101
Done000
Total1126118
Accuracy
99.1%
Counts
118 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 #s(literal 10 binary64)))
45.8%
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
0.0%
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) re))) (log.f64 #s(literal 10 binary64)))
0.0%
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) im))) (log.f64 #s(literal 10 binary64)))
10.2%
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)))) (log.f64 #s(literal 10 binary64)))
98.2%
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)))) (log.f64 #s(literal 10 binary64)))
Compiler

Compiled 176 to 148 computations (15.9% saved)

series268.0ms (9.9%)

Memory
-14.8MiB live, 288.7MiB allocated; 166ms collecting garbage
Counts
27 → 80
Calls
Call 1
Inputs
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 #s(literal 10 binary64)))
(log.f64 (hypot.f64 re im))
(hypot.f64 re im)
re
im
(log.f64 #s(literal 10 binary64))
#s(literal 10 binary64)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) im))) (log.f64 #s(literal 10 binary64)))
(log.f64 #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) im))
(*.f64 #s(literal -1 binary64) im)
#s(literal -1 binary64)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) re))) (log.f64 #s(literal 10 binary64)))
(log.f64 #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) re))
(*.f64 #s(literal -1 binary64) re)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im))))
(*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)))
(log.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)))
(log.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
Outputs
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 #s(literal 10 binary64))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 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)
#s(approx (* -1 re) (*.f64 #s(literal -1 binary64) re))
#s(approx (* -1 (log (/ 1 re))) (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 (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 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 (log (/ 1 re)) (log.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 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) (*.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 10)) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 #s(literal 10 binary64))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 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 (* -1 im) (*.f64 #s(literal -1 binary64) im))
#s(approx (* -1 (log (/ 1 im))) (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 (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 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 (log (/ 1 im)) (log.f64 (/.f64 #s(literal 1 binary64) im)))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 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) (*.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))))))))))
Calls

6 calls:

TimeVariablePoint
61.0ms
re
-inf
27.0ms
re
0
11.0ms
im
inf
8.0ms
im
-inf
8.0ms
im
0

rewrite144.0ms (5.3%)

Memory
19.3MiB live, 112.5MiB allocated; 19ms collecting garbage
Counts
27 → 70
Calls
Call 1
Inputs
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 #s(literal 10 binary64)))
(log.f64 (hypot.f64 re im))
(hypot.f64 re im)
re
im
(log.f64 #s(literal 10 binary64))
#s(literal 10 binary64)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) im))) (log.f64 #s(literal 10 binary64)))
(log.f64 #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) im))
(*.f64 #s(literal -1 binary64) im)
#s(literal -1 binary64)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) re))) (log.f64 #s(literal 10 binary64)))
(log.f64 #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) re))
(*.f64 #s(literal -1 binary64) re)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im))))
(*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)))
(log.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)))
(log.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
Outputs
(*.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (log.f64 #s(literal 10 binary64))))
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (neg.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))) (neg.f64 (log.f64 #s(literal 10 binary64))))
(log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(fabs.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(hypot.f64 re im)
(hypot.f64 im re)
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) (fabs.f64 im))
(hypot.f64 (fabs.f64 re) im)
(hypot.f64 (fabs.f64 re) (neg.f64 im))
(hypot.f64 (fabs.f64 re) (fabs.f64 im))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) (fabs.f64 re))
(hypot.f64 (fabs.f64 im) re)
(hypot.f64 (fabs.f64 im) (neg.f64 re))
(hypot.f64 (fabs.f64 im) (fabs.f64 re))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re (fabs.f64 im))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im (fabs.f64 re))
(pow.f64 (fma.f64 re re (*.f64 im im)) #s(literal 1/2 binary64))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
re
im
(log.f64 #s(literal 10 binary64))
#s(literal 10 binary64)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))
(*.f64 #s(literal -1 binary64) im)
(*.f64 im #s(literal -1 binary64))
(neg.f64 im)
#s(literal -1 binary64)
(neg.f64 #s(literal 1 binary64))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(*.f64 #s(literal -1 binary64) re)
(*.f64 re #s(literal -1 binary64))
(neg.f64 re)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (neg.f64 (neg.f64 (log.f64 im)))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (neg.f64 (neg.f64 (log.f64 im))))
(*.f64 #s(literal -1 binary64) (neg.f64 (log.f64 im)))
(*.f64 (neg.f64 (log.f64 im)) #s(literal -1 binary64))
(log.f64 (pow.f64 (/.f64 #s(literal 1 binary64) im) #s(literal -1 binary64)))
(neg.f64 (neg.f64 (log.f64 im)))
(log.f64 (/.f64 #s(literal 1 binary64) im))
(neg.f64 (log.f64 im))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
(/.f64 #s(literal -1 binary64) (neg.f64 im))
(pow.f64 im #s(literal -1 binary64))
#s(literal 1 binary64)
(cosh.f64 #s(literal 0 binary64))
(exp.f64 #s(literal 0 binary64))
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (neg.f64 (neg.f64 (log.f64 re)))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) (neg.f64 (neg.f64 (log.f64 re))))
(*.f64 #s(literal -1 binary64) (neg.f64 (log.f64 re)))
(*.f64 (neg.f64 (log.f64 re)) #s(literal -1 binary64))
(log.f64 (pow.f64 (/.f64 #s(literal 1 binary64) re) #s(literal -1 binary64)))
(neg.f64 (neg.f64 (log.f64 re)))
(log.f64 (/.f64 #s(literal 1 binary64) re))
(neg.f64 (log.f64 re))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
(/.f64 #s(literal -1 binary64) (neg.f64 re))
(pow.f64 re #s(literal -1 binary64))

eval19.0ms (0.7%)

Memory
-26.3MiB live, 19.2MiB allocated; 5ms collecting garbage
Compiler

Compiled 3 757 to 649 computations (82.7% saved)

prune5.0ms (0.2%)

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

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1374141
Fresh011
Picked415
Done000
Total1416147
Accuracy
99.1%
Counts
147 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 #s(literal 10 binary64)))
45.8%
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
0.0%
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
0.0%
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
10.2%
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re))) (log.f64 #s(literal 10 binary64)))
98.2%
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
Compiler

Compiled 177 to 145 computations (18.1% saved)

series223.0ms (8.2%)

Memory
4.0MiB live, 247.3MiB allocated; 21ms collecting garbage
Counts
25 → 79
Calls
Call 1
Inputs
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im)))
#s(approx (* -1 (log (/ 1 im))) (log.f64 im))
(log.f64 im)
im
(log.f64 #s(literal 10 binary64))
#s(literal 10 binary64)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re)))
#s(approx (* -1 (log (/ 1 re))) (log.f64 re))
(log.f64 re)
re
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))
(neg.f64 im)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
(*.f64 im im)
Outputs
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (/.f64 (log.f64 (sqrt.f64 (pow.f64 im #s(literal 2 binary64)))) (log.f64 #s(literal 10 binary64))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 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 (* -1 (log (/ 1 re))) (log.f64 re))
#s(approx re re)
#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 (neg re) (*.f64 #s(literal -1 binary64) re))
#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 (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 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)) (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 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) re)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 re #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (log.f64 #s(literal 10 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) (*.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 10)) (/.f64 (log.f64 (sqrt.f64 (pow.f64 re #s(literal 2 binary64)))) (log.f64 #s(literal 10 binary64))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (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 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 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) (*.f64 (log.f64 #s(literal 10 binary64)) (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 #s(literal 10 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 (* -1 (log (/ 1 im))) (log.f64 im))
#s(approx im im)
#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 (neg im) (*.f64 #s(literal -1 binary64) im))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal 1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 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 10)) (*.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64)))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64)))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 binary64))))))))
#s(approx (/ (log (sqrt (+ (* re re) (* im im)))) (log 10)) (fma.f64 #s(literal -1 binary64) (/.f64 (log.f64 (/.f64 #s(literal -1 binary64) im)) (log.f64 #s(literal 10 binary64))) (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 #s(literal 10 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)))) (*.f64 (pow.f64 im #s(literal 6 binary64)) (log.f64 #s(literal 10 binary64)))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (log.f64 #s(literal 10 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) (*.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))))))))))
Calls

6 calls:

TimeVariablePoint
18.0ms
re
inf
15.0ms
im
-inf
14.0ms
im
0
13.0ms
im
inf
13.0ms
re
-inf

rewrite157.0ms (5.8%)

Memory
15.2MiB live, 152.6MiB allocated; 17ms collecting garbage
Counts
25 → 59
Calls
Call 1
Inputs
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im)))
#s(approx (* -1 (log (/ 1 im))) (log.f64 im))
(log.f64 im)
im
(log.f64 #s(literal 10 binary64))
#s(literal 10 binary64)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re)))
#s(approx (* -1 (log (/ 1 re))) (log.f64 re))
(log.f64 re)
re
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))
(neg.f64 im)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(fma.f64 re re (*.f64 im im))
(*.f64 im im)
Outputs
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (neg (neg (log im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (neg (neg (log im))) (log.f64 im)))
#s(approx (neg (neg (log im))) (log.f64 im))
(log.f64 im)
im
(log.f64 #s(literal 10 binary64))
#s(literal 10 binary64)
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (neg (neg (log re))) (log.f64 re))) (log.f64 #s(literal 10 binary64)))
#s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (neg (neg (log re))) (log.f64 re)))
#s(approx (neg (neg (log re))) (log.f64 re))
(log.f64 re)
re
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))
(neg.f64 im)
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
(log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
(neg.f64 re)
(*.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (/.f64 #s(literal 1 binary64) (log.f64 #s(literal 10 binary64))))
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (neg.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))) (neg.f64 (log.f64 #s(literal 10 binary64))))
(log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(fabs.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))))
(hypot.f64 re im)
(hypot.f64 im re)
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) (fabs.f64 im))
(hypot.f64 (fabs.f64 re) im)
(hypot.f64 (fabs.f64 re) (neg.f64 im))
(hypot.f64 (fabs.f64 re) (fabs.f64 im))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) (fabs.f64 re))
(hypot.f64 (fabs.f64 im) re)
(hypot.f64 (fabs.f64 im) (neg.f64 re))
(hypot.f64 (fabs.f64 im) (fabs.f64 re))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re (fabs.f64 im))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im (fabs.f64 re))
(pow.f64 (fma.f64 re re (*.f64 im im)) #s(literal 1/2 binary64))
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(+.f64 (*.f64 im im) (*.f64 re re))
(-.f64 (*.f64 re re) (neg.f64 (*.f64 im im)))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(fma.f64 re re (*.f64 im im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (fabs.f64 re) (fabs.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (fabs.f64 im) (fabs.f64 im) (*.f64 re re))
(fma.f64 im im (*.f64 re re))
(*.f64 im im)
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 (fabs.f64 im) (fabs.f64 im))
(pow.f64 im #s(literal 2 binary64))

eval25.0ms (0.9%)

Memory
-25.4MiB live, 37.5MiB allocated; 22ms collecting garbage
Compiler

Compiled 3 323 to 602 computations (81.9% saved)

prune4.0ms (0.2%)

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

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1200120
Fresh000
Picked055
Done011
Total1206126
Accuracy
99.1%
Counts
126 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.1%
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 #s(literal 10 binary64)))
45.8%
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
0.0%
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
0.0%
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
10.2%
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re))) (log.f64 #s(literal 10 binary64)))
98.2%
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
Compiler

Compiled 92 to 76 computations (17.4% saved)

regimes56.0ms (2.1%)

Memory
16.9MiB live, 111.4MiB allocated; 3ms collecting garbage
Accuracy

Total -62.9b remaining (-3654.1%)

Threshold costs -62.9b (-3654.1%)

Counts
10 → 1
11 → 1
Calls
Call 1
Inputs
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) im))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) re))) (log.f64 #s(literal 10 binary64)))
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
Outputs
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
Call 2
Inputs
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 im))) (log.f64 im))) (log.f64 #s(literal 10 binary64)))
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) #s(approx (* -1 (log (/ 1 re))) (log.f64 re))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 im))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) im))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 #s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) re))) (log.f64 #s(literal 10 binary64)))
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 #s(approx (log (sqrt (+ (* re re) (* im im)))) (*.f64 #s(literal -1 binary64) (log.f64 (/.f64 #s(literal 1 binary64) re)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 #s(literal 10 binary64)))
Outputs
(/.f64 (log.f64 (hypot.f64 re im)) (log.f64 #s(literal 10 binary64)))
Calls

16 calls:

6.0ms
(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
5.0ms
(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
4.0ms
re
4.0ms
im
3.0ms
im
Results
AccuracySegmentsBranch
98.2%1(*.f64 im im)
98.2%1(*.f64 re re)
98.2%1(+.f64 (*.f64 re re) (*.f64 im im))
98.2%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
98.2%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
98.2%1(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
98.2%1re
98.2%1im
99.1%1(*.f64 im im)
99.1%1(*.f64 re re)
99.1%1(+.f64 (*.f64 re re) (*.f64 im im))
99.1%1(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
99.1%1(log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))))
99.1%1(/.f64 (log.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))) (log.f64 #s(literal 10 binary64)))
99.1%1re
99.1%1im
Compiler

Compiled 262 to 142 computations (45.8% saved)

derivations1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 29 to 21 computations (27.6% saved)

preprocess25.0ms (0.9%)

Memory
-43.9MiB live, 52.4MiB allocated; 6ms collecting garbage
Compiler

Compiled 215 to 181 computations (15.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...