Details

Time bar (total: 11.2s)

analyze1.4s (12.6%)

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
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample48.0ms (0.4%)

Algorithm
intervals
Results
26.0ms256×body128valid
2.0ms18×body128invalid
Compiler

Compiled 43 to 27 computations (37.2% saved)

simplify24.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01426
12026
22426
32426

prune5.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 66 to 32 computations (51.5% saved)

localize15.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y.re y.re (*.f64 y.im y.im))
0.5b
(fma.f64 x.re y.re (*.f64 x.im y.im))
25.4b
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))

rewrite67.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
26×add-cube-cbrt_binary64
13×add-cbrt-cube_binary64
12×pow1_binary64
12×add-sqr-sqrt_binary64
10×fma-udef_binary64
Counts
3 → 112
Calls

3 calls:

21.0ms
(fma.f64 x.re y.re (*.f64 x.im y.im))
20.0ms
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
17.0ms
(fma.f64 y.re y.re (*.f64 y.im y.im))

series348.0ms (3.1%)

Counts
3 → 120
Calls

3 calls:

241.0ms
(/.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (fma.f64 y.re y.re (*.f64 y.im y.im)))
66.0ms
(fma.f64 x.re y.re (*.f64 x.im y.im))
40.0ms
(fma.f64 y.re y.re (*.f64 y.im y.im))

simplify332.0ms (3%)

Algorithm
egg-herbie
Rules
934×times-frac_binary64
487×associate-/l*_binary64
337×fma-def_binary64
276×fma-neg_binary64
265×cancel-sign-sub-inv_binary64
Counts
232 → 398
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01354312
13534093
212823957
348743957
450093957

prune219.0ms (2%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3899398
Fresh000
Picked101
Done000
Total3909399
Error
5.4b
Counts
399 → 9
Alt Table
StatusErrorProgram
24.1b
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
26.1b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im))))
42.9b
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (pow.f64 y.re 2))) 3))
40.9b
(/.f64 (*.f64 y.im x.im) (fma.f64 y.re y.re (*.f64 y.im y.im)))
34.7b
(fma.f64 (/.f64 y.im (pow.f64 y.re 2)) x.im (/.f64 x.re y.re))
37.5b
(/.f64 x.re y.re)
34.7b
(fma.f64 (/.f64 x.re (pow.f64 y.im 2)) y.re (/.f64 x.im y.im))
45.3b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (fma.f64 y.re y.re (*.f64 y.im y.im)))
39.0b
(/.f64 x.im y.im)
Compiler

Compiled 3770 to 1024 computations (72.8% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y.im y.im (pow.f64 y.re 2))
1.6b
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
16.9b
(/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2)))
17.2b
(/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2)))

rewrite107.0ms (1%)

Algorithm
rewrite-expression-head
Rules
37×add-cube-cbrt_binary64
20×add-cbrt-cube_binary64
18×add-exp-log_binary64
16×pow1_binary64
16×add-sqr-sqrt_binary64
Counts
4 → 158
Calls

4 calls:

26.0ms
(/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2)))
23.0ms
(fma.f64 y.im y.im (pow.f64 y.re 2))
23.0ms
(/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2)))
18.0ms
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))

series500.0ms (4.5%)

Counts
4 → 132
Calls

4 calls:

259.0ms
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
157.0ms
(/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2)))
45.0ms
(fma.f64 y.im y.im (pow.f64 y.re 2))
37.0ms
(/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2)))

simplify467.0ms (4.2%)

Algorithm
egg-herbie
Rules
567×fma-neg_binary64
419×cancel-sign-sub-inv_binary64
395×fma-def_binary64
287×associate-/r/_binary64
231×associate-/l/_binary64
Counts
290 → 483
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02206780
15406490
219676352
348946352
452746352

prune499.0ms (4.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New4803483
Fresh268
Picked101
Done000
Total4839492
Error
5.4b
Counts
492 → 9
Alt Table
StatusErrorProgram
22.8b
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2))) x.im (*.f64 (/.f64 y.re (*.f64 (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))) (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))) (/.f64 x.re (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))))
26.1b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im))))
41.7b
(fma.f64 (/.f64 y.im (pow.f64 y.re 2)) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
24.3b
(fma.f64 (*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
42.9b
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (pow.f64 y.re 2))) 3))
37.5b
(/.f64 x.re y.re)
34.7b
(fma.f64 (/.f64 x.re (pow.f64 y.im 2)) y.re (/.f64 x.im y.im))
45.3b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (fma.f64 y.re y.re (*.f64 y.im y.im)))
39.0b
(/.f64 x.im y.im)
Compiler

Compiled 7510 to 3942 computations (47.5% saved)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
16.9b
(/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2)))
28.8b
(cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2)))
28.8b
(cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2)))
28.8b
(cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2)))

rewrite20.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-cube-cbrt_binary64
add-sqr-sqrt_binary64
pow1/3_binary64
log1p-expm1-u_binary64
expm1-log1p-u_binary64
Counts
1 → 30
Calls

1 calls:

18.0ms
(cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2)))

series73.0ms (0.6%)

Counts
1 → 24
Calls

1 calls:

72.0ms
(cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2)))

simplify136.0ms (1.2%)

