math.abs on complex (squared)

Time bar (total: 1.8s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample689.0ms (38.9%)

Memory
24.2MiB live, 1 018.1MiB allocated; 384ms collecting garbage
Samples
507.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 142.0ms
ival-mult!: 112.0ms (78.9% of total)
ival-add!: 29.0ms (20.4% of total)
adjust: 1.0ms (0.7% of total)
Bogosity

preprocess35.0ms (2%)

Memory
15.5MiB live, 61.4MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01444
16944
Stop Event
iter-limit
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
Symmetry

(abs re)

(abs im)

(sort re im)

Compiler

Compiled 14 to 10 computations (28.6% saved)

series128.0ms (7.2%)

Memory
-26.5MiB live, 71.8MiB allocated; 86ms collecting garbage
Counts
5 → 7
Calls
Call 1
Inputs
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
re
(*.f64 im im)
im
Outputs
#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 (+ (* 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 im im)
#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))))))
Calls

6 calls:

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

rewrite160.0ms (9%)

Memory
39.4MiB live, 175.0MiB allocated; 64ms collecting garbage
Counts
5 → 19
Calls
Call 1
Inputs
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
re
(*.f64 im im)
im
Outputs
(*.f64 (+.f64 im re) (-.f64 re im))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (-.f64 re im) (+.f64 im re))
(*.f64 (+.f64 (fabs.f64 re) (neg.f64 im)) (-.f64 (fabs.f64 re) (neg.f64 im)))
(*.f64 (+.f64 (fabs.f64 re) (neg.f64 im)) (-.f64 (neg.f64 im) (fabs.f64 re)))
(*.f64 re re)
(*.f64 (fabs.f64 re) (fabs.f64 re))
(*.f64 (fabs.f64 re) re)
(*.f64 (fabs.f64 re) (neg.f64 re))
(*.f64 (neg.f64 re) re)
re
(neg.f64 (neg.f64 re))
(*.f64 im im)
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (fabs.f64 im) im)
(*.f64 (fabs.f64 im) (neg.f64 im))
(*.f64 (neg.f64 im) im)
im
(neg.f64 (neg.f64 im))

eval24.0ms (1.3%)

Memory
-38.0MiB live, 6.5MiB allocated; 7ms collecting garbage
Compiler

Compiled 234 to 67 computations (71.4% saved)

prune2.0ms (0.1%)

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

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New20222
Fresh000
Picked011
Done000
Total20323
Accuracy
100.0%
Counts
23 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
8.0%
(*.f64 (-.f64 re im) (+.f64 im re))
99.7%
(*.f64 (+.f64 im re) (-.f64 im re))
Compiler

Compiled 21 to 15 computations (28.6% saved)

series114.0ms (6.4%)

