Details

Time bar (total: 7.6s)

analyze1.6s (21.4%)

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
12.1%87.7%0.2%13
21.4%78.3%0.4%14
Compiler

Compiled 19 to 12 computations (36.8% saved)

sample1.8s (23.4%)

Results
1.0s6913×body128valid
198.0ms500×body512valid
169.0ms1272×body128invalid
159.0ms405×body1024valid
81.0ms372×body256valid
40.0ms66×body2048valid
Compiler

Compiled 56 to 35 computations (37.5% saved)

simplify82.0ms (1.1%)

Algorithm
egg-herbie
Rules
930×fma-def_binary64
859×div-sub_binary64
817×unsub-neg_binary64
555×neg-mul-1_binary64
380×sub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01219
12417
25217
315517
447717
5126817
6321317
7415417
8443417
9496517
10495117

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 100 to 54 computations (46% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 t x) (-.f64 a z))
3.4b
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
5.5b
(*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))

series170.0ms (2.3%)

Counts
3 → 168
Calls

3 calls:

85.0ms
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
60.0ms
(*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))
24.0ms
(/.f64 (-.f64 t x) (-.f64 a z))

rewrite89.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
284×expm1-udef_binary64
284×log1p-udef_binary64
154×add-sqr-sqrt_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
Counts
3 → 116
Calls

3 calls:

83.0ms
(/.f64 (-.f64 t x) (-.f64 a z))
83.0ms
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
83.0ms
(*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01245
128743
2440143
3527043
000
100

simplify175.0ms (2.3%)

Algorithm
egg-herbie
Rules
685×sub-neg_binary64
594×associate-+r+_binary64
460×associate-+l+_binary64
404×+-commutative_binary64
311×fma-neg_binary64
Counts
284 → 225
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03628872
111588872
244588158
354408158

prune187.0ms (2.5%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New21510225
Fresh011
Picked101
Done000
Total21611227
Error
0.3b
Counts
227 → 11
Alt Table
StatusErrorProgram
34.4b
(+.f64 x (*.f64 (-.f64 y z) (*.f64 (/.f64 (-.f64 t x) (-.f64 (*.f64 a a) (*.f64 z z))) (+.f64 z a))))
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
42.0b
(+.f64 x (*.f64 (-.f64 y z) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (sqrt.f64 (-.f64 a z))) (/.f64 (cbrt.f64 (-.f64 t x)) (sqrt.f64 (-.f64 a z))))))
14.5b
(fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)
14.6b
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
28.7b
(*.f64 t (/.f64 (-.f64 y z) (-.f64 a z)))
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a (*.f64 y t)) (pow.f64 z 2))))))
Compiler

Compiled 8383 to 2717 computations (67.6% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series71.0ms (0.9%)

Counts
1 → 60
Calls

1 calls:

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

rewrite64.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
1 → 24
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01117
125717
2377617
3534017
000
100

simplify80.0ms (1.1%)

Algorithm
egg-herbie
Rules
987×times-frac_binary64
353×cancel-sign-sub-inv_binary64
328×sub-neg_binary64
320×associate-+r+_binary64
233×distribute-neg-in_binary64
Counts
84 → 74
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02123549
16753549
226923513
350093513

prune118.0ms (1.6%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1282130
Fresh2810
Picked101
Done000
Total13110141
Error
0.3b
Counts
141 → 10
Alt Table
StatusErrorProgram
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
14.6b
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
42.0b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 t x)) 2) (sqrt.f64 (-.f64 a z))) (/.f64 (cbrt.f64 (-.f64 t x)) (sqrt.f64 (-.f64 a z)))) x)
34.4b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (-.f64 t x) (-.f64 (*.f64 a a) (*.f64 z z))) (+.f64 z a)) x)
28.7b
(*.f64 t (/.f64 (-.f64 y z) (-.f64 a z)))
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a (*.f64 y t)) (pow.f64 z 2))))))
Compiler

Compiled 4663 to 1572 computations (66.3% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 a z) (-.f64 t x))
3.4b
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
5.6b
(/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x)))

series220.0ms (2.9%)

Counts
3 → 168
Calls

3 calls:

108.0ms
(/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x)))
86.0ms
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
26.0ms
(/.f64 (-.f64 a z) (-.f64 t x))

rewrite92.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
294×log1p-udef_binary64
160×add-sqr-sqrt_binary64
155×log1p-expm1-u_binary64
155×expm1-log1p-u_binary64
149×add-log-exp_binary64
Counts
3 → 124
Calls

