Details

Time bar (total: 4.7s)

analyze488.0ms (10.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
50%50%0.1%3
50%50%0.1%4
62.4%37.5%0.1%5
62.4%37.5%0.1%6
68.7%31.2%0.1%7
68.7%31.2%0.1%8
71.8%28.1%0.1%9
71.8%28.1%0.1%10
73.4%26.5%0.1%11
73.4%26.5%0.1%12
74.1%25.8%0.1%13
74.1%25.8%0.1%14
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample39.0ms (0.8%)

Algorithm
intervals
Results
12.0ms194×body128valid
8.0ms22×body4096valid
4.0ms15×body1024valid
4.0ms14×body2048valid
1.0msbody512valid
1.0msbody256valid
Compiler

Compiled 37 to 27 computations (27% saved)

simplify11.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
distribute-lft-in_binary64
distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
22915
33115
43115

prune4.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
12.4b
Counts
2 → 2
Alt Table
StatusErrorProgram
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
37.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 70 to 51 computations (27.1% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(hypot.f64 re im)
0.2b
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
1.0b
(+.f64 re (hypot.f64 re im))

rewrite98.0ms (2.1%)

Algorithm
rewrite-expression-head
Error
12.2b
Rules
17×add-cube-cbrt_binary64
14×add-sqr-sqrt_binary64
13×pow1_binary64
10×add-log-exp_binary64
flip3-+_binary64
Counts
3 → 113
Calls

3 calls:

12.0ms
(+.f64 re (hypot.f64 re im))
12.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
9.0ms
(hypot.f64 re im)
Compiler

Compiled 1536 to 755 computations (50.8% saved)

series99.0ms (2.1%)

Error
6.5b
Counts
3 → 45
Calls

3 calls:

30.0ms
(hypot.f64 re im)
29.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
23.0ms
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 1835 to 1498 computations (18.4% saved)

simplify106.0ms (2.3%)

Algorithm
egg-herbie
Rules
601×fma-neg_binary64
512×fma-def_binary64
418×associate-/l*_binary64
387×associate-/r*_binary64
257×*-commutative_binary64
Counts
158 → 67
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01751818
14261748
213981721
342751721
449711721
549111721

prune38.0ms (0.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New60767
Fresh101
Picked011
Done000
Total61869
Error
6.5b
Counts
69 → 8
Alt Table
StatusErrorProgram
45.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))))))
14.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))))))
31.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 re im))) (/.f64 (hypot.f64 re im) (+.f64 (/.f64 re (hypot.f64 re im)) -1))))))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.3b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
47.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
55.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
53.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
Compiler

Compiled 1184 to 715 computations (39.6% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(hypot.f64 re im)
0.2b
(sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im))))))
0.5b
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
8.3b
(+.f64 re (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im))))

rewrite139.0ms (3%)

Algorithm
rewrite-expression-head
Error
6.5b
Rules
27×add-sqr-sqrt_binary64
24×add-cube-cbrt_binary64
21×pow1/2_binary64
15×pow1_binary64
14×add-cbrt-cube_binary64
Counts
4 → 164
Calls

4 calls:

16.0ms
(+.f64 re (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im))))
15.0ms
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
11.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im))))))
11.0ms
(hypot.f64 re im)
Compiler

Compiled 3172 to 1106 computations (65.1% saved)

series140.0ms (3%)

Error
6.5b
Counts
4 → 65
Calls

4 calls:

33.0ms
(hypot.f64 re im)
31.0ms
(sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im))))))
29.0ms
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
23.0ms
(+.f64 re (*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im))))
Compiler

Compiled 2869 to 2256 computations (21.4% saved)

simplify122.0ms (2.6%)

Algorithm
egg-herbie
Rules
609×fma-def_binary64
466×associate-/l*_binary64
425×associate-/r*_binary64
383×fma-neg_binary64
261×cancel-sign-sub-inv_binary64
Counts
229 → 137
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02082488
14792358
216332307
345112297
450522297

prune97.0ms (2.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1352137
Fresh156
Picked101
Done011
Total1378145
Error
6.5b
Counts
145 → 8
Alt Table
StatusErrorProgram
31.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 re im))) (/.f64 (hypot.f64 re im) (+.f64 (/.f64 re (hypot.f64 re im)) -1))))))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
38.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) (cbrt.f64 (hypot.f64 re im)))) (sqrt.f64 (hypot.f64 re im)))))))
16.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))))))
48.3b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
47.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
55.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
53.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
Compiler

Compiled 2172 to 1219 computations (43.9% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.5b
(cbrt.f64 (sqrt.f64 (hypot.f64 re im)))
0.5b
(cbrt.f64 (sqrt.f64 (hypot.f64 re im)))
1.0b
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5)
13.4b
(+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))))

