Details

Time bar (total: 9.3s)

analyze1.4s (14.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
0%99.8%0.2%8
0%99.8%0.2%9
1.8%98%0.2%10
7.7%92.1%0.2%11
10.4%89.4%0.2%12
14.9%84.9%0.2%13
16.1%83.6%0.3%14
Compiler

Compiled 19 to 12 computations (36.8% saved)

sample1.5s (16.2%)

Results
866.0ms6861×body128valid
152.0ms411×body1024valid
151.0ms516×body512valid
149.0ms1225×body128invalid
84.0ms404×body256valid
27.0ms64×body2048valid
Compiler

Compiled 56 to 35 computations (37.5% saved)

simplify85.0ms (0.9%)

Algorithm
egg-herbie
Rules
825×unsub-neg_binary64
766×fma-def_binary64
693×div-sub_binary64
637×sub-neg_binary64
587×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01219
12119
25217
314417
442117
5109017
6264217
7386517
8436417
9493617
10494117

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
12.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.0b
(fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)
26.8b
(+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t)))
Compiler

Compiled 100 to 55 computations (45% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 z t) (-.f64 a t))
2.6b
(fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)

series82.0ms (0.9%)

Counts
2 → 96
Calls

2 calls:

59.0ms
(fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)
23.0ms
(/.f64 (-.f64 z t) (-.f64 a t))

rewrite75.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
514×fma-def_binary64
264×fma-neg_binary64
254×expm1-udef_binary64
254×log1p-udef_binary64
138×add-sqr-sqrt_binary64
Counts
2 → 74
Calls

2 calls:

73.0ms
(/.f64 (-.f64 z t) (-.f64 a t))
73.0ms
(fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
125727
2377527
3534027
000
100

simplify96.0ms (1%)

Algorithm
egg-herbie
Rules
603×cancel-sign-sub-inv_binary64
479×sub-neg_binary64
364×associate-+r+_binary64
314×distribute-neg-in_binary64
285×+-commutative_binary64
Counts
170 → 158
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02824633
18284621
233664561
352004561

prune142.0ms (1.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New14711158
Fresh011
Picked101
Done000
Total14812160
Error
1.3b
Counts
160 → 12
Alt Table
StatusErrorProgram
13.6b
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))) x)
32.5b
(*.f64 (-.f64 (/.f64 z (-.f64 a t)) (/.f64 t (-.f64 a t))) y)
26.8b
(+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t)))
41.2b
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)) 2)
13.1b
(fma.f64 (-.f64 y x) (pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -1) x)
38.1b
(-.f64 (+.f64 (/.f64 (*.f64 a (*.f64 z x)) (pow.f64 t 2)) (+.f64 y (+.f64 (/.f64 (*.f64 a y) t) (/.f64 (*.f64 z x) t)))) (+.f64 (/.f64 (*.f64 a x) t) (+.f64 (/.f64 (*.f64 y z) t) (/.f64 (*.f64 a (*.f64 y z)) (pow.f64 t 2)))))
38.2b
(fma.f64 (-.f64 y x) (*.f64 (/.f64 (sqrt.f64 (-.f64 z t)) (pow.f64 (cbrt.f64 (-.f64 a t)) 2)) (/.f64 (sqrt.f64 (-.f64 z t)) (cbrt.f64 (-.f64 a t)))) x)
37.4b
(fma.f64 (-.f64 y x) (*.f64 (/.f64 1 (sqrt.f64 (-.f64 a t))) (/.f64 (-.f64 z t) (sqrt.f64 (-.f64 a t)))) x)
13.7b
(fma.f64 (-.f64 y x) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 a t)) 2)) (/.f64 (-.f64 z t) (cbrt.f64 (-.f64 a t)))) x)
38.2b
(fma.f64 (-.f64 y x) (-.f64 (+.f64 (+.f64 (/.f64 (*.f64 t z) (*.f64 a a)) (/.f64 (*.f64 t (*.f64 t z)) (pow.f64 a 3))) (-.f64 (/.f64 (-.f64 z t) a) (*.f64 (/.f64 t a) (/.f64 t a)))) (pow.f64 (/.f64 t a) 3)) x)
44.4b
(*.f64 (-.f64 (/.f64 y (-.f64 a t)) (/.f64 x (-.f64 a t))) z)
35.3b
(*.f64 (-.f64 (+.f64 1 (/.f64 t (-.f64 a t))) (/.f64 z (-.f64 a t))) x)
Compiler

