math.square on complex, imaginary part

Time bar (total: 1.4s)

start0.0ms (0%)

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

analyze0.0ms (0%)

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

sample962.0ms (66.9%)

Memory
-0.2MiB live, 915.9MiB allocated; 330ms collecting garbage
Samples
579.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 314.0ms
ival-mult!: 279.0ms (88.9% of total)
ival-add!: 32.0ms (10.2% of total)
adjust: 2.0ms (0.6% of total)
Bogosity

preprocess206.0ms (14.3%)

Memory
-23.8MiB live, 78.1MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01644
14332
210030
314930
419230
528830
673930
7312530
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 re im) (*.f64 im re))
Symmetry

(negabs re)

(negabs im)

(sort re im)

Compiler

Compiled 10 to 10 computations (0% saved)

series15.0ms (1.1%)

Memory
16.9MiB live, 16.9MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
Stop Event
iter-limit
Counts
5 → 4
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 2 binary64) (*.f64 im re)))
#s(approx (* re im) (*.f64 im re))
#s(approx re re)
#s(approx im im)
Calls

6 calls:

TimeVariablePointExpression
3.0ms
im
@-inf
((+ (* re im) (* im re)) (* re im) re im (* im re))
2.0ms
re
@-inf
((+ (* re im) (* im re)) (* re im) re im (* im re))
2.0ms
re
@inf
((+ (* re im) (* im re)) (* re im) re im (* im re))
1.0ms
im
@inf
((+ (* re im) (* im re)) (* re im) re im (* im re))
1.0ms
re
@0
((+ (* re im) (* im re)) (* re im) re im (* im re))

rewrite39.0ms (2.7%)

