Details

Time bar (total: 5.3s)

analyze476.0ms (8.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%81.1%18.9%7
6.2%74.9%18.9%8
9.4%65.5%25.1%9
15.6%48.4%36%10
20.3%43.1%36.6%11
22.6%36%41.4%12
27.1%25.1%47.8%13
29.5%22.5%48%14
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.4s (26%)

Results
872.0ms8256×body128valid
256.0ms2562×body128invalid
Compiler

Compiled 41 to 26 computations (36.6% saved)

simplify197.0ms (3.7%)

Algorithm
egg-herbie
Rules
767×unsub-neg_binary64
741×*-commutative_binary64
699×fma-def_binary64
598×fma-neg_binary64
465×distribute-neg-out_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
11915
22915
35715
411815
527815
652915
7100715
8178115
9258515
10283415
11314115
12337115
13348515
14348515
15444415
16428415
17460415
18460415
19510315

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
24.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
24.7b
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
Compiler

Compiled 39 to 24 computations (38.5% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
2.4b
(-.f64 (*.f64 y y) (*.f64 z z))
24.0b
(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))

series59.0ms (1.1%)

Counts
3 → 84
Calls

3 calls:

37.0ms
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
16.0ms
(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))
6.0ms
(-.f64 (*.f64 y y) (*.f64 z z))

rewrite16.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
sqrt-prod_binary64
associate-*r*_binary64
*-un-lft-identity_binary64
add-cube-cbrt_binary64
Counts
3 → 62
Calls

3 calls:

8.0ms
(*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))
3.0ms
(-.f64 (*.f64 y y) (*.f64 z z))

simplify99.0ms (1.9%)

Algorithm
egg-herbie
Rules
638×fma-def_binary64
337×fma-neg_binary64
316×cancel-sign-sub-inv_binary64
268×neg-mul-1_binary64
187×distribute-rgt-neg-in_binary64
Counts
146 → 179
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02062931
15822842
222892771
345562771
450282771

prune96.0ms (1.8%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1745179
Fresh000
Picked101
Done000
Total1755180
Error
0.2b
Counts
180 → 5
Alt Table
StatusErrorProgram
25.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))))
30.3b
(*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))
36.1b
(fma.f64 y x (fma.f64 (*.f64 (/.f64 (*.f64 z z) y) x) -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) x) -1/8)))
31.1b
(*.f64 x (neg.f64 y))
28.9b
(*.f64 x y)
Compiler

Compiled 3747 to 1669 computations (55.5% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))))
2.4b
(-.f64 (*.f64 y y) (*.f64 z z))
3.6b
(cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))))
24.0b
(sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))

series1.2s (23.1%)

Counts
2 → 72
Calls

2 calls:

628.0ms
(cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))))
600.0ms
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))))

rewrite19.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
16×associate-*r/_binary64
14×cbrt-div_binary64
14×sqrt-div_binary64
pow1_binary64
add-sqr-sqrt_binary64
Counts
2 → 54
Calls

2 calls:

6.0ms
(*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))))
5.0ms
(cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))))

simplify146.0ms (2.7%)

Algorithm
egg-herbie
Rules
372×fma-neg_binary64
362×associate-*r*_binary64
262×associate-*l*_binary64
221×sub-neg_binary64
206×*-commutative_binary64
Counts
126 → 173
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03785280
110914938
242024686
349994686
451004686

prune341.0ms (6.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New5840584
Fresh044
Picked011
Done000
Total5845589
Error
0.2b
Counts
589 → 5
Alt Table
StatusErrorProgram
25.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))))
30.3b
(*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))
36.1b
(fma.f64 y x (fma.f64 (*.f64 (/.f64 (*.f64 z z) y) x) -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) x) -1/8)))
31.1b
(*.f64 x (neg.f64 y))
28.9b
(*.f64 x y)
Compiler

Compiled 28449 to 8929 computations (68.6% saved)

localize2.0ms (0%)

prune4.0ms (0.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New000
Fresh033
Picked011
Done011
Total055
Error
0.2b
Counts
5 → 5
Alt Table
StatusErrorProgram
25.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))))
30.3b
(*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))
36.1b
(fma.f64 y x (fma.f64 (*.f64 (/.f64 (*.f64 z z) y) x) -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) x) -1/8)))
31.1b
(*.f64 x (neg.f64 y))
28.9b
(*.f64 x y)
Compiler

Compiled 138 to 77 computations (44.2% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))
0.0b
(sqrt.f64 (+.f64 y z))
0.3b
(*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z)))

series76.0ms (1.4%)

Counts
3 → 60
Calls

3 calls:

37.0ms
(*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))
21.0ms
(*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z)))
18.0ms
(sqrt.f64 (+.f64 y z))

rewrite27.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
26×sqrt-div_binary64
24×add-sqr-sqrt_binary64
17×sqrt-prod_binary64
15×*-un-lft-identity_binary64
13×pow1_binary64
Counts
3 → 91
Calls

3 calls:

9.0ms
(*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z)))
8.0ms
(*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))
2.0ms
(sqrt.f64 (+.f64 y z))

simplify126.0ms (2.4%)

Algorithm
egg-herbie
Rules
662×fma-def_binary64
339×cancel-sign-sub-inv_binary64
280×fma-neg_binary64
259×distribute-rgt-in_binary64
225×distribute-lft-in_binary64
Counts
151 → 216
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02643378
17203270
223403086
348383085
449453085
549933085

prune175.0ms (3.3%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2151216
Fresh022
Picked011
Done022
Total2156221
Error
0.1b
Counts
221 → 6
Alt Table
StatusErrorProgram
25.4b
(*.f64 (*.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z)))))) (cbrt.f64 (*.f64 x (sqrt.f64 (-.f64 (*.f64 y y) (*.f64 z z))))))
30.3b
(*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))
36.1b
(fma.f64 y x (fma.f64 (*.f64 (/.f64 (*.f64 z z) y) x) -1/2 (*.f64 (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) x) -1/8)))
31.1b
(*.f64 x (neg.f64 y))
28.9b
(*.f64 x y)
30.7b
(*.f64 (*.f64 (cbrt.f64 (*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))) (cbrt.f64 (*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z)))))) (cbrt.f64 (*.f64 x (*.f64 (sqrt.f64 (+.f64 y z)) (sqrt.f64 (-.f64 y z))))))
Compiler

Compiled 4823 to 1964 computations (59.3% saved)

regimes686.0ms (12.9%)

Accuracy

Total 0.5b remaining (81.2%)

Threshold costs 0.5b (81.2%)

Counts
28 → 2
Compiler

Compiled 6922 to 3461 computations (50% saved)

bsearch62.0ms (1.2%)

Steps
ItersRangePoint
2
-1.189575496443039e-259
3.4606458152099164e-212
-4.930641161483513e-296
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
11716
22416
32916
43216
53316
63316

end77.0ms (1.4%)

Compiler

Compiled 160 to 76 computations (52.5% saved)

Profiling

Loading profile data...