Compiled 5520 to 1848 computations (66.5% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 a t) (-.f64 z t))
0.3b
(pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -1)
2.6b
(fma.f64 (-.f64 y x) (pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -1) x)

series317.0ms (3.4%)

Counts
3 → 132
Calls

3 calls:

229.0ms
(fma.f64 (-.f64 y x) (pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -1) x)
67.0ms
(pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -1)
20.0ms
(/.f64 (-.f64 a t) (-.f64 z t))

rewrite85.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
281×expm1-udef_binary64
281×log1p-udef_binary64
157×add-sqr-sqrt_binary64
151×log1p-expm1-u_binary64
151×expm1-log1p-u_binary64
Counts
3 → 108
Calls

3 calls:

83.0ms
(/.f64 (-.f64 a t) (-.f64 z t))
83.0ms
(pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -1)
83.0ms
(fma.f64 (-.f64 y x) (pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -1) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01343
129937
2414637
3495037
000
100

simplify204.0ms (2.2%)

Algorithm
egg-herbie
Rules
932×associate-/l*_binary64
696×associate-/r*_binary64
315×+-commutative_binary64
281×fma-def_binary64
257×associate-+r+_binary64
Counts
240 → 251
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
074910421
1254810230
2570110230

prune305.0ms (3.3%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2483251
Fresh2911
Picked101
Done000
Total25112263
Error
1.3b
Counts
263 → 12
Alt Table
StatusErrorProgram
13.6b
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))) x)
32.5b
(*.f64 (-.f64 (/.f64 z (-.f64 a t)) (/.f64 t (-.f64 a t))) y)
26.8b
(+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t)))
41.2b
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)) 2)
13.0b
(fma.f64 (-.f64 y x) (pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1) x)
13.7b
(fma.f64 (-.f64 y x) (pow.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 a t)) 2) 1) (/.f64 (cbrt.f64 (-.f64 a t)) (-.f64 z t))) -1) x)
38.1b
(-.f64 (+.f64 (/.f64 (*.f64 a (*.f64 z x)) (pow.f64 t 2)) (+.f64 y (+.f64 (/.f64 (*.f64 a y) t) (/.f64 (*.f64 z x) t)))) (+.f64 (/.f64 (*.f64 a x) t) (+.f64 (/.f64 (*.f64 y z) t) (/.f64 (*.f64 a (*.f64 y z)) (pow.f64 t 2)))))
13.7b
(fma.f64 (-.f64 y x) (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 a t)) 2)) (/.f64 (-.f64 z t) (cbrt.f64 (-.f64 a t)))) x)
38.2b
(fma.f64 (-.f64 y x) (-.f64 (+.f64 (+.f64 (/.f64 (*.f64 t z) (*.f64 a a)) (/.f64 (*.f64 t (*.f64 t z)) (pow.f64 a 3))) (-.f64 (/.f64 (-.f64 z t) a) (*.f64 (/.f64 t a) (/.f64 t a)))) (pow.f64 (/.f64 t a) 3)) x)
27.5b
(fma.f64 (-.f64 y x) (sqrt.f64 (pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -2)) x)
44.4b
(*.f64 (-.f64 (/.f64 y (-.f64 a t)) (/.f64 x (-.f64 a t))) z)
35.3b
(*.f64 (-.f64 (+.f64 1 (/.f64 t (-.f64 a t))) (/.f64 z (-.f64 a t))) x)
Compiler

