math.square on complex, real part

Time bar (total: 1.8s)

start0.0ms (0%)

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

analyze1.0ms (0%)

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

sample715.0ms (39.1%)

Memory
36.4MiB live, 540.4MiB allocated; 652ms collecting garbage
Samples
269.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 121.0ms
ival-mult!: 101.0ms (83.4% of total)
ival-sub!: 19.0ms (15.7% of total)
adjust: 1.0ms (0.8% of total)
Bogosity

preprocess40.0ms (2.2%)

Memory
-12.7MiB live, 36.5MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01445
17742
Stop Event
iter-limit
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
94.5%
(-.f64 (*.f64 re re) (*.f64 im im))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 14 to 10 computations (28.6% saved)

series80.0ms (4.4%)

Memory
7.1MiB live, 52.9MiB allocated; 11ms collecting garbage
Counts
5 → 9
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)) (*.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64))))
#s(approx (- (* re re) (* im im)) (-.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #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 #s(literal -1 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (- (* re re) (* im im)) (fma.f64 #s(literal -1 binary64) (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))
#s(approx (* im im) (pow.f64 im #s(literal 2 binary64)))
#s(approx im im)
#s(approx (- (* re re) (* im im)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 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

rewrite149.0ms (8.2%)

Memory
14.8MiB live, 110.2MiB allocated; 21ms 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 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) (fabs.f64 im)) (-.f64 (fabs.f64 re) (fabs.f64 im)))
(*.f64 (+.f64 (fabs.f64 re) im) (-.f64 (fabs.f64 re) im))
(*.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))

eval4.0ms (0.2%)

Memory
-41.6MiB live, 3.8MiB allocated; 3ms collecting garbage
Compiler

Compiled 267 to 76 computations (71.5% saved)

prune1.0ms (0%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New23124
Fresh000
Picked101
Done000
Total24125
Accuracy
100.0%
Counts
25 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (-.f64 re im) (+.f64 im re))
Compiler

Compiled 7 to 5 computations (28.6% saved)

series91.0ms (5%)

Memory
16.1MiB live, 61.8MiB allocated; 6ms collecting garbage
Counts
5 → 27
Calls
Call 1
Inputs
(*.f64 (-.f64 re im) (+.f64 im re))
(-.f64 re im)
re
im
(+.f64 im re)
Outputs
#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 re re)
#s(approx (+ im re) im)
#s(approx (+ im re) (+.f64 im re))
#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) (*.f64 re (+.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) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 im re)) #s(literal 1 binary64)))))
#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 (* (- 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) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im))))
#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))))))
#s(approx (+ im re) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
Calls

6 calls:

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

rewrite149.0ms (8.1%)

Memory
34.3MiB live, 124.4MiB allocated; 31ms collecting garbage
Counts
5 → 17
Calls
Call 1
Inputs
(*.f64 (-.f64 re im) (+.f64 im re))
(-.f64 re im)
re
im
(+.f64 im re)
Outputs
(*.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)) (/.f64 (+.f64 im re) (+.f64 im re)))
(*.f64 (+.f64 (fabs.f64 re) im) (-.f64 (fabs.f64 re) im))
(*.f64 (/.f64 (-.f64 re im) (-.f64 im re)) (-.f64 im re))
(*.f64 (+.f64 im re) (/.f64 (-.f64 re im) (+.f64 im re)))
(*.f64 (-.f64 im re) (/.f64 (-.f64 re im) (-.f64 im re)))
(*.f64 (-.f64 re im) (/.f64 (+.f64 im re) (+.f64 im re)))
(*.f64 (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (fma.f64 (*.f64 re re) re (*.f64 (*.f64 im im) im))) (fma.f64 (-.f64 re im) re (*.f64 im im)))
re
im
(*.f64 (/.f64 (-.f64 re im) (-.f64 im re)) (neg.f64 (+.f64 im re)))
(*.f64 (+.f64 im re) (/.f64 (-.f64 im re) (-.f64 im re)))
(*.f64 (+.f64 im re) (/.f64 (-.f64 re im) (-.f64 re im)))
(*.f64 (-.f64 re im) (/.f64 (+.f64 im re) (-.f64 re im)))
(*.f64 (/.f64 (*.f64 (+.f64 im re) (-.f64 im re)) (*.f64 (+.f64 im re) (-.f64 im re))) (+.f64 im re))

eval17.0ms (0.9%)

Memory
-39.3MiB live, 5.8MiB allocated; 7ms collecting garbage
Compiler

Compiled 716 to 172 computations (76% saved)

prune2.0ms (0.1%)

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

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New40141
Fresh000
Picked011
Done000
Total40242
Accuracy
100.0%
Counts
42 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (-.f64 re im) (+.f64 im re))
63.1%
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
Compiler

Compiled 16 to 11 computations (31.3% saved)

series91.0ms (5%)

Memory
30.9MiB live, 76.1MiB allocated; 8ms collecting garbage
Counts
5 → 27
Calls
Call 1
Inputs
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(-.f64 re im)
re
im
#s(approx (+ im re) im)
Outputs
#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 re re)
#s(approx (+ im re) im)
#s(approx (+ im re) (+.f64 im re))
#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) (*.f64 re (+.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) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 im re)) #s(literal 1 binary64)))))
#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 (* (- 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) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im))))
#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))))))
#s(approx (+ im re) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
Calls

