Details

Time bar (total: 6.1s)

analyze591.0ms (9.6%)

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
25%74.9%0.1%6
34.3%40.6%25.1%7
35.9%39%25.1%8
42.1%32.8%25.1%9
42.9%19.5%37.6%10
43.3%19.1%37.6%11
45%17.5%37.6%12
45.1%10.3%44.6%13
45.2%10.2%44.6%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample2.4s (38.3%)

Results
1.9s8256×body128valid
349.0ms1561×body128invalid
Compiler

Compiled 41 to 32 computations (22% saved)

simplify13.0ms (0.2%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
10×fma-def_binary64
associate-*r*_binary64
associate-*l*_binary64
distribute-lft-in_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01212
12310
23510
34110
43910

prune6.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.1b
(*.f64 1/2 (fma.f64 y (sqrt.f64 z) x))
0.1b
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
Compiler

Compiled 66 to 47 computations (28.8% saved)

localize23.0ms (0.4%)

Local error

Found 2 expressions with local error:

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

series44.0ms (0.7%)

Counts
2 → 16
Calls

2 calls:

24.0ms
(+.f64 x (*.f64 y (sqrt.f64 z)))
20.0ms
(*.f64 y (sqrt.f64 z))

rewrite83.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
791×prod-diff_binary64
729×log1p-expm1-u_binary64
729×expm1-log1p-u_binary64
75×add-sqr-sqrt_binary64
70×add-log-exp_binary64
Counts
2 → 50
Calls

2 calls:

81.0ms
(+.f64 x (*.f64 y (sqrt.f64 z)))
81.0ms
(*.f64 y (sqrt.f64 z))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
114713
2185013
3593713
000
100

simplify15.0ms (0.2%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Counts
66 → 53
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0785
11085
21185
31185

prune98.0ms (1.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New48553
Fresh101
Picked011
Done000
Total49655
Error
0.0b
Counts
55 → 6
Alt Table
StatusErrorProgram
0.1b
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
23.5b
(*.f64 (/.f64 1 2) (+.f64 x (cbrt.f64 (pow.f64 (*.f64 y (sqrt.f64 z)) 3))))
34.7b
(*.f64 (/.f64 1 2) (*.f64 (-.f64 (*.f64 x x) (*.f64 z (*.f64 y y))) (/.f64 1 (-.f64 x (*.f64 y (sqrt.f64 z))))))
1.4b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2)))
26.6b
(*.f64 (/.f64 1 2) (+.f64 x (sqrt.f64 (*.f64 z (*.f64 y y)))))
29.2b
(*.f64 (/.f64 1 2) (+.f64 x (pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 2)))
Compiler

Compiled 1013 to 531 computations (47.6% saved)

localize22.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 y (sqrt.f64 z) x)
0.3b
(*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2))
0.5b
(pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2)
0.6b
(cbrt.f64 (fma.f64 y (sqrt.f64 z) x))

series400.0ms (6.5%)

Counts
4 → 100
Calls

4 calls:

224.0ms
(pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2)
150.0ms
(cbrt.f64 (fma.f64 y (sqrt.f64 z) x))
14.0ms
(fma.f64 y (sqrt.f64 z) x)
12.0ms
(*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2))

rewrite116.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
144×expm1-udef_binary64
144×log1p-udef_binary64
137×log-pow_binary64
Counts
4 → 110
Calls

4 calls:

112.0ms
(fma.f64 y (sqrt.f64 z) x)
112.0ms
(*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2))
112.0ms
(pow.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) 2)
112.0ms
(cbrt.f64 (fma.f64 y (sqrt.f64 z) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01035
118033
2182233
3496033
4499933
5494633
000
100

simplify124.0ms (2%)

Algorithm
egg-herbie
Rules
379×cancel-sign-sub-inv_binary64
295×associate-/r/_binary64
241×unswap-sqr_binary64
234×associate-*r*_binary64
204×fma-neg_binary64
Counts
210 → 171
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02513102
17913040
227832799
348112479
449802479
549542479

prune192.0ms (3.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2414245
Fresh224
Picked101
Done011
Total2447251
Error
0.0b
Counts
251 → 7
Alt Table
StatusErrorProgram
0.1b
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
0.4b
(*.f64 (/.f64 1 2) (fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x))
0.7b
(*.f64 (/.f64 1 2) (fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (sqrt.f64 z)) x))
32.9b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (/.f64 (neg.f64 (sqrt.f64 z)) (/.f64 -1 y))) 2)))
0.2b
(*.f64 (/.f64 1 2) (fma.f64 (*.f64 y (pow.f64 z 1/4)) (pow.f64 z 1/4) x))
34.7b
(*.f64 (/.f64 1 2) (*.f64 (-.f64 (*.f64 x x) (*.f64 z (*.f64 y y))) (/.f64 1 (-.f64 x (*.f64 y (sqrt.f64 z))))))
29.2b
(*.f64 (/.f64 1 2) (+.f64 x (pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 2)))
Compiler

Compiled 8750 to 4961 computations (43.3% saved)

localize12.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (*.f64 y (pow.f64 z 1/4)) (pow.f64 z 1/4) x)
0.2b
(*.f64 y (pow.f64 z 1/4))

series474.0ms (7.7%)

Counts
2 → 40
Calls

2 calls:

242.0ms
(*.f64 y (pow.f64 z 1/4))
232.0ms
(fma.f64 (*.f64 y (pow.f64 z 1/4)) (pow.f64 z 1/4) x)

rewrite86.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
684×log1p-expm1-u_binary64
684×expm1-log1p-u_binary64
143×expm1-udef_binary64
143×log1p-udef_binary64
130×log-pow_binary64
Counts
2 → 41
Calls

2 calls:

84.0ms
(fma.f64 (*.f64 y (pow.f64 z 1/4)) (pow.f64 z 1/4) x)
84.0ms
(*.f64 y (pow.f64 z 1/4))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
116616
2180314
3492514
4489714
000
100

simplify111.0ms (1.8%)

Algorithm
egg-herbie
Rules
818×div-sub_binary64
613×fma-neg_binary64
543×fma-def_binary64
538×log-prod_binary64
465×associate-*l*_binary64
Counts
81 → 47
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
021307
139307
271287
3204259
4561259
51689259
62917259
74433259
84842259
94997259
104771259

prune33.0ms (0.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New47047
Fresh055
Picked011
Done011
Total47754
Error
0.0b
Counts
54 → 7
Alt Table
StatusErrorProgram
0.1b
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
0.4b
(*.f64 (/.f64 1 2) (fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x))
0.7b
(*.f64 (/.f64 1 2) (fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (sqrt.f64 z)) x))
32.9b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (/.f64 (neg.f64 (sqrt.f64 z)) (/.f64 -1 y))) 2)))
0.2b
(*.f64 (/.f64 1 2) (fma.f64 (*.f64 y (pow.f64 z 1/4)) (pow.f64 z 1/4) x))
34.7b
(*.f64 (/.f64 1 2) (*.f64 (-.f64 (*.f64 x x) (*.f64 z (*.f64 y y))) (/.f64 1 (-.f64 x (*.f64 y (sqrt.f64 z))))))
29.2b
(*.f64 (/.f64 1 2) (+.f64 x (pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 2)))
Compiler

Compiled 930 to 608 computations (34.6% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
0.3b
(*.f64 y (cbrt.f64 z))
0.5b
(cbrt.f64 z)
0.6b
(cbrt.f64 (sqrt.f64 z))

series516.0ms (8.4%)

Counts
4 → 76
Calls

4 calls:

245.0ms
(*.f64 y (cbrt.f64 z))
219.0ms
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
28.0ms
(cbrt.f64 z)
24.0ms
(cbrt.f64 (sqrt.f64 z))

rewrite91.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
701×log1p-expm1-u_binary64
701×expm1-log1p-u_binary64
145×expm1-udef_binary64
145×log1p-udef_binary64
87×egg-rr
Counts
4 → 87
Calls

4 calls:

89.0ms
(fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x)
89.0ms
(*.f64 y (cbrt.f64 z))
89.0ms
(cbrt.f64 z)
89.0ms
(cbrt.f64 (sqrt.f64 z))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0928
117022
2186120
3497720
4494820
000
100

simplify165.0ms (2.7%)

Algorithm
egg-herbie
Rules
862×sqr-pow_binary64
634×associate-*l*_binary64
556×cube-prod_binary64
514×fabs-mul_binary64
501×*-commutative_binary64
Counts
163 → 97
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020471
141471
274471
3144471
4353471
51058471
61435471
71547471
81727471
91951471
102203471
112529471
122866471
133351471
144065471
154329471
164572471
174751471
184750471

prune74.0ms (1.2%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New97097
Fresh044
Picked011
Done022
Total977104
Error
0.0b
Counts
104 → 7
Alt Table
StatusErrorProgram
0.1b
(*.f64 (/.f64 1 2) (+.f64 x (*.f64 y (sqrt.f64 z))))
0.4b
(*.f64 (/.f64 1 2) (fma.f64 (*.f64 y (cbrt.f64 z)) (cbrt.f64 (sqrt.f64 z)) x))
0.7b
(*.f64 (/.f64 1 2) (fma.f64 (pow.f64 (cbrt.f64 y) 2) (*.f64 (cbrt.f64 y) (sqrt.f64 z)) x))
32.9b
(*.f64 (/.f64 1 2) (*.f64 (cbrt.f64 (fma.f64 y (sqrt.f64 z) x)) (pow.f64 (cbrt.f64 (/.f64 (neg.f64 (sqrt.f64 z)) (/.f64 -1 y))) 2)))
0.2b
(*.f64 (/.f64 1 2) (fma.f64 (*.f64 y (pow.f64 z 1/4)) (pow.f64 z 1/4) x))
34.7b
(*.f64 (/.f64 1 2) (*.f64 (-.f64 (*.f64 x x) (*.f64 z (*.f64 y y))) (/.f64 1 (-.f64 x (*.f64 y (sqrt.f64 z))))))
29.2b
(*.f64 (/.f64 1 2) (+.f64 x (pow.f64 (sqrt.f64 (*.f64 y (sqrt.f64 z))) 2)))
Compiler

Compiled 1640 to 920 computations (43.9% saved)

regimes375.0ms (6.1%)

Accuracy

Total 0.1b remaining (80.6%)

Threshold costs 0.1b (80.6%)

Counts
45 → 1
Compiler

Compiled 6157 to 4336 computations (29.6% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
1910
2910

end110.0ms (1.8%)

Compiler

Compiled 149 to 110 computations (26.2% saved)

Profiling

Loading profile data...