Compiled 13056 to 5436 computations (58.4% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 z t) (-.f64 a t))
0.2b
(pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1)
0.3b
(pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1)
2.6b
(fma.f64 (-.f64 y x) (pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1) x)

series1.5s (16.3%)

Counts
3 → 132
Calls

3 calls:

1.1s
(fma.f64 (-.f64 y x) (pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1) x)
383.0ms
(pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1)
69.0ms
(pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1)

rewrite92.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
281×expm1-udef_binary64
281×log1p-udef_binary64
156×add-sqr-sqrt_binary64
154×log1p-expm1-u_binary64
154×expm1-log1p-u_binary64
Counts
3 → 127
Calls

3 calls:

90.0ms
(pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1)
90.0ms
(pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1)
90.0ms
(fma.f64 (-.f64 y x) (pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01440
130537
2419037
3499137
000
100

simplify226.0ms (2.4%)

Algorithm
egg-herbie
Rules
610×associate-+r+_binary64
376×associate-/l*_binary64
294×fma-def_binary64
268×associate-/r*_binary64
248×times-frac_binary64
Counts
259 → 276
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0175022554
1589722554

prune639.0ms (6.9%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New3571358
Fresh11011
Picked011
Done000
Total35812370
Error
1.3b
Counts
370 → 12
Alt Table
StatusErrorProgram
35.3b
(*.f64 (-.f64 (+.f64 1 (/.f64 t (-.f64 a t))) (/.f64 z (-.f64 a t))) x)
31.7b
(fma.f64 (-.f64 y x) (*.f64 (/.f64 (-.f64 z t) (-.f64 (*.f64 a a) (*.f64 t t))) (+.f64 t a)) x)
13.6b
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))) x)
32.5b
(*.f64 (-.f64 (/.f64 z (-.f64 a t)) (/.f64 t (-.f64 a t))) y)
26.8b
(+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t)))
41.2b
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)) 2)
13.0b
(fma.f64 (-.f64 y x) (pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1) x)
13.7b
(fma.f64 (-.f64 y x) (pow.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 a t)) 2) 1) (/.f64 (cbrt.f64 (-.f64 a t)) (-.f64 z t))) -1) x)
38.1b
(-.f64 (+.f64 (/.f64 (*.f64 a (*.f64 z x)) (pow.f64 t 2)) (+.f64 y (+.f64 (/.f64 (*.f64 a y) t) (/.f64 (*.f64 z x) t)))) (+.f64 (/.f64 (*.f64 a x) t) (+.f64 (/.f64 (*.f64 y z) t) (/.f64 (*.f64 a (*.f64 y z)) (pow.f64 t 2)))))
38.2b
(fma.f64 (-.f64 y x) (-.f64 (+.f64 (+.f64 (/.f64 (*.f64 t z) (*.f64 a a)) (/.f64 (*.f64 t (*.f64 t z)) (pow.f64 a 3))) (-.f64 (/.f64 (-.f64 z t) a) (*.f64 (/.f64 t a) (/.f64 t a)))) (pow.f64 (/.f64 t a) 3)) x)
27.5b
(fma.f64 (-.f64 y x) (sqrt.f64 (pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -2)) x)
44.4b
(*.f64 (-.f64 (/.f64 y (-.f64 a t)) (/.f64 x (-.f64 a t))) z)
Compiler

Compiled 32551 to 16496 computations (49.3% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))
0.5b
(pow.f64 (cbrt.f64 (-.f64 z t)) 2)
0.5b
(cbrt.f64 (-.f64 z t))
8.7b
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))) x)

series225.0ms (2.4%)

Counts
4 → 144
Calls

4 calls:

71.0ms
(*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))
70.0ms
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))) x)
55.0ms
(pow.f64 (cbrt.f64 (-.f64 z t)) 2)
29.0ms
(cbrt.f64 (-.f64 z t))

rewrite79.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
322×log1p-udef_binary64
184×add-sqr-sqrt_binary64
177×log1p-expm1-u_binary64
177×expm1-log1p-u_binary64
171×add-cbrt-cube_binary64
Counts
4 → 94
Calls