6 calls:

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

rewrite162.0ms (8.9%)

Memory
-18.7MiB live, 79.0MiB allocated; 19ms collecting garbage
Counts
5 → 9
Calls
Call 1
Inputs
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(-.f64 re im)
re
im
#s(approx (+ im re) im)
Outputs
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
(*.f64 (/.f64 (-.f64 re im) (-.f64 im re)) (-.f64 im re))
(*.f64 (+.f64 im re) (/.f64 (-.f64 re im) (+.f64 im re)))
(*.f64 (-.f64 im re) (/.f64 (-.f64 re im) (-.f64 im re)))
(*.f64 (-.f64 re im) (/.f64 (+.f64 im re) (+.f64 im re)))
(*.f64 (/.f64 (*.f64 (+.f64 im re) (-.f64 re im)) (fma.f64 (*.f64 re re) re (*.f64 (*.f64 im im) im))) (fma.f64 (-.f64 re im) re (*.f64 im im)))
re
im
#s(approx (+ im re) im)

eval4.0ms (0.2%)

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

Compiled 601 to 147 computations (75.5% saved)

prune2.0ms (0.1%)

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

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New30131
Fresh000
Picked011
Done011
Total30333
Accuracy
100.0%
Counts
33 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (-.f64 re im) (+.f64 im re))
63.1%
(*.f64 (-.f64 re im) #s(approx (+ im re) im))
54.8%
(*.f64 #s(approx (- re im) (*.f64 #s(literal -1 binary64) im)) #s(approx (+ im re) im))
Compiler

Compiled 29 to 20 computations (31% saved)

series74.0ms (4.1%)

Memory
-7.7MiB live, 37.7MiB allocated; 6ms collecting garbage
Counts
6 → 27
Calls
Call 1
Inputs
(*.f64 #s(approx (- re im) (*.f64 #s(literal -1 binary64) im)) #s(approx (+ im re) im))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) im))
(*.f64 #s(literal -1 binary64) im)
#s(literal -1 binary64)
im
#s(approx (+ im re) im)
Outputs
#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)
#s(approx (+ im re) (+.f64 im re))
#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) re)
#s(approx (- re im) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 im re)))))
#s(approx (+ im re) (*.f64 re (+.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) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 im re)) #s(literal 1 binary64)))))
#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 (* (- 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) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im))))
#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))))))
#s(approx (+ im re) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
Calls

6 calls:

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

rewrite169.0ms (9.2%)

Memory
-8.5MiB live, 130.5MiB allocated; 38ms collecting garbage
Counts
6 → 8
Calls
Call 1
Inputs
(*.f64 #s(approx (- re im) (*.f64 #s(literal -1 binary64) im)) #s(approx (+ im re) im))
#s(approx (- re im) (*.f64 #s(literal -1 binary64) im))
(*.f64 #s(literal -1 binary64) im)
#s(literal -1 binary64)
im
#s(approx (+ im re) im)
Outputs
(*.f64 #s(approx (- re im) (neg.f64 im)) #s(approx (+ im re) im))
#s(approx (- re im) (neg.f64 im))
(*.f64 #s(literal -1 binary64) im)
(*.f64 im #s(literal -1 binary64))
(neg.f64 im)
#s(literal -1 binary64)
im
#s(approx (+ im re) im)

eval4.0ms (0.2%)

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

Compiled 556 to 130 computations (76.6% 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
New27229
Fresh000
Picked101
Done112
Total29332
Accuracy
100.0%
Counts
32 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (-.f64 re im) (+.f64 im re))
54.8%
(*.f64 #s(approx (- re im) (neg.f64 im)) #s(approx (+ im re) im))
17.3%
(*.f64 #s(approx (- re im) re) #s(approx (+ im re) im))
Compiler

Compiled 30 to 20 computations (33.3% saved)

regimes37.0ms (2%)

Memory
4.1MiB live, 51.1MiB allocated; 2ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

20 calls:

3.0ms
re
3.0ms
im
2.0ms
(*.f64 re re)
2.0ms
(*.f64 im im)
2.0ms
im
Results
AccuracySegmentsBranch
17.3%1(*.f64 im im)
17.3%1im
17.3%1(*.f64 re re)
17.3%1re
17.3%1(-.f64 (*.f64 re re) (*.f64 im im))
60.9%2(*.f64 re re)
61.4%2(-.f64 (*.f64 re re) (*.f64 im im))
54.8%1(*.f64 im im)
54.8%1im
61.1%2re
63.1%1(*.f64 im im)
63.1%1(*.f64 re re)
63.1%1(-.f64 (*.f64 re re) (*.f64 im im))
63.1%1re
63.1%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 119 to 81 computations (31.9% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
9.334234695710791e-295
2.6844377055014475e-279
Compiler

Compiled 10 to 10 computations (0% saved)

derivations1.0ms (0.1%)

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

Compiled 60 to 20 computations (66.7% saved)

preprocess32.0ms (1.8%)

Memory
0.2MiB live, 46.1MiB allocated; 4ms collecting garbage
Compiler

Compiled 307 to 161 computations (47.6% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...