Memory
5.3MiB live, 95.3MiB allocated; 18ms collecting garbage
Counts
7 → 47
Calls
Call 1
Inputs
(*.f64 (+.f64 im re) (-.f64 im re))
(+.f64 im re)
im
re
(-.f64 im re)
(*.f64 (-.f64 re im) (+.f64 im re))
(-.f64 re im)
Outputs
#s(approx (* (+ im re) (- im re)) (pow.f64 im #s(literal 2 binary64)))
#s(approx (* (+ im re) (- im re)) (fma.f64 re (+.f64 im (*.f64 #s(literal -1 binary64) im)) (pow.f64 im #s(literal 2 binary64))))
#s(approx (* (+ im re) (- im re)) (fma.f64 re (+.f64 im (fma.f64 #s(literal -1 binary64) im (*.f64 #s(literal -1 binary64) re))) (pow.f64 im #s(literal 2 binary64))))
#s(approx (+ im re) im)
#s(approx (+ im re) (+.f64 im re))
#s(approx re re)
#s(approx (- im re) (+.f64 im (*.f64 #s(literal -1 binary64) re)))
#s(approx (* (- re im) (+ im re)) (*.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64))))
#s(approx (* (- re im) (+ im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 im (*.f64 #s(literal -1 binary64) im)))))
#s(approx (* (- re im) (+ im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) im))))))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) im))
#s(approx (- re im) (-.f64 re im))
#s(approx (* (+ im re) (- im re)) (*.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 2 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 im re) (/.f64 im re)) #s(literal 1 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 im re) (+.f64 (/.f64 im re) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1 binary64))))
#s(approx (+ im re) (*.f64 re (+.f64 #s(literal 1 binary64) (/.f64 im re))))
#s(approx (- im re) (*.f64 #s(literal -1 binary64) re))
#s(approx (- im re) (*.f64 re (-.f64 (/.f64 im re) #s(literal 1 binary64))))
#s(approx (* (- re im) (+ im re)) (pow.f64 re #s(literal 2 binary64)))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 im re) (/.f64 im re)))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 im re) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (/.f64 im re))))))
#s(approx (- re im) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 im re)))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 im (*.f64 #s(literal -1 binary64) im)) re)) #s(literal 1 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 im (fma.f64 #s(literal -1 binary64) im (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))) re)) #s(literal 1 binary64))))
#s(approx (+ im re) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 im re)) #s(literal 1 binary64)))))
#s(approx (- im re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 im re))))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 im (*.f64 #s(literal -1 binary64) im)) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)) re)))))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (/.f64 im re) #s(literal 1 binary64)))))
#s(approx (* (+ im re) (- im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 2 binary64)) (*.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) re)))))
#s(approx (* (+ im re) (- im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 2 binary64)) (*.f64 im (+.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) re))))))
#s(approx (- im re) (-.f64 im re))
#s(approx (* (- re im) (+ im re)) (fma.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) re)) (pow.f64 re #s(literal 2 binary64))))
#s(approx (* (- re im) (+ im re)) (fma.f64 im (+.f64 re (fma.f64 #s(literal -1 binary64) im (*.f64 #s(literal -1 binary64) re))) (pow.f64 re #s(literal 2 binary64))))
#s(approx (- re im) (+.f64 re (*.f64 #s(literal -1 binary64) im)))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 re im) (/.f64 re im)))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 re im) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) (/.f64 re im))))))
#s(approx (+ im re) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im))))
#s(approx (- im re) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 re im)))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 re im) (/.f64 re im)) #s(literal 1 binary64))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 re im) (+.f64 (/.f64 re im) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))) #s(literal 1 binary64))))
#s(approx (- re im) (*.f64 im (-.f64 (/.f64 re im) #s(literal 1 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 re (*.f64 #s(literal -1 binary64) re)) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)) im)))))
#s(approx (+ im re) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
#s(approx (- im re) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (/.f64 re im) #s(literal 1 binary64)))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 re (*.f64 #s(literal -1 binary64) re)) im)) #s(literal 1 binary64))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 re (fma.f64 #s(literal -1 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)))) im)) #s(literal 1 binary64))))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 re im))))))
Calls

6 calls:

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

rewrite197.0ms (11.2%)