Algorithm
egg-herbie
Rules
771×fma-neg_binary64
665×distribute-rgt-neg-in_binary64
444×cancel-sign-sub-inv_binary64
418×unswap-sqr_binary64
273×associate-*r*_binary64
Counts
54 → 93
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0781273
11981255
25001231
317401231
437331231
552381231

prune580.0ms (5.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New4831484
Fresh178
Picked011
Done000
Total4849493
Error
5.4b
Counts
493 → 9
Alt Table
StatusErrorProgram
22.8b
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2))) x.im (*.f64 (/.f64 y.re (*.f64 (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))) (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))) (/.f64 x.re (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))))
26.1b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im))))
42.9b
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (pow.f64 y.re 2))) 3))
24.3b
(fma.f64 (*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
37.5b
(/.f64 x.re y.re)
34.7b
(fma.f64 (/.f64 x.re (pow.f64 y.im 2)) y.re (/.f64 x.im y.im))
45.3b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (fma.f64 y.re y.re (*.f64 y.im y.im)))
39.0b
(/.f64 x.im y.im)
40.4b
(fma.f64 (/.f64 y.im (pow.f64 y.re 2)) x.im (*.f64 (/.f64 y.re (*.f64 (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))) (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))) (/.f64 x.re (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))))
Compiler

Compiled 10608 to 6560 computations (38.2% saved)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))
1.6b
(fma.f64 (*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
16.9b
(*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2))))
17.2b
(/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2)))

rewrite98.0ms (0.9%)

Algorithm
rewrite-expression-head
Rules
26×add-cube-cbrt_binary64
16×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
14×add-exp-log_binary64
13×pow1_binary64
Counts
3 → 126
Calls

3 calls:

38.0ms
(*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2))))
24.0ms
(/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))
22.0ms
(fma.f64 (*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))

series328.0ms (2.9%)

Counts
3 → 96
Calls

3 calls:

265.0ms
(fma.f64 (*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
32.0ms
(*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2))))
30.0ms
(/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))

simplify549.0ms (4.9%)

Algorithm
egg-herbie
Rules
785×associate-/l*_binary64
313×cancel-sign-sub-inv_binary64
308×associate-/r/_binary64
273×fma-def_binary64
192×associate-/l/_binary64
Counts
222 → 350
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02015579
14475285
217125161
355755161

prune540.0ms (4.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New4881489
Fresh077
Picked011
Done011
Total48810498
Error
5.2b
Counts
498 → 10
Alt Table
StatusErrorProgram
22.8b
(fma.f64 (/.f64 y.im (fma.f64 y.im y.im (pow.f64 y.re 2))) x.im (*.f64 (/.f64 y.re (*.f64 (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))) (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))) (/.f64 x.re (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))))
26.1b
(*.f64 (fma.f64 x.re y.re (*.f64 x.im y.im)) (/.f64 1 (fma.f64 y.re y.re (*.f64 y.im y.im))))
39.5b
(fma.f64 (*.f64 (fabs.f64 (/.f64 (sqrt.f64 y.im) (hypot.f64 y.im y.re))) (fabs.f64 (/.f64 (sqrt.f64 y.im) (hypot.f64 y.im y.re)))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
42.9b
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 y.im x.im (*.f64 y.re x.re)) (fma.f64 y.im y.im (pow.f64 y.re 2))) 3))
24.3b
(fma.f64 (*.f64 y.im (/.f64 1 (fma.f64 y.im y.im (pow.f64 y.re 2)))) x.im (/.f64 (*.f64 y.re x.re) (fma.f64 y.im y.im (pow.f64 y.re 2))))
37.5b
(/.f64 x.re y.re)
34.7b
(fma.f64 (/.f64 x.re (pow.f64 y.im 2)) y.re (/.f64 x.im y.im))
45.3b
(/.f64 (pow.f64 (sqrt.f64 (fma.f64 x.re y.re (*.f64 x.im y.im))) 2) (fma.f64 y.re y.re (*.f64 y.im y.im)))
39.0b
(/.f64 x.im y.im)
40.4b
(fma.f64 (/.f64 y.im (pow.f64 y.re 2)) x.im (*.f64 (/.f64 y.re (*.f64 (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))) (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))) (/.f64 x.re (cbrt.f64 (fma.f64 y.im y.im (pow.f64 y.re 2))))))
Compiler

Compiled 8075 to 4492 computations (44.4% saved)

regimes2.9s (26.1%)

Accuracy

Total 9.2b remaining (68%)

Threshold costs 0b (0%)

Compiler

Compiled 14288 to 8899 computations (37.7% saved)

bsearch92.0ms (0.8%)

Steps
ItersRangePoint
5
2.4680245409095543e+30
6.420824084845101e+30
4.7526766511788395e+30
6
-9.088419335841466e-83
-1.1186950646027973e-83
-1.138134009878751e-83
10
-2.8871365287463673e+167
-4.468354710374448e+153
-6.889595916751356e+153
Compiler

Compiled 5 to 4 computations (20% saved)

simplify11.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
sqr-abs_binary64
fabs-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041184
147184
247184

end3.0ms (0%)

Compiler

Compiled 101 to 55 computations (45.5% saved)

sample1.7s (15.4%)

Algorithm
intervals
Results
786.0ms8000×body128valid
49.0ms486×body128invalid
Compiler

Compiled 348 to 206 computations (40.8% saved)

Profiling

Loading profile data...