3 calls:

81.0ms
(/.f64 (-.f64 a z) (-.f64 t x))
81.0ms
(+.f64 x (/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x))))
81.0ms
(/.f64 (-.f64 y z) (/.f64 (-.f64 a z) (-.f64 t x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01245
129643
2476743
3526543
000
100

simplify178.0ms (2.4%)

Algorithm
egg-herbie
Rules
595×associate-+r+_binary64
461×associate-+l+_binary64
408×+-commutative_binary64
333×fma-neg_binary64
293×associate--l+_binary64
Counts
292 → 233
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03798872
112008755
246398149
349878149

prune191.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2303233
Fresh279
Picked101
Done000
Total23310243
Error
0.3b
Counts
243 → 10
Alt Table
StatusErrorProgram
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
10.7b
(fma.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x) x)
11.6b
(-.f64 (/.f64 y (/.f64 (-.f64 a z) (-.f64 t x))) (-.f64 (/.f64 z (/.f64 (-.f64 a z) (-.f64 t x))) x))
34.4b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (-.f64 t x) (-.f64 (*.f64 a a) (*.f64 z z))) (+.f64 z a)) x)
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
14.5b
(*.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x) 1)
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a (*.f64 y t)) (pow.f64 z 2))))))
Compiler

Compiled 8487 to 2701 computations (68.2% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series77.0ms (1%)

Counts
2 → 96
Calls

2 calls:

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

rewrite67.0ms (0.9%)

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

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
125727
2378027
3534727
000
100

simplify112.0ms (1.5%)

Algorithm
egg-herbie
Rules
574×cancel-sign-sub-inv_binary64
500×sub-neg_binary64
341×associate-+r+_binary64
297×+-commutative_binary64
288×distribute-neg-in_binary64
Counts
172 → 160
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02984642
18354633
233854573
352054573

prune134.0ms (1.8%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1591160
Fresh189
Picked011
Done000
Total16010170
Error
0.3b
Counts
170 → 10
Alt Table
StatusErrorProgram
34.3b
(expm1.f64 (log1p.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
42.2b
(*.f64 y (-.f64 (/.f64 t (-.f64 a z)) (/.f64 x (-.f64 a z))))
26.9b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
36.5b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
10.7b
(fma.f64 (/.f64 (-.f64 y z) (-.f64 a z)) (-.f64 t x) x)
38.5b
(-.f64 (+.f64 (/.f64 (*.f64 y x) z) (+.f64 t (/.f64 (*.f64 a t) z))) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a x) z)))
11.1b
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 y z) (-.f64 a z))) 3) (-.f64 t x) x)
14.5b
(*.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x) 1)
11.6b
(-.f64 (/.f64 y (/.f64 (-.f64 a z) (-.f64 t x))) (-.f64 (/.f64 z (/.f64 (-.f64 a z) (-.f64 t x))) x))
40.7b
(-.f64 (+.f64 t (+.f64 (/.f64 (*.f64 (pow.f64 a 2) t) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y (*.f64 a x)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 y x) z) (/.f64 (*.f64 a t) z))))) (+.f64 (/.f64 (*.f64 (pow.f64 a 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 a x) z) (+.f64 (/.f64 (*.f64 y t) z) (/.f64 (*.f64 a (*.f64 y t)) (pow.f64 z 2))))))
Compiler

Compiled 5227 to 1687 computations (67.7% saved)

regimes1.8s (23.4%)

Accuracy

Total 5.2b remaining (83.5%)

Threshold costs 0b (0%)

Counts
103 → 3
Compiler

Compiled 12660 to 7626 computations (39.8% saved)

bsearch3.0ms (0%)

Compiler

Compiled 18 to 11 computations (38.9% saved)

simplify31.0ms (0.4%)

Algorithm
egg-herbie
Rules
106×distribute-rgt-neg-in_binary64
103×cancel-sign-sub-inv_binary64
73×neg-sub0_binary64
73×neg-mul-1_binary64
72×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038133
157133
279133
3107133
4146133
5176133
6211133
7245133
8279133
9325133
10370133
11417133
12445133
13478133
14511133
15538133
16556133
17570133
18589133
19609133
20620133
21622133
22618133

end223.0ms (2.9%)

Compiler

Compiled 447 to 222 computations (50.3% saved)

Profiling

Loading profile data...