Details

Time bar (total: 6.3s)

analyze1.2s (19.3%)

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
0%99.8%0.2%8
0%99.8%0.2%9
13.2%86.5%0.2%10
17%82.8%0.2%11
18.2%81.5%0.2%12
21.7%78.1%0.2%13
32.9%66.9%0.2%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample1.1s (17.9%)

Results
987.0ms8256×body128valid
78.0ms691×body128invalid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify25.0ms (0.4%)

Algorithm
egg-herbie
Rules
893×fma-neg_binary64
663×div-sub_binary64
241×cancel-sign-sub-inv_binary64
213×distribute-neg-frac_binary64
210×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01116
12616
25316
310016
421016
542216
691316
7261616
Stop Event
node limit
Counts
1 → 2

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
11.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
11.4b
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
Compiler

Compiled 59 to 34 computations (42.4% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (*.f64 y z))
11.0b
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))

series54.0ms (0.9%)

Counts
2 → 69
Calls

2 calls:

47.0ms
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))
6.0ms
(-.f64 x (*.f64 y z))

rewrite65.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
412×fma-def_binary64
244×expm1-udef_binary64
244×log1p-udef_binary64
195×fma-neg_binary64
135×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
125323
2387223
Stop Event
node limit
Counts
2 → 134
Calls

2 calls:

62.0ms
(-.f64 x (*.f64 y z))
62.0ms
(/.f64 (-.f64 x (*.f64 y z)) (-.f64 t (*.f64 a z)))

simplify50.0ms (0.8%)

Algorithm
egg-herbie
Rules
608×associate-/r*_binary64
549×fma-def_binary64
458×cancel-sign-sub-inv_binary64
174×sub-neg_binary64
149×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01182839
14092698
218812491
Stop Event
node limit
Counts
203 → 174

prune143.0ms (2.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New16311174
Fresh000
Picked101
Done000
Total16411175
Error
0.0b
Counts
175 → 11
Alt Table
StatusErrorProgram
11.5b
(pow.f64 (/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x)) -1)
39.8b
(/.f64 (neg.f64 (/.f64 (-.f64 x (*.f64 y z)) z)) a)
36.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 t (*.f64 z a)))) (/.f64 (fma.f64 y (neg.f64 z) x) (sqrt.f64 (-.f64 t (*.f64 z a)))))
11.4b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (/.f64 (*.f64 y z) (-.f64 t (*.f64 a z))))
12.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 t (*.f64 z a))) 2)) (/.f64 (fma.f64 y (neg.f64 z) x) (cbrt.f64 (-.f64 t (*.f64 z a)))))
34.5b
(*.f64 (/.f64 y (-.f64 t (*.f64 z a))) (neg.f64 z))
39.0b
(/.f64 y a)
33.7b
(*.f64 (/.f64 (fma.f64 y (neg.f64 z) x) (-.f64 (*.f64 t t) (pow.f64 (*.f64 z a) 2))) (fma.f64 z a t))
32.7b
(/.f64 (fma.f64 (*.f64 (neg.f64 y) (sqrt.f64 z)) (sqrt.f64 z) x) (-.f64 t (*.f64 a z)))
31.2b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y (neg.f64 z) x) 2)) (*.f64 (cbrt.f64 (fma.f64 y (neg.f64 z) x)) (/.f64 1 (-.f64 t (*.f64 z a)))))
11.9b
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 t (*.f64 z a))) (neg.f64 (/.f64 (*.f64 y z) (-.f64 t (*.f64 z a)))))
Compiler

Compiled 4742 to 1540 computations (67.5% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (/.f64 (*.f64 y z) (-.f64 t (*.f64 a z))))
3.6b
(/.f64 x (-.f64 t (*.f64 a z)))
12.7b
(/.f64 (*.f64 y z) (-.f64 t (*.f64 a z)))

series129.0ms (2%)

Counts
3 → 114
Calls

3 calls:

66.0ms
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (/.f64 (*.f64 y z) (-.f64 t (*.f64 a z))))
32.0ms
(/.f64 (*.f64 y z) (-.f64 t (*.f64 a z)))
30.0ms
(/.f64 x (-.f64 t (*.f64 a z)))

rewrite79.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
270×log1p-udef_binary64
148×add-sqr-sqrt_binary64
144×egg-rr
141×log1p-expm1-u_binary64
141×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01239
127939
2457539
Stop Event
node limit
Counts
3 → 144
Calls

3 calls:

