Details

Time bar (total: 6.7s)

analyze797.0ms (11.8%)

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
1.6%98.2%0.2%8
19.1%80.7%0.2%9
22%77.8%0.2%10
34.5%65.3%0.2%11
44.2%55.7%0.2%12
53.3%45.5%1.2%13
55.8%42.7%1.5%14
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.5s (21.9%)

Results
1.4s8256×body128valid
79.0ms663×body128invalid
Compiler

Compiled 41 to 26 computations (36.6% saved)

simplify20.0ms (0.3%)

Algorithm
egg-herbie
Rules
609×times-frac_binary64
569×div-sub_binary64
535×fma-def_binary64
336×fma-neg_binary64
186×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11813
23013
36813
416713
532413
671213
7210013
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0%)

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
8.7b
(*.f64 (-.f64 y x) (/.f64 t (-.f64 y z)))
1.7b
(*.f64 (/.f64 (-.f64 x y) (-.f64 z y)) t)
Compiler

Compiled 74 to 44 computations (40.5% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series48.0ms (0.7%)

Counts
2 → 84
Calls

2 calls:

30.0ms
(*.f64 (/.f64 (-.f64 x y) (-.f64 z y)) t)
16.0ms
(/.f64 (-.f64 x y) (-.f64 z y))

rewrite113.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
952×prod-diff_binary64
258×egg-rr
111×add-sqr-sqrt_binary64
106×log1p-expm1-u_binary64
106×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
120823
2321423
Stop Event
node limit
Counts
2 → 258
Calls

2 calls:

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

simplify55.0ms (0.8%)

Algorithm
egg-herbie
Rules
786×fma-def_binary64
665×times-frac_binary64
419×cancel-sign-sub-inv_binary64
327×sub-neg_binary64
161×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01502783
14692777
217992157
Stop Event
node limit
Counts
342 → 328

prune255.0ms (3.8%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New3235328
Fresh011
Picked101
Done000
Total3246330
Error
0b
Counts
330 → 6
Alt Table
StatusErrorProgram
8.7b
(*.f64 (-.f64 y x) (/.f64 t (-.f64 y z)))
1.8b
(*.f64 (+.f64 (fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1))) (fma.f64 (neg.f64 (/.f64 y (-.f64 z y))) 1 (*.f64 (/.f64 y (-.f64 z y)) 1))) t)
2.1b
(/.f64 t (/.f64 (-.f64 z y) (-.f64 x y)))
2.2b
(*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 z y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 z y)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 z y))) y (*.f64 (/.f64 1 (-.f64 z y)) y))) t)
13.3b
(-.f64 (/.f64 (*.f64 t x) (-.f64 z y)) (/.f64 (*.f64 y t) (-.f64 z y)))
40.5b
(/.f64 (/.f64 (*.f64 (-.f64 x y) t) (sqrt.f64 (-.f64 z y))) (sqrt.f64 (-.f64 z y)))
Compiler

Compiled 14578 to 4215 computations (71.1% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 y (-.f64 z y))
0.0b
(/.f64 1 (-.f64 z y))
0.1b
(fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1)))
1.7b
(*.f64 (+.f64 (fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1))) (fma.f64 (neg.f64 (/.f64 y (-.f64 z y))) 1 (*.f64 (/.f64 y (-.f64 z y)) 1))) t)

series102.0ms (1.5%)

Counts
4 → 132
Calls

4 calls:

63.0ms
(*.f64 (+.f64 (fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1))) (fma.f64 (neg.f64 (/.f64 y (-.f64 z y))) 1 (*.f64 (/.f64 y (-.f64 z y)) 1))) t)
25.0ms
(fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1)))
7.0ms
(/.f64 y (-.f64 z y))
6.0ms
(/.f64 1 (-.f64 z y))

rewrite69.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
258×expm1-udef_binary64
258×log1p-udef_binary64
156×add-sqr-sqrt_binary64
147×add-cbrt-cube_binary64
147×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01675
135561
2439161
Stop Event
node limit
Counts
4 → 131
Calls

