Details

Time bar (total: 10.4s)

analyze73.0ms (0.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
74.9%25%0.2%5
74.9%25%0.2%6
74.9%25%0.2%7
87.3%12.5%0.2%8
93.6%6.2%0.2%9
93.6%6.2%0.2%10
93.6%6.2%0.2%11
96.7%3.1%0.2%12
98.2%1.6%0.2%13
98.2%1.6%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.3s (12.5%)

Results
1.1s8256×body128valid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify80.0ms (0.8%)

Algorithm
egg-herbie
Rules
1070×fma-neg_binary64
881×fma-def_binary64
768×times-frac_binary64
551×cancel-sign-sub-inv_binary64
514×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
12520
24720
37820
414920
522820
632420
750020
869420
986720
1099920
11242220
12392020
13495020

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
28.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
28.4b
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 69 to 33 computations (52.2% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
28.1b
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))

series143.0ms (1.4%)

Counts
2 → 96
Calls

2 calls:

124.0ms
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
19.0ms
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
2 → 48
Calls

2 calls:

9.0ms
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
5.0ms
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))

simplify179.0ms (1.7%)

Algorithm
egg-herbie
Rules
523×fma-neg_binary64
383×associate-*l*_binary64
348×fma-def_binary64
319×associate-*r*_binary64
252×associate-/l*_binary64
Counts
144 → 111
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01322762
13232614
210882567
343982567
449522567

prune170.0ms (1.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1029111
Fresh000
Picked101
Done000
Total1039112
Error
1.4b
Counts
112 → 9
Alt Table
StatusErrorProgram
28.8b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))) (cbrt.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))) (/.f64 (cbrt.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))) (fma.f64 y.im y.im (*.f64 y.re y.re))))
36.9b
(-.f64 (/.f64 x.im y.re) (fma.f64 (/.f64 x.re y.re) (/.f64 y.im y.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.im) (pow.f64 y.re 3))))
15.8b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))) (cbrt.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))) (hypot.f64 y.im y.re)) (/.f64 (cbrt.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))) (hypot.f64 y.im y.re)))
34.9b
(/.f64 x.im y.re)
28.6b
(/.f64 1 (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))
15.2b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)))
34.0b
(-.f64 (/.f64 x.im y.re) (/.f64 (*.f64 x.re y.im) (pow.f64 y.re 2)))
38.2b
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.im y.im) (/.f64 (*.f64 x.re (*.f64 y.re y.re)) (pow.f64 y.im 3))) (/.f64 x.re y.im))
38.0b
(neg.f64 (/.f64 x.re y.im))
Compiler

Compiled 2907 to 650 computations (77.6% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 y.im y.re)
0.2b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)))
0.3b
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
14.6b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))

series452.0ms (4.4%)

Counts
4 → 132
Calls

4 calls:

188.0ms
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)))
157.0ms
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))
80.0ms
(hypot.f64 y.im y.re)
27.0ms
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))

rewrite37.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
43×add-sqr-sqrt_binary64
34×times-frac_binary64
28×*-un-lft-identity_binary64
28×add-exp-log_binary64
26×add-cube-cbrt_binary64
Counts
4 → 116
Calls

4 calls:

15.0ms
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)))
5.0ms
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))
3.0ms
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
1.0ms
(hypot.f64 y.im y.re)

simplify211.0ms (2%)

Algorithm
egg-herbie
Rules
880×times-frac_binary64
525×fma-def_binary64
343×cancel-sign-sub-inv_binary64
217×fma-neg_binary64
176×sub-neg_binary64
Counts
248 → 253
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02696157
17355482
225025423
349855423

prune338.0ms (3.3%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New2878295
Fresh358
Picked101
Done000
Total29113304
Error
1.3b
Counts
304 → 13
Alt Table
StatusErrorProgram
21.4b
(*.f64 (*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (sqrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (sqrt.f64 (hypot.f64 y.im y.re))))
43.8b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (neg.f64 x.im))
15.4b
(*.f64 (sqrt.f64 (/.f64 1 (hypot.f64 y.im y.re))) (*.f64 (sqrt.f64 (/.f64 1 (hypot.f64 y.im y.re))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))))
42.3b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (-.f64 (/.f64 (*.f64 y.re x.im) y.im) x.re))
15.1b
(/.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
36.9b
(-.f64 (/.f64 x.im y.re) (fma.f64 (/.f64 x.re y.re) (/.f64 y.im y.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.im) (pow.f64 y.re 3))))
15.3b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))))
38.0b
(neg.f64 (/.f64 x.re y.im))
28.6b
(/.f64 1 (/.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)) (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))))
46.7b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) x.re)
27.2b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) 3)))
34.9b
(/.f64 x.im y.re)
38.2b
(-.f64 (fma.f64 (/.f64 y.re y.im) (/.f64 x.im y.im) (/.f64 (*.f64 x.re (*.f64 y.re y.re)) (pow.f64 y.im 3))) (/.f64 x.re y.im))
Compiler

Compiled 8231 to 2629 computations (68.1% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 y.im y.re)
0.0b
(/.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))
0.3b
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
14.6b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))

series206.0ms (2%)

Counts
1 → 48
Calls

1 calls:

206.0ms
(/.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))

rewrite31.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
75×times-frac_binary64
43×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
43×add-cube-cbrt_binary64
13×associate-/l*_binary64
Counts
1 → 73
Calls

1 calls:

13.0ms
(/.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re))

simplify160.0ms (1.5%)