75.0ms
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (/.f64 (*.f64 y z) (-.f64 t (*.f64 a z))))
75.0ms
(/.f64 x (-.f64 t (*.f64 a z)))
75.0ms
(/.f64 (*.f64 y z) (-.f64 t (*.f64 a z)))

simplify84.0ms (1.3%)

Algorithm
egg-herbie
Rules
627×associate-/r*_binary64
618×fma-def_binary64
485×cancel-sign-sub-inv_binary64
199×sub-neg_binary64
169×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01344851
14634575
220594192
Stop Event
node limit
Counts
258 → 221

prune172.0ms (2.7%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2156221
Fresh6410
Picked011
Done000
Total22111232
Error
0b
Counts
232 → 11
Alt Table
StatusErrorProgram
36.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 t (*.f64 z a)))) (/.f64 (fma.f64 y (neg.f64 z) x) (sqrt.f64 (-.f64 t (*.f64 z a)))))
11.4b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (/.f64 (*.f64 y z) (-.f64 t (*.f64 a z))))
36.6b
(/.f64 (-.f64 (*.f64 x (/.f64 (-.f64 t (*.f64 z a)) z)) (*.f64 (-.f64 t (*.f64 z a)) y)) (*.f64 (-.f64 t (*.f64 z a)) (/.f64 (-.f64 t (*.f64 z a)) z)))
12.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 t (*.f64 z a))) 2)) (/.f64 (fma.f64 y (neg.f64 z) x) (cbrt.f64 (-.f64 t (*.f64 z a)))))
35.7b
(/.f64 (-.f64 (*.f64 (-.f64 t (*.f64 z a)) x) (*.f64 (*.f64 y z) (-.f64 t (*.f64 z a)))) (pow.f64 (-.f64 t (*.f64 z a)) 2))
32.9b
(/.f64 (neg.f64 y) (/.f64 (-.f64 t (*.f64 z a)) z))
11.4b
(fma.f64 x (/.f64 1 (-.f64 t (*.f64 z a))) (/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a))))
30.7b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (*.f64 (/.f64 y t) z))
11.5b
(pow.f64 (/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x)) -1)
31.5b
(/.f64 (-.f64 y (/.f64 x z)) a)
11.9b
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 t (*.f64 z a))) (neg.f64 (/.f64 (*.f64 y z) (-.f64 t (*.f64 z a)))))
Compiler

Compiled 6743 to 2031 computations (69.9% saved)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(/.f64 1 (-.f64 t (*.f64 z a)))
0.9b
(fma.f64 x (/.f64 1 (-.f64 t (*.f64 z a))) (/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a))))
12.6b
(/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a)))

series116.0ms (1.9%)

Counts
3 → 144
Calls

3 calls:

68.0ms
(fma.f64 x (/.f64 1 (-.f64 t (*.f64 z a))) (/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a))))
34.0ms
(/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a)))
14.0ms
(/.f64 1 (-.f64 t (*.f64 z a)))

rewrite65.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
925×prod-diff_binary64
151×add-sqr-sqrt_binary64
140×add-cbrt-cube_binary64
140×log1p-expm1-u_binary64
140×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01453
129842
2427042
Stop Event
node limit
Counts
3 → 97
Calls

3 calls:

63.0ms
(/.f64 1 (-.f64 t (*.f64 z a)))
63.0ms
(fma.f64 x (/.f64 1 (-.f64 t (*.f64 z a))) (/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a))))
63.0ms
(/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a)))

simplify83.0ms (1.3%)

Algorithm
egg-herbie
Rules
708×fma-def_binary64
509×cancel-sign-sub-inv_binary64
205×sub-neg_binary64
197×associate-/l/_binary64
183×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01595301
15335065
223074681
Stop Event
node limit
Counts
241 → 175