Memory
24.4MiB live, 168.6MiB allocated; 29ms collecting garbage
Counts
7 → 27
Calls
Call 1
Inputs
(*.f64 (+.f64 im re) (-.f64 im re))
(+.f64 im re)
im
re
(-.f64 im re)
(*.f64 (-.f64 re im) (+.f64 im re))
(-.f64 re im)
Outputs
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (-.f64 im re) (+.f64 im re))
(*.f64 (*.f64 (+.f64 im re) (+.f64 im re)) (/.f64 (-.f64 im re) (+.f64 im re)))
(*.f64 (*.f64 (+.f64 im re) (-.f64 im re)) #s(literal 1 binary64))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 im) (neg.f64 re)))
(*.f64 (+.f64 im re) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 im re))
(*.f64 (/.f64 (+.f64 im re) (-.f64 im re)) (-.f64 im re))
(*.f64 (/.f64 (-.f64 re im) (-.f64 im re)) (neg.f64 (+.f64 im re)))
(*.f64 (-.f64 im re) (/.f64 (+.f64 im re) (-.f64 im re)))
im
re
(*.f64 (-.f64 im re) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (-.f64 im re))
(*.f64 (/.f64 (-.f64 im re) (+.f64 im re)) (+.f64 im re))
(*.f64 (/.f64 (-.f64 re im) (-.f64 im re)) (-.f64 re im))
(*.f64 (+.f64 im re) (/.f64 (-.f64 im re) (+.f64 im re)))
(*.f64 (-.f64 re im) (+.f64 im re))
(*.f64 (+.f64 im re) (-.f64 re im))
(*.f64 (*.f64 (+.f64 im re) (-.f64 im re)) (/.f64 (-.f64 re im) (-.f64 im re)))
(*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 1 binary64))
(*.f64 (neg.f64 (+.f64 im re)) (-.f64 (neg.f64 re) (neg.f64 im)))
(*.f64 (-.f64 im re) (neg.f64 #s(literal 1 binary64)))
(*.f64 (-.f64 re im) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (-.f64 im re))
(*.f64 #s(literal 1 binary64) (-.f64 re im))
(*.f64 (neg.f64 (+.f64 im re)) (/.f64 (-.f64 im re) (+.f64 im re)))

eval17.0ms (0.9%)

Memory
-23.3MiB live, 22.8MiB allocated; 3ms collecting garbage
Compiler

Compiled 1 317 to 261 computations (80.2% saved)

prune4.0ms (0.2%)

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

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New80282
Fresh000
Picked022
Done011
Total80585
Accuracy
100.0%
Counts
85 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
8.0%
(*.f64 (-.f64 re im) (+.f64 im re))
8.0%
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
99.7%
(*.f64 (+.f64 im re) (-.f64 im re))
99.2%
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
Compiler

Compiled 39 to 27 computations (30.8% saved)

series112.0ms (6.3%)

Memory
1.6MiB live, 145.5MiB allocated; 20ms collecting garbage
Counts
7 → 47
Calls
Call 1
Inputs
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
#s(approx (+ im re) im)
im
(-.f64 im re)
re
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(-.f64 re im)
Outputs
#s(approx (* (+ im re) (- im re)) (pow.f64 im #s(literal 2 binary64)))
#s(approx (* (+ im re) (- im re)) (fma.f64 re (+.f64 im (*.f64 #s(literal -1 binary64) im)) (pow.f64 im #s(literal 2 binary64))))
#s(approx (* (+ im re) (- im re)) (fma.f64 re (+.f64 im (fma.f64 #s(literal -1 binary64) im (*.f64 #s(literal -1 binary64) re))) (pow.f64 im #s(literal 2 binary64))))
#s(approx (+ im re) im)
#s(approx (+ im re) (+.f64 im re))
#s(approx (- im re) (+.f64 im (*.f64 #s(literal -1 binary64) re)))
#s(approx re re)
#s(approx (* (- re im) (+ im re)) (*.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64))))
#s(approx (* (- re im) (+ im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 im (*.f64 #s(literal -1 binary64) im)))))
#s(approx (* (- re im) (+ im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) im))))))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) im))
#s(approx (- re im) (-.f64 re im))
#s(approx (* (+ im re) (- im re)) (*.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 2 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 im re) (/.f64 im re)) #s(literal 1 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 im re) (+.f64 (/.f64 im re) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))) #s(literal 1 binary64))))
#s(approx (+ im re) (*.f64 re (+.f64 #s(literal 1 binary64) (/.f64 im re))))
#s(approx (- im re) (*.f64 #s(literal -1 binary64) re))
#s(approx (- im re) (*.f64 re (-.f64 (/.f64 im re) #s(literal 1 binary64))))
#s(approx (* (- re im) (+ im re)) (pow.f64 re #s(literal 2 binary64)))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 im re) (/.f64 im re)))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 im re) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (/.f64 im re))))))
#s(approx (- re im) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 im re)))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 im (*.f64 #s(literal -1 binary64) im)) re)) #s(literal 1 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 im (fma.f64 #s(literal -1 binary64) im (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))) re)) #s(literal 1 binary64))))
#s(approx (+ im re) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 im re)) #s(literal 1 binary64)))))
#s(approx (- im re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 im re))))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 im (*.f64 #s(literal -1 binary64) im)) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)) re)))))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (/.f64 im re) #s(literal 1 binary64)))))
#s(approx (* (+ im re) (- im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 2 binary64)) (*.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) re)))))
#s(approx (* (+ im re) (- im re)) (fma.f64 #s(literal -1 binary64) (pow.f64 re #s(literal 2 binary64)) (*.f64 im (+.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) re))))))
#s(approx (- im re) (-.f64 im re))
#s(approx (* (- re im) (+ im re)) (fma.f64 im (+.f64 re (*.f64 #s(literal -1 binary64) re)) (pow.f64 re #s(literal 2 binary64))))
#s(approx (* (- re im) (+ im re)) (fma.f64 im (+.f64 re (fma.f64 #s(literal -1 binary64) im (*.f64 #s(literal -1 binary64) re))) (pow.f64 re #s(literal 2 binary64))))
#s(approx (- re im) (+.f64 re (*.f64 #s(literal -1 binary64) im)))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 re im) (/.f64 re im)))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) (/.f64 re im) (fma.f64 #s(literal -1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) (/.f64 re im))))))
#s(approx (+ im re) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im))))
#s(approx (- im re) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 re im)))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 re im) (/.f64 re im)) #s(literal 1 binary64))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal -1 binary64) (/.f64 re im) (+.f64 (/.f64 re im) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))) #s(literal 1 binary64))))
#s(approx (- re im) (*.f64 im (-.f64 (/.f64 re im) #s(literal 1 binary64))))
#s(approx (* (+ im re) (- im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 re (*.f64 #s(literal -1 binary64) re)) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)) im)))))
#s(approx (+ im re) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
#s(approx (- im re) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (/.f64 re im) #s(literal 1 binary64)))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 re (*.f64 #s(literal -1 binary64) re)) im)) #s(literal 1 binary64))))
#s(approx (* (- re im) (+ im re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 re (fma.f64 #s(literal -1 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)))) im)) #s(literal 1 binary64))))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 re im))))))
Calls

6 calls:

TimeVariablePoint
1.0ms
re
-inf
1.0ms
im
-inf
1.0ms
re
inf
1.0ms
im
inf
0.0ms
re
0

rewrite217.0ms (12.2%)

Memory
9.3MiB live, 251.1MiB allocated; 72ms collecting garbage
Counts
7 → 15
Calls
Call 1
Inputs
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
#s(approx (+ im re) im)
im
(-.f64 im re)
re
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(-.f64 re im)
Outputs
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
#s(approx (+ im re) im)
im
(*.f64 (-.f64 im re) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (-.f64 im re))
(*.f64 (/.f64 (-.f64 im re) (+.f64 im re)) (+.f64 im re))
(*.f64 (/.f64 (-.f64 re im) (-.f64 im re)) (-.f64 re im))
(*.f64 (+.f64 im re) (/.f64 (-.f64 im re) (+.f64 im re)))
re
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(*.f64 (-.f64 im re) (neg.f64 #s(literal 1 binary64)))
(*.f64 (-.f64 re im) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1 binary64)) (-.f64 im re))
(*.f64 #s(literal 1 binary64) (-.f64 re im))
(*.f64 (neg.f64 (+.f64 im re)) (/.f64 (-.f64 im re) (+.f64 im re)))

eval6.0ms (0.3%)

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

Compiled 1 137 to 227 computations (80% saved)

prune3.0ms (0.2%)

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

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New62062
Fresh000
Picked022
Done033
Total62567
Accuracy
100.0%
Counts
67 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
8.0%
(*.f64 (-.f64 re im) (+.f64 im re))
8.0%
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
99.7%
(*.f64 (+.f64 im re) (-.f64 im re))
99.2%
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
Compiler

Compiled 39 to 27 computations (30.8% saved)

regimes28.0ms (1.6%)

Memory
-31.4MiB live, 65.8MiB allocated; 5ms collecting garbage
Accuracy

Total -58.3b remaining (-7926.7%)

Threshold costs -58.3b (-7926.7%)

Counts
2 → 1
4 → 1
5 → 1
Calls
Call 1
Inputs
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
Outputs
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
Call 2
Inputs
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (-.f64 re im) (+.f64 im re))
Outputs
(*.f64 (+.f64 im re) (-.f64 im re))
Call 3
Inputs
(*.f64 #s(approx (+ im re) im) (-.f64 im re))
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(*.f64 (+.f64 im re) (-.f64 im re))
(*.f64 (-.f64 re im) (+.f64 im re))
(+.f64 (*.f64 re re) (*.f64 im im))
Outputs
(+.f64 (*.f64 re re) (*.f64 im im))
Calls

15 calls:

2.0ms
im
2.0ms
im
2.0ms
re
2.0ms
(+.f64 (*.f64 re re) (*.f64 im im))
2.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
99.2%1(*.f64 im im)
99.2%1(*.f64 re re)
99.2%1(+.f64 (*.f64 re re) (*.f64 im im))
99.2%1re
99.2%1im
99.7%1(*.f64 im im)
99.7%1(*.f64 re re)
99.7%1(+.f64 (*.f64 re re) (*.f64 im im))
99.7%1re
99.7%1im
100.0%1(*.f64 im im)
100.0%1(*.f64 re re)
100.0%1(+.f64 (*.f64 re re) (*.f64 im im))
100.0%1re
100.0%1im
Compiler

Compiled 84 to 59 computations (29.8% saved)

derivations1.0ms (0%)

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

Compiled 23 to 11 computations (52.2% saved)

preprocess34.0ms (1.9%)

Memory
-6.9MiB live, 85.8MiB allocated; 5ms collecting garbage
Compiler

Compiled 168 to 112 computations (33.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...