Memory
-20.4MiB live, 25.8MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
03914
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
5 → 14
Calls
Call 1
Inputs
(+.f64 (*.f64 re im) (*.f64 im re))
(*.f64 re im)
re
im
(*.f64 im re)
Outputs
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im re) (*.f64 im re))) (*.f64 im re))
(/.f64 (-.f64 (*.f64 (*.f64 im re) (*.f64 im re)) (*.f64 (*.f64 im re) (*.f64 im re))) (-.f64 (*.f64 im re) (*.f64 im re)))
(/.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 3 binary64)) (pow.f64 (*.f64 im re) #s(literal 3 binary64))) (fma.f64 (*.f64 im re) (*.f64 im re) (-.f64 (*.f64 (*.f64 im re) (*.f64 im re)) (*.f64 (*.f64 im re) (*.f64 im re)))))
(fma.f64 im re (*.f64 im re))
(fma.f64 re im (*.f64 im re))
(-.f64 (*.f64 im re) (*.f64 (neg.f64 im) re))
(-.f64 (*.f64 im re) (neg.f64 (*.f64 im re)))
(+.f64 (*.f64 im re) (*.f64 im re))
(*.f64 im re)
(*.f64 re im)
re
im
(*.f64 im re)
(*.f64 re im)

eval2.0ms (0.2%)

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

Compiled 76 to 40 computations (47.4% saved)

prune1.0ms (0.1%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New12113
Fresh000
Picked101
Done000
Total13114
Accuracy
100.0%
Counts
14 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ (* re im) (* im re)) (*.f64 #s(literal 2 binary64) (*.f64 im re)))
Compiler

Compiled 9 to 9 computations (0% saved)

series5.0ms (0.4%)

Memory
8.3MiB live, 8.3MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01125
Stop Event
iter-limit
Counts
6 → 4
Calls
Call 1
Inputs
#s(approx (+ (* re im) (* im re)) (*.f64 #s(literal 2 binary64) (*.f64 im re)))
(*.f64 #s(literal 2 binary64) (*.f64 im re))
#s(literal 2 binary64)
(*.f64 im re)
im
re
Outputs
#s(approx (+ (* re im) (* im re)) (*.f64 #s(literal 2 binary64) (*.f64 im re)))
#s(approx (* im re) (*.f64 im re))
#s(approx re re)
#s(approx im im)
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
((+ (* re im) (* im re)) (* 2 (* im re)) 2 (* im re) im re)
1.0ms
re
@inf
((+ (* re im) (* im re)) (* 2 (* im re)) 2 (* im re) im re)
1.0ms
im
@-inf
((+ (* re im) (* im re)) (* 2 (* im re)) 2 (* im re) im re)
1.0ms
re
@0
((+ (* re im) (* im re)) (* 2 (* im re)) 2 (* im re) im re)
1.0ms
im
@inf
((+ (* re im) (* im re)) (* 2 (* im re)) 2 (* im re) im re)

rewrite22.0ms (1.5%)

Memory
19.1MiB live, 19.1MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
01122
04822
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
6 → 17
Calls
Call 1
Inputs
#s(approx (+ (* re im) (* im re)) (*.f64 #s(literal 2 binary64) (*.f64 im re)))
(*.f64 #s(literal 2 binary64) (*.f64 im re))
#s(literal 2 binary64)
(*.f64 im re)
im
re
Outputs
#s(approx (+ (* re im) (* im re)) (*.f64 (*.f64 im re) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 2 binary64) im) re)
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 im re) (*.f64 im re))) (*.f64 im re))
(*.f64 (*.f64 im re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 im re))
(/.f64 (-.f64 (*.f64 (*.f64 im re) (*.f64 im re)) (*.f64 (*.f64 im re) (*.f64 im re))) (-.f64 (*.f64 im re) (*.f64 im re)))
(/.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 3 binary64)) (pow.f64 (*.f64 im re) #s(literal 3 binary64))) (fma.f64 (*.f64 im re) (*.f64 im re) (-.f64 (*.f64 (*.f64 im re) (*.f64 im re)) (*.f64 (*.f64 im re) (*.f64 im re)))))
(fma.f64 im re (*.f64 im re))
(fma.f64 re im (*.f64 im re))
(-.f64 (*.f64 im re) (*.f64 (neg.f64 im) re))
(-.f64 (*.f64 im re) (neg.f64 (*.f64 im re)))
(+.f64 (*.f64 im re) (*.f64 im re))
#s(literal 2 binary64)
(*.f64 im re)
(*.f64 re im)
im
re

eval1.0ms (0.1%)

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

Compiled 92 to 55 computations (40.2% saved)

prune2.0ms (0.1%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New14115
Fresh000
Picked101
Done000
Total15116
Accuracy
100.0%
Counts
16 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ (* re im) (* im re)) (*.f64 (*.f64 #s(literal 2 binary64) im) re))
Compiler

Compiled 9 to 9 computations (0% saved)

series20.0ms (1.4%)

Memory
-34.8MiB live, 10.3MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01225
Stop Event
iter-limit
Counts
6 → 4
Calls
Call 1
Inputs
#s(approx (+ (* re im) (* im re)) (*.f64 (*.f64 #s(literal 2 binary64) im) re))
(*.f64 (*.f64 #s(literal 2 binary64) im) re)
(*.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
re
Outputs
#s(approx (+ (* re im) (* im re)) (*.f64 #s(literal 2 binary64) (*.f64 im re)))
#s(approx re re)
#s(approx (* 2 im) (*.f64 #s(literal 2 binary64) im))
#s(approx im im)
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@-inf
((+ (* re im) (* im re)) (* (* 2 im) re) (* 2 im) 2 im re)
1.0ms
im
@inf
((+ (* re im) (* im re)) (* (* 2 im) re) (* 2 im) 2 im re)
1.0ms
re
@-inf
((+ (* re im) (* im re)) (* (* 2 im) re) (* 2 im) 2 im re)
1.0ms
im
@0
((+ (* re im) (* im re)) (* (* 2 im) re) (* 2 im) 2 im re)
1.0ms
re
@inf
((+ (* re im) (* im re)) (* (* 2 im) re) (* 2 im) 2 im re)

rewrite29.0ms (2%)

Memory
28.3MiB live, 28.3MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0924
01124
04723
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
6 → 10
Calls
Call 1
Inputs
#s(approx (+ (* re im) (* im re)) (*.f64 (*.f64 #s(literal 2 binary64) im) re))
(*.f64 (*.f64 #s(literal 2 binary64) im) re)
(*.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
re
Outputs
#s(approx (+ (* re im) (* im re)) (*.f64 (+.f64 im im) re))
(*.f64 (+.f64 im im) re)
(*.f64 #s(literal 2 binary64) (*.f64 im re))
(*.f64 re (+.f64 im im))
(*.f64 #s(literal 2 binary64) im)
(*.f64 im #s(literal 2 binary64))
(+.f64 im im)
#s(literal 2 binary64)
im
re

eval1.0ms (0.1%)

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

Compiled 47 to 30 computations (36.2% saved)

prune1.0ms (0.1%)

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

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New9110
Fresh000
Picked101
Done000
Total10111
Accuracy
100.0%
Counts
11 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ (* re im) (* im re)) (*.f64 (+.f64 im im) re))
Compiler

Compiled 8 to 8 computations (0% saved)

series8.0ms (0.6%)

Memory
12.3MiB live, 12.3MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01325
Stop Event
iter-limit
Counts
5 → 4
Calls
Call 1
Inputs
#s(approx (+ (* re im) (* im re)) (*.f64 (+.f64 im im) re))
(*.f64 (+.f64 im im) re)
(+.f64 im im)
im
re
Outputs
#s(approx (+ (* re im) (* im re)) (*.f64 #s(literal 2 binary64) (*.f64 im re)))
#s(approx re re)
#s(approx (+ im im) (*.f64 #s(literal 2 binary64) im))
#s(approx im im)
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@-inf
((+ (* re im) (* im re)) (* (+ im im) re) (+ im im) im re)
1.0ms
im
@inf
((+ (* re im) (* im re)) (* (+ im im) re) (+ im im) im re)
1.0ms
re
@-inf
((+ (* re im) (* im re)) (* (+ im im) re) (+ im im) im re)
1.0ms
re
@inf
((+ (* re im) (* im re)) (* (+ im im) re) (+ im im) im re)
1.0ms
im
@0
((+ (* re im) (* im re)) (* (+ im im) re) (+ im im) im re)

rewrite40.0ms (2.8%)

Memory
-20.7MiB live, 23.9MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0823
01023
05522
Stop Event
iter-limit
iter-limit
iter-limit
unsound
iter-limit
Counts
5 → 11
Calls
Call 1
Inputs
#s(approx (+ (* re im) (* im re)) (*.f64 (+.f64 im im) re))
(*.f64 (+.f64 im im) re)
(+.f64 im im)
im
re
Outputs
#s(approx (+ (* re im) (* im re)) (*.f64 (+.f64 im im) re))
(*.f64 (+.f64 im im) re)
(*.f64 re (+.f64 im im))
(*.f64 #s(literal 2 binary64) im)
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 im im)) im)
(/.f64 (-.f64 (*.f64 im im) (*.f64 im im)) (-.f64 im im))
(/.f64 (+.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im (-.f64 (*.f64 im im) (*.f64 im im))))
(-.f64 im (neg.f64 im))
(+.f64 im im)
im
re

eval2.0ms (0.1%)

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

Compiled 60 to 49 computations (18.3% saved)

prune2.0ms (0.1%)

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

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New10010
Fresh000
Picked011
Done000
Total10111
Accuracy
100.0%
Counts
11 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
#s(approx (+ (* re im) (* im re)) (*.f64 (+.f64 im im) re))
Compiler

Compiled 26 to 25 computations (3.8% saved)

regimes9.0ms (0.6%)

Memory
13.0MiB live, 13.0MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-∞%)

Threshold costs -0b (-∞%)

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

3 calls:

3.0ms
re
3.0ms
im
3.0ms
(+.f64 (*.f64 re im) (*.f64 im re))
Results
AccuracySegmentsBranch
100.0%1(+.f64 (*.f64 re im) (*.f64 im re))
100.0%1re
100.0%1im
Compiler

Compiled 7 to 9 computations (-28.6% saved)

derivations3.0ms (0.2%)

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

Compiled 8 to 8 computations (0% saved)

preprocess66.0ms (4.6%)

Memory
-3.1MiB live, 42.5MiB allocated; 21ms collecting garbage
Remove

(sort re im)

(negabs im)

(negabs re)

Compiler

Compiled 61 to 61 computations (0% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...