Details

Time bar (total: 5.4s)

analyze48.0ms (0.9%)

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.0s (18.7%)

Infinites
6% of outputs are infinite.
Results
877.0ms8256×body128valid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify68.0ms (1.3%)

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.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
24.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
24.7b
(/.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.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.5b
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))
24.4b
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))

series106.0ms (2%)

Counts
2 → 96
Calls

2 calls:

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

rewrite11.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:

6.0ms
(/.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
3.0ms
(-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))

simplify86.0ms (1.6%)

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

prune68.0ms (1.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1047111
Fresh000
Picked101
Done000
Total1057112
Error
1.6b
Counts
112 → 7
Alt Table
StatusErrorProgram
38.4b
(/.f64 x.im y.re)
36.8b
(-.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))
32.1b
(neg.f64 (/.f64 x.re y.im))
17.7b
(*.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)))
25.2b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (cbrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im)))) (*.f64 (cbrt.f64 (fma.f64 y.re y.re (*.f64 y.im y.im))) (cbrt.f64 (fma.f64 y.re y.re (*.f64 y.im y.im))))) (/.f64 (cbrt.f64 (-.f64 (*.f64 x.im y.re) (*.f64 x.re y.im))) (cbrt.f64 (fma.f64 y.re y.re (*.f64 y.im y.im)))))
24.7b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
41.1b
(-.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))))
Compiler

Compiled 2831 to 606 computations (78.6% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (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.5b
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
17.1b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))

series261.0ms (4.8%)

Counts
4 → 132
Calls

4 calls:

129.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)))
100.0ms
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))
23.0ms
(/.f64 1 (hypot.f64 y.im y.re))
9.0ms
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))

rewrite35.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
51×add-sqr-sqrt_binary64
43×times-frac_binary64
36×*-un-lft-identity_binary64
34×add-cube-cbrt_binary64
32×add-exp-log_binary64
Counts
4 → 139
Calls

4 calls:

12.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)))
4.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))
2.0ms
(/.f64 1 (hypot.f64 y.im y.re))

simplify130.0ms (2.4%)

Algorithm
egg-herbie
Rules
884×times-frac_binary64
524×fma-def_binary64
372×cancel-sign-sub-inv_binary64
204×fma-neg_binary64
186×sub-neg_binary64
Counts
271 → 275
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02756721
17485877
225565818
350795818

prune184.0ms (3.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2696275
Fresh246
Picked101
Done000
Total27210282
Error
1.6b
Counts
282 → 10
Alt Table
StatusErrorProgram
32.1b
(neg.f64 (/.f64 x.re y.im))
17.5b
(/.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))
41.1b
(-.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))))
18.2b
(*.f64 (/.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)))) (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (hypot.f64 y.im y.re)) (/.f64 (cbrt.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))) (cbrt.f64 (hypot.f64 y.im y.re))))
42.4b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (-.f64 (/.f64 (*.f64 y.re x.im) y.im) x.re))
38.4b
(/.f64 x.im y.re)
18.1b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re))))
40.6b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (-.f64 x.re (/.f64 (*.f64 y.re x.im) y.im)))
46.8b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (-.f64 (/.f64 (*.f64 x.re y.im) y.re) x.im))
24.7b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 7602 to 2295 computations (69.8% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.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))
0.5b
(-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im))
17.1b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re))

series140.0ms (2.6%)

Counts
1 → 48
Calls

1 calls:

140.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))

rewrite18.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:

10.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))

simplify116.0ms (2.1%)

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