4 calls:

66.0ms
(/.f64 y (-.f64 z y))
66.0ms
(/.f64 1 (-.f64 z y))
66.0ms
(fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1)))
66.0ms
(*.f64 (+.f64 (fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1))) (fma.f64 (neg.f64 (/.f64 y (-.f64 z y))) 1 (*.f64 (/.f64 y (-.f64 z y)) 1))) t)

simplify64.0ms (1%)

Algorithm
egg-herbie
Rules
878×fma-def_binary64
680×times-frac_binary64
429×cancel-sign-sub-inv_binary64
343×sub-neg_binary64
177×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01773695
15393659
220703336
Stop Event
node limit
Counts
263 → 232

prune313.0ms (4.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New3740374
Fresh055
Picked011
Done000
Total3746380
Error
0b
Counts
380 → 6
Alt Table
StatusErrorProgram
8.7b
(*.f64 (-.f64 y x) (/.f64 t (-.f64 y z)))
1.8b
(*.f64 (+.f64 (fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1))) (fma.f64 (neg.f64 (/.f64 y (-.f64 z y))) 1 (*.f64 (/.f64 y (-.f64 z y)) 1))) t)
2.1b
(/.f64 t (/.f64 (-.f64 z y) (-.f64 x y)))
2.2b
(*.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 z y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 z y)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 z y))) y (*.f64 (/.f64 1 (-.f64 z y)) y))) t)
13.3b
(-.f64 (/.f64 (*.f64 t x) (-.f64 z y)) (/.f64 (*.f64 y t) (-.f64 z y)))
40.5b
(/.f64 (/.f64 (*.f64 (-.f64 x y) t) (sqrt.f64 (-.f64 z y))) (sqrt.f64 (-.f64 z y)))
Compiler

Compiled 14303 to 5580 computations (61% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 z y) (-.f64 x y))
2.1b
(/.f64 t (/.f64 (-.f64 z y) (-.f64 x y)))

series45.0ms (0.7%)

Counts
2 → 84
Calls

2 calls:

28.0ms
(/.f64 t (/.f64 (-.f64 z y) (-.f64 x y)))
17.0ms
(/.f64 (-.f64 z y) (-.f64 x y))

rewrite115.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
979×prod-diff_binary64
278×egg-rr
115×add-sqr-sqrt_binary64
110×log1p-expm1-u_binary64
110×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
121423
2347023
Stop Event
node limit
Counts
2 → 278
Calls

2 calls:

102.0ms
(/.f64 (-.f64 z y) (-.f64 x y))
102.0ms
(/.f64 t (/.f64 (-.f64 z y) (-.f64 x y)))

simplify56.0ms (0.8%)

Algorithm
egg-herbie
Rules
826×times-frac_binary64
776×fma-def_binary64
447×cancel-sign-sub-inv_binary64
341×sub-neg_binary64
141×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01632603
15112498
219412262
Stop Event
node limit
Counts
362 → 348

prune271.0ms (4%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New3453348
Fresh314
Picked011
Done011
Total3486354
Error
0b
Counts
354 → 6
Alt Table
StatusErrorProgram
2.1b
(/.f64 t (/.f64 (-.f64 z y) (-.f64 x y)))
2.2b
(/.f64 t (+.f64 (fma.f64 z (/.f64 1 (-.f64 x y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x y)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x y))) y (*.f64 (/.f64 1 (-.f64 x y)) y))))
8.7b
(+.f64 (*.f64 x (/.f64 t (-.f64 z y))) (*.f64 (neg.f64 y) (/.f64 t (-.f64 z y))))
1.8b
(*.f64 (+.f64 (fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1))) (fma.f64 (neg.f64 (/.f64 y (-.f64 z y))) 1 (*.f64 (/.f64 y (-.f64 z y)) 1))) t)
31.2b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 x y) (/.f64 t (-.f64 z y)))) 2)
13.3b
(-.f64 (/.f64 (*.f64 t x) (-.f64 z y)) (/.f64 (*.f64 y t) (-.f64 z y)))
Compiler