prune142.0ms (2.3%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1750175
Fresh099
Picked011
Done011
Total17511186
Error
0b
Counts
186 → 11
Alt Table
StatusErrorProgram
36.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 t (*.f64 z a)))) (/.f64 (fma.f64 y (neg.f64 z) x) (sqrt.f64 (-.f64 t (*.f64 z a)))))
11.4b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (/.f64 (*.f64 y z) (-.f64 t (*.f64 a z))))
36.6b
(/.f64 (-.f64 (*.f64 x (/.f64 (-.f64 t (*.f64 z a)) z)) (*.f64 (-.f64 t (*.f64 z a)) y)) (*.f64 (-.f64 t (*.f64 z a)) (/.f64 (-.f64 t (*.f64 z a)) z)))
12.2b
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 t (*.f64 z a))) 2)) (/.f64 (fma.f64 y (neg.f64 z) x) (cbrt.f64 (-.f64 t (*.f64 z a)))))
35.7b
(/.f64 (-.f64 (*.f64 (-.f64 t (*.f64 z a)) x) (*.f64 (*.f64 y z) (-.f64 t (*.f64 z a)))) (pow.f64 (-.f64 t (*.f64 z a)) 2))
32.9b
(/.f64 (neg.f64 y) (/.f64 (-.f64 t (*.f64 z a)) z))
11.4b
(fma.f64 x (/.f64 1 (-.f64 t (*.f64 z a))) (/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a))))
30.7b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (*.f64 (/.f64 y t) z))
11.5b
(pow.f64 (/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x)) -1)
31.5b
(/.f64 (-.f64 y (/.f64 x z)) a)
11.9b
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 t (*.f64 z a))) (neg.f64 (/.f64 (*.f64 y z) (-.f64 t (*.f64 z a)))))
Compiler

Compiled 5431 to 2039 computations (62.5% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x)) -1)
10.9b
(/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x))

series195.0ms (3.1%)

Counts
2 → 120
Calls

2 calls:

143.0ms
(pow.f64 (/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x)) -1)
51.0ms
(/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x))

rewrite137.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
891×prod-diff_binary64
296×egg-rr
146×add-sqr-sqrt_binary64
137×log1p-expm1-u_binary64
137×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01335
128328
2400928
Stop Event
node limit
Counts
2 → 296
Calls

2 calls:

125.0ms
(pow.f64 (/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x)) -1)
125.0ms
(/.f64 (-.f64 t (*.f64 z a)) (fma.f64 y (neg.f64 z) x))

simplify110.0ms (1.8%)

Algorithm
egg-herbie
Rules
654×associate-/l*_binary64
552×associate-/r*_binary64
381×associate-*l*_binary64
190×fma-def_binary64
141×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
043710105
116829761
Stop Event
node limit
Counts
416 → 387

prune336.0ms (5.3%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New3852387
Fresh268
Picked101
Done022
Total38810398
Error
0b
Counts
398 → 10
Alt Table
StatusErrorProgram
36.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 t (*.f64 z a)))) (/.f64 (fma.f64 y (neg.f64 z) x) (sqrt.f64 (-.f64 t (*.f64 z a)))))
11.4b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (/.f64 (*.f64 y z) (-.f64 t (*.f64 a z))))
13.2b
(pow.f64 (-.f64 (/.f64 t (-.f64 x (*.f64 z y))) (*.f64 (/.f64 a (-.f64 x (*.f64 z y))) z)) -1)
31.5b
(/.f64 (-.f64 y (/.f64 x z)) a)
35.7b
(/.f64 (-.f64 (*.f64 (-.f64 t (*.f64 z a)) x) (*.f64 (*.f64 y z) (-.f64 t (*.f64 z a)))) (pow.f64 (-.f64 t (*.f64 z a)) 2))
32.9b
(/.f64 (neg.f64 y) (/.f64 (-.f64 t (*.f64 z a)) z))
11.4b
(fma.f64 x (/.f64 1 (-.f64 t (*.f64 z a))) (/.f64 (*.f64 y (neg.f64 z)) (-.f64 t (*.f64 z a))))
30.7b
(-.f64 (/.f64 x (-.f64 t (*.f64 a z))) (*.f64 (/.f64 y t) z))
32.7b
(pow.f64 (-.f64 (fma.f64 (/.f64 a (*.f64 y y)) (/.f64 x z) (/.f64 a y)) (/.f64 t (*.f64 z y))) -1)
36.6b
(/.f64 (-.f64 (*.f64 x (/.f64 (-.f64 t (*.f64 z a)) z)) (*.f64 (-.f64 t (*.f64 z a)) y)) (*.f64 (-.f64 t (*.f64 z a)) (/.f64 (-.f64 t (*.f64 z a)) z)))
Compiler

Compiled 23956 to 7215 computations (69.9% saved)

regimes1.8s (28.6%)

Accuracy

Total 4.8b remaining (99.7%)

Threshold costs 0b (0%)

Counts
160 → 3
Compiler

Compiled 18458 to 11752 computations (36.3% saved)

bsearch6.0ms (0.1%)

Compiler

Compiled 16 to 10 computations (37.5% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
031109
159109
291109
3108109
4117109
5118109
Stop Event
saturated

end124.0ms (2%)

Compiler

Compiled 390 to 174 computations (55.4% saved)

Profiling

Loading profile data...