4 calls:

77.0ms
(*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))
77.0ms
(pow.f64 (cbrt.f64 (-.f64 z t)) 2)
77.0ms
(cbrt.f64 (-.f64 z t))
77.0ms
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01747
137142
2458242
3503142
000
100

simplify117.0ms (1.3%)

Algorithm
egg-herbie
Rules
409×fma-def_binary64
346×associate-*l*_binary64
296×associate-/l*_binary64
294×times-frac_binary64
187×*-commutative_binary64
Counts
238 → 276
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06127574
119227384
250907384

prune314.0ms (3.4%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New3341335
Fresh1910
Picked011
Done011
Total33512347
Error
1.3b
Counts
347 → 12
Alt Table
StatusErrorProgram
35.3b
(*.f64 (-.f64 (+.f64 1 (/.f64 t (-.f64 a t))) (/.f64 z (-.f64 a t))) x)
14.0b
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (pow.f64 (cbrt.f64 (/.f64 (cbrt.f64 (-.f64 z t)) (-.f64 a t))) 3)) x)
13.6b
(fma.f64 (-.f64 y x) (*.f64 (pow.f64 (cbrt.f64 (-.f64 z t)) 2) (*.f64 (cbrt.f64 (-.f64 z t)) (/.f64 1 (-.f64 a t)))) x)
32.5b
(*.f64 (-.f64 (/.f64 z (-.f64 a t)) (/.f64 t (-.f64 a t))) y)
26.8b
(+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t)))
41.2b
(pow.f64 (sqrt.f64 (fma.f64 (-.f64 y x) (/.f64 (-.f64 z t) (-.f64 a t)) x)) 2)
13.0b
(fma.f64 (-.f64 y x) (pow.f64 (pow.f64 (/.f64 (-.f64 z t) (-.f64 a t)) -1) -1) x)
13.7b
(fma.f64 (-.f64 y x) (pow.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 a t)) 2) 1) (/.f64 (cbrt.f64 (-.f64 a t)) (-.f64 z t))) -1) x)
38.1b
(-.f64 (+.f64 (/.f64 (*.f64 a (*.f64 z x)) (pow.f64 t 2)) (+.f64 y (+.f64 (/.f64 (*.f64 a y) t) (/.f64 (*.f64 z x) t)))) (+.f64 (/.f64 (*.f64 a x) t) (+.f64 (/.f64 (*.f64 y z) t) (/.f64 (*.f64 a (*.f64 y z)) (pow.f64 t 2)))))
38.2b
(fma.f64 (-.f64 y x) (-.f64 (+.f64 (+.f64 (/.f64 (*.f64 t z) (*.f64 a a)) (/.f64 (*.f64 t (*.f64 t z)) (pow.f64 a 3))) (-.f64 (/.f64 (-.f64 z t) a) (*.f64 (/.f64 t a) (/.f64 t a)))) (pow.f64 (/.f64 t a) 3)) x)
27.5b
(fma.f64 (-.f64 y x) (sqrt.f64 (pow.f64 (/.f64 (-.f64 a t) (-.f64 z t)) -2)) x)
44.4b
(*.f64 (-.f64 (/.f64 y (-.f64 a t)) (/.f64 x (-.f64 a t))) z)
Compiler

Compiled 13794 to 6833 computations (50.5% saved)

regimes1.6s (17.3%)

Accuracy

Total 6.4b remaining (84.8%)

Threshold costs 0b (0%)

Counts
136 → 3
Compiler

Compiled 18486 to 11376 computations (38.5% saved)

bsearch5.0ms (0%)

Compiler

Compiled 18 to 11 computations (38.9% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
24×+-commutative_binary64
21×*-commutative_binary64
17×sub-neg_binary64
13×neg-sub0_binary64
13×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046157
168157
282157
3100157
4124157
5148157
6161157
7168157
8170157
9170157

end182.0ms (2%)

Compiler

Compiled 538 to 279 computations (48.1% saved)

Profiling

Loading profile data...