Compiled 14964 to 4059 computations (72.9% saved)

localize17.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 z (/.f64 1 (-.f64 x y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x y)) y)))
0.2b
(*.f64 (/.f64 1 (-.f64 x y)) y)
2.1b
(/.f64 t (+.f64 (fma.f64 z (/.f64 1 (-.f64 x y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x y)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x y))) y (*.f64 (/.f64 1 (-.f64 x y)) y))))
55.0b
(fma.f64 (neg.f64 (/.f64 1 (-.f64 x y))) y (*.f64 (/.f64 1 (-.f64 x y)) y))

series373.0ms (5.5%)

Counts
4 → 132
Calls

4 calls:

249.0ms
(fma.f64 (neg.f64 (/.f64 1 (-.f64 x y))) y (*.f64 (/.f64 1 (-.f64 x y)) y))
96.0ms
(/.f64 t (+.f64 (fma.f64 z (/.f64 1 (-.f64 x y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x y)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x y))) y (*.f64 (/.f64 1 (-.f64 x y)) y))))
21.0ms
(fma.f64 z (/.f64 1 (-.f64 x y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x y)) y)))
7.0ms
(*.f64 (/.f64 1 (-.f64 x y)) y)

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
266×log1p-udef_binary64
166×add-sqr-sqrt_binary64
156×add-cbrt-cube_binary64
156×log1p-expm1-u_binary64
156×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01584
133164
2472164
Stop Event
node limit
Counts
4 → 118
Calls

4 calls:

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

simplify60.0ms (0.9%)

Algorithm
egg-herbie
Rules
823×times-frac_binary64
563×associate-/l*_binary64
430×associate-/r*_binary64
193×associate-*l*_binary64
142×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03655035
113524899
Stop Event
node limit
Counts
250 → 220

prune277.0ms (4.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2650265
Fresh033
Picked011
Done022
Total2656271
Error
0b
Counts
271 → 6
Alt Table
StatusErrorProgram
2.1b
(/.f64 t (/.f64 (-.f64 z y) (-.f64 x y)))
2.2b
(/.f64 t (+.f64 (fma.f64 z (/.f64 1 (-.f64 x y)) (neg.f64 (*.f64 (/.f64 1 (-.f64 x y)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 x y))) y (*.f64 (/.f64 1 (-.f64 x y)) y))))
8.7b
(+.f64 (*.f64 x (/.f64 t (-.f64 z y))) (*.f64 (neg.f64 y) (/.f64 t (-.f64 z y))))
1.8b
(*.f64 (+.f64 (fma.f64 x (/.f64 1 (-.f64 z y)) (neg.f64 (*.f64 (/.f64 y (-.f64 z y)) 1))) (fma.f64 (neg.f64 (/.f64 y (-.f64 z y))) 1 (*.f64 (/.f64 y (-.f64 z y)) 1))) t)
31.2b
(pow.f64 (sqrt.f64 (*.f64 (-.f64 x y) (/.f64 t (-.f64 z y)))) 2)
13.3b
(-.f64 (/.f64 (*.f64 t x) (-.f64 z y)) (/.f64 (*.f64 y t) (-.f64 z y)))
Compiler

Compiled 11456 to 5078 computations (55.7% saved)

regimes2.0s (29.9%)

Accuracy

Total 1.3b remaining (98.9%)

Threshold costs 0b (0%)

Counts
249 → 3
Compiler

Compiled 34857 to 20158 computations (42.2% saved)

bsearch8.0ms (0.1%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02786
14384
25884
37084
47784
58084
68184
Stop Event
saturated

end90.0ms (1.3%)

Compiler

Compiled 264 to 123 computations (53.4% saved)

Profiling

Loading profile data...