prune152.0ms (2.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2314235
Fresh459
Picked011
Done000
Total23510245
Error
1.6b
Counts
245 → 10
Alt Table
StatusErrorProgram
32.1b
(neg.f64 (/.f64 x.re y.im))
17.5b
(/.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))
18.1b
(/.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re)))) (hypot.f64 y.im y.re))
41.1b
(-.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))))
42.4b
(/.f64 (-.f64 (/.f64 (*.f64 y.re x.im) y.im) x.re) (hypot.f64 y.im y.re))
38.4b
(/.f64 x.im y.re)
46.7b
(/.f64 (-.f64 (/.f64 (*.f64 x.re y.im) y.re) x.im) (hypot.f64 y.im y.re))
40.6b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (-.f64 x.re (/.f64 (*.f64 y.re x.im) y.im)))
30.1b
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) 3)) (hypot.f64 y.im y.re))
24.7b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 6397 to 1381 computations (78.4% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))
0.5b
(cbrt.f64 (hypot.f64 y.im y.re))
6.9b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re)))
10.2b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re))))

series633.0ms (11.7%)

Counts
4 → 144
Calls

4 calls:

433.0ms
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re)))
115.0ms
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re))))
44.0ms
(*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))
40.0ms
(cbrt.f64 (hypot.f64 y.im y.re))

rewrite43.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
72×add-sqr-sqrt_binary64
53×add-exp-log_binary64
51×times-frac_binary64
46×*-un-lft-identity_binary64
43×cbrt-prod_binary64
Counts
4 → 171
Calls

4 calls:

15.0ms
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re))))
5.0ms
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re)))
4.0ms
(*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))
2.0ms
(cbrt.f64 (hypot.f64 y.im y.re))

simplify261.0ms (4.8%)

Algorithm
egg-herbie
Rules
429×associate-*r*_binary64
371×fma-neg_binary64
330×associate-*l*_binary64
275×*-commutative_binary64
228×fma-def_binary64
Counts
315 → 381
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
045510487
112968418
244908227
349808227
449898227
549498227

prune319.0ms (5.9%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New4750475
Fresh088
Picked011
Done011
Total47510485
Error
1.6b
Counts
485 → 10
Alt Table
StatusErrorProgram
32.1b
(neg.f64 (/.f64 x.re y.im))
17.5b
(/.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))
18.1b
(/.f64 (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (hypot.f64 y.im y.re)) (cbrt.f64 (hypot.f64 y.im y.re)))) (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (cbrt.f64 (hypot.f64 y.im y.re)))) (hypot.f64 y.im y.re))
41.1b
(-.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))))
42.4b
(/.f64 (-.f64 (/.f64 (*.f64 y.re x.im) y.im) x.re) (hypot.f64 y.im y.re))
38.4b
(/.f64 x.im y.re)
46.7b
(/.f64 (-.f64 (/.f64 (*.f64 x.re y.im) y.re) x.im) (hypot.f64 y.im y.re))
40.6b
(*.f64 (/.f64 1 (hypot.f64 y.im y.re)) (-.f64 x.re (/.f64 (*.f64 y.re x.im) y.im)))
30.1b
(/.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (hypot.f64 y.im y.re)) 3)) (hypot.f64 y.im y.re))
24.7b
(/.f64 (-.f64 (*.f64 y.re x.im) (*.f64 x.re y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
Compiler

Compiled 18713 to 5659 computations (69.8% saved)

regimes1.4s (25.6%)

Accuracy

Total 10.1b remaining (83.4%)

Threshold costs 0b (0%)

Counts
93 → 5
Compiler

Compiled 10553 to 5714 computations (45.9% saved)

bsearch121.0ms (2.2%)

Steps
ItersRangePoint
7
4.0354548311811365e+126
5.58930270475422e+128
2.8401337548471847e+128
8
7.977234154488967e-103
4.551326919586386e-98
8.114742458283298e-103
8
-8.581413122176708e-299
-4.677684765432969e-302
-5.787984791490119e-300
9
-1.894972773015628e+86
-4.0004577221764496e+77
-4.331249049106995e+81
Compiler

Compiled 5 to 4 computations (20% saved)

simplify6.0ms (0.1%)

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
034109
146109
265109
384109
498109
5105109
6107109
7107109

end165.0ms (3%)

Compiler

Compiled 333 to 164 computations (50.8% saved)

Profiling

Loading profile data...