math.log10 on complex, real part

Time bar (total: 3.0s)

start0.0ms (0%)

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

analyze65.0ms (2.2%)

Memory
-0.7MiB live, 189.4MiB allocated; 26ms 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.4s (48.2%)

Memory
-119.4MiB live, 2 008.3MiB allocated; 1.3s collecting garbage
Samples
734.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 504.0ms
ival-hypot: 239.0ms (47.4% of total)
ival-log: 211.0ms (41.9% of total)
ival-div!: 53.0ms (10.5% of total)
adjust: 2.0ms (0.4% of total)
Bogosity

preprocess170.0ms (5.7%)

Memory
-12.2MiB live, 74.4MiB allocated; 25ms 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)

series158.0ms (5.3%)

Memory
-2.7MiB live, 237.5MiB allocated; 51ms 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.2%)

Memory
17.2MiB live, 112.3MiB allocated; 21ms 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)

eval31.0ms (1%)

Memory
-14.4MiB live, 30.9MiB allocated; 5ms collecting garbage
Compiler

Compiled 3 199 to 576 computations (82% saved)

prune4.0ms (0.1%)

Memory
6.6MiB live, 6.6MiB 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)

series259.0ms (8.6%)

Memory
27.8MiB live, 212.9MiB allocated; 37ms 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
25.0ms
im
0
24.0ms
im
inf
24.0ms
re
0
13.0ms
im
-inf
11.0ms
re
inf

rewrite195.0ms (6.5%)

Memory
-14.4MiB live, 81.5MiB allocated; 117ms 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))

eval13.0ms (0.4%)

Memory
19.0MiB live, 19.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 3 757 to 649 computations (82.7% saved)

prune6.0ms (0.2%)

Memory
8.6MiB live, 8.6MiB 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)

series250.0ms (8.3%)

Memory
-23.9MiB live, 256.5MiB allocated; 33ms 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
22.0ms
re
-inf
22.0ms
re
0
21.0ms
re
inf
15.0ms
im
inf
14.0ms
im
-inf

rewrite130.0ms (4.3%)

Memory
16.9MiB live, 107.5MiB allocated; 35ms 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))

eval13.0ms (0.4%)

Memory
23.3MiB live, 23.3MiB allocated; 0ms collecting garbage
Compiler

Compiled 3 323 to 602 computations (81.9% saved)

prune9.0ms (0.3%)

Memory
-37.6MiB live, 7.6MiB allocated; 8ms 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)

regimes104.0ms (3.5%)

Memory
43.7MiB live, 90.0MiB allocated; 4ms 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:

40.0ms
(*.f64 im im)
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))))
5.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
5.0ms
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im 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)

derivations0.0ms (0%)

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

Compiled 29 to 21 computations (27.6% saved)

preprocess23.0ms (0.8%)

Memory
1.2MiB live, 47.3MiB allocated; 3ms 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...