Algorithm
egg-herbie
Rules
566×times-frac_binary64
497×fma-neg_binary64
471×associate-/l*_binary64
471×associate-/l/_binary64
359×div-sub_binary64
Counts
121 → 139
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01894368
14404066
210933872
341043805
453093805

prune360.0ms (3.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New3127319
Fresh9312
Picked101
Done000
Total32210332
Error
1.3b
Counts
332 → 10
Alt Table
StatusErrorProgram
42.3b
(/.f64 (-.f64 (/.f64 (*.f64 y.re x.im) y.im) x.re) (hypot.f64 y.im y.re))
15.2b
(/.f64 (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))) (hypot.f64 y.im y.re))
43.8b
(/.f64 (neg.f64 x.im) (hypot.f64 y.im y.re))
15.4b
(/.f64 (/.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))
15.4b
(*.f64 (sqrt.f64 (/.f64 1 (hypot.f64 y.im y.re))) (*.f64 (sqrt.f64 (/.f64 1 (hypot.f64 y.im y.re))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))))
46.7b
(/.f64 x.re (hypot.f64 y.im y.re))
36.9b
(-.f64 (/.f64 x.im y.re) (fma.f64 (/.f64 x.re y.re) (/.f64 y.im y.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.im) (pow.f64 y.re 3))))
34.9b
(/.f64 x.im y.re)
15.7b
(/.f64 1 (/.f64 (hypot.f64 y.im y.re) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))))
27.2b
(*.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 1) (/.f64 (/.f64 1 (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))
Compiler

Compiled 8514 to 2135 computations (74.9% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))) (hypot.f64 y.im y.re))
0.2b
(/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))
0.3b
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
14.7b
(/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))

series466.0ms (4.5%)

Counts
3 → 144
Calls

3 calls:

195.0ms
(/.f64 (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))) (hypot.f64 y.im y.re))
186.0ms
(/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))
84.0ms
(/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))

rewrite167.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
528×times-frac_binary64
254×*-un-lft-identity_binary64
254×add-sqr-sqrt_binary64
254×add-cube-cbrt_binary64
56×associate-/l*_binary64
Counts
3 → 343
Calls

3 calls:

34.0ms
(/.f64 (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))) (hypot.f64 y.im y.re))
12.0ms
(/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))
11.0ms
(/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))))

simplify811.0ms (7.8%)

Algorithm
egg-herbie
Rules
466×times-frac_binary64
369×associate-/l*_binary64
337×associate-/r*_binary64
239×associate-/l/_binary64
230×associate-/r/_binary64
Counts
487 → 603
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
043919238
1122017435
2475217435
3499717435
4497717435

prune798.0ms (7.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New6270627
Fresh099
Picked011
Done000
Total62710637
Error
1.3b
Counts
637 → 10
Alt Table
StatusErrorProgram
42.3b
(/.f64 (-.f64 (/.f64 (*.f64 y.re x.im) y.im) x.re) (hypot.f64 y.im y.re))
15.2b
(/.f64 (/.f64 1 (/.f64 (hypot.f64 y.im y.re) (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)))) (hypot.f64 y.im y.re))
43.8b
(/.f64 (neg.f64 x.im) (hypot.f64 y.im y.re))
15.4b
(/.f64 (/.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (sqrt.f64 (hypot.f64 y.im y.re))) (sqrt.f64 (hypot.f64 y.im y.re))) (hypot.f64 y.im y.re))
15.4b
(*.f64 (sqrt.f64 (/.f64 1 (hypot.f64 y.im y.re))) (*.f64 (sqrt.f64 (/.f64 1 (hypot.f64 y.im y.re))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))))
46.7b
(/.f64 x.re (hypot.f64 y.im y.re))
36.9b
(-.f64 (/.f64 x.im y.re) (fma.f64 (/.f64 x.re y.re) (/.f64 y.im y.re) (/.f64 (*.f64 (*.f64 y.im y.im) x.im) (pow.f64 y.re 3))))
34.9b
(/.f64 x.im y.re)
15.7b
(/.f64 1 (/.f64 (hypot.f64 y.im y.re) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))))
27.2b
(*.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) 1) (/.f64 (/.f64 1 (hypot.f64 y.im y.re)) (hypot.f64 y.im y.re)))
Compiler

Compiled 21581 to 5743 computations (73.4% saved)

regimes3.8s (37%)

Accuracy

Total 9.8b remaining (83.6%)

Threshold costs 0b (0%)

Counts
202 → 7
Compiler

Compiled 20763 to 12034 computations (42% saved)

bsearch192.0ms (1.8%)

Steps
ItersRangePoint
4
2.289460509993495e+133
3.9413810999069814e+133
2.6508181390370694e+133
7
-1.1303262023734178e-277
-4.453857161756357e-280
-8.168380286508774e-280
9
-2.1710835684207147e-221
-1.5401647695385404e-229
-7.746052639847127e-223
10
-1.3759515111598078e-187
-9.396862257212423e-203
-2.3624307415395805e-197
10
-1.2123400635254853e-64
-6.611758308217706e-78
-1.0719267080027835e-77
9
-2.1716881053784275e+189
-9.844060192539692e+179
-1.0001347671923885e+180
Compiler

Compiled 5 to 4 computations (20% saved)

simplify17.0ms (0.2%)

Algorithm
egg-herbie
Rules
12×+-commutative_binary64
12×sub-neg_binary64
11×*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046169
159169
279169
397169
4109169
5115169
6117169
7115169

end265.0ms (2.6%)

Compiler

Compiled 422 to 190 computations (55% saved)

Profiling

Loading profile data...