rewrite117.0ms (2.5%)

Algorithm
rewrite-expression-head
Error
6.5b
Rules
29×add-cube-cbrt_binary64
16×add-sqr-sqrt_binary64
14×pow1/3_binary64
12×add-log-exp_binary64
12×log1p-expm1-u_binary64
Counts
4 → 141
Calls

4 calls:

15.0ms
(+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))))
13.0ms
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5)
12.0ms
(cbrt.f64 (sqrt.f64 (hypot.f64 re im)))
10.0ms
(cbrt.f64 (sqrt.f64 (hypot.f64 re im)))
Compiler

Compiled 3000 to 1329 computations (55.7% saved)

series187.0ms (4%)

Error
6.5b
Counts
4 → 52
Calls

4 calls:

62.0ms
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5)
40.0ms
(cbrt.f64 (sqrt.f64 (hypot.f64 re im)))
39.0ms
(cbrt.f64 (sqrt.f64 (hypot.f64 re im)))
26.0ms
(+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))))
Compiler

Compiled 3018 to 2412 computations (20.1% saved)

simplify105.0ms (2.3%)

Algorithm
egg-herbie
Rules
818×times-frac_binary64
454×fma-def_binary64
375×fma-neg_binary64
187×cancel-sign-sub-inv_binary64
179×distribute-rgt-neg-in_binary64
Counts
193 → 95
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01912360
14552269
214441966
341461917
448151917

prune52.0ms (1.1%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New93295
Fresh156
Picked011
Done011
Total949103
Error
6.5b
Counts
103 → 9
Alt Table
StatusErrorProgram
38.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) (cbrt.f64 (hypot.f64 re im)))) (sqrt.f64 (hypot.f64 re im)))))))
16.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6)))))))
16.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6)) (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))))))))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
16.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))))))
48.3b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
47.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
55.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
53.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
Compiler

Compiled 1852 to 1053 computations (43.1% saved)

localize18.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.6b
(cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))
1.0b
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5)
1.1b
(pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6)
12.9b
(+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6))))

rewrite142.0ms (3%)

Algorithm
rewrite-expression-head
Error
6.5b
Rules
30×add-cube-cbrt_binary64
16×add-sqr-sqrt_binary64
12×add-log-exp_binary64
12×log1p-expm1-u_binary64
12×expm1-log1p-u_binary64
Counts
4 → 146
Calls

4 calls:

18.0ms
(+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6))))
14.0ms
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5)
13.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6)
11.0ms
(cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))
Compiler

Compiled 3789 to 1864 computations (50.8% saved)

series220.0ms (4.7%)

Error
6.5b
Counts
4 → 46
Calls

4 calls:

74.0ms
(pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5)
71.0ms
(pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6)
31.0ms
(cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))
24.0ms
(+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6))))
Compiler

Compiled 2772 to 2243 computations (19.1% saved)

simplify174.0ms (3.7%)

Algorithm
egg-herbie
Rules
862×times-frac_binary64
446×fma-def_binary64
350×fma-neg_binary64
223×log-prod_binary64
205×unswap-sqr_binary64
Counts
192 → 97
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02183205
15092771
215272610
342422249
447542249
549792249
648632249

prune56.0ms (1.2%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New96197
Fresh066
Picked011
Done112
Total979106
Error
6.5b
Counts
106 → 9
Alt Table
StatusErrorProgram
53.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
19.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (log.f64 (+.f64 re (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 6)))))))
38.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (sqrt.f64 (*.f64 (cbrt.f64 (pow.f64 (hypot.f64 re im) 2)) (cbrt.f64 (hypot.f64 re im)))) (sqrt.f64 (hypot.f64 re im)))))))
16.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6)))))))
16.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 5) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im)))) 6)) (cbrt.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))))))))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.3b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
47.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
55.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (/.f64 (*.f64 im im) re) -1/2 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
Compiler

Compiled 1876 to 1080 computations (42.4% saved)

regimes857.0ms (18.3%)

Accuracy

Total 2.8b remaining (26.9%)

Threshold costs 0b (0%)

Compiler

Compiled 12125 to 8130 computations (32.9% saved)

bsearch3.0ms (0.1%)

Compiler

Compiled 12 to 7 computations (41.7% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040112
157112
268112
371112
473112
571112

end1.0ms (0%)

Compiler

Compiled 76 to 40 computations (47.4% saved)

sample1.3s (28.4%)

Algorithm
intervals
Results
386.0ms6037×body128valid
200.0ms526×body4096valid
196.0ms639×body2048valid
122.0ms454×body1024valid
40.0ms229×body512valid
13.0ms115×body256valid
Compiler

Compiled 265 to 177 computations (33.2% saved)

Profiling

Loading profile data...