Details

Time bar (total: 3.6s)

analyze599.0ms (16.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
25%74.9%0.2%7
25%74.9%0.2%8
34.3%65.5%0.2%9
39%60.8%0.2%10
48.3%51.5%0.2%11
53.7%46.1%0.2%12
63.1%36.7%0.2%13
64%35.6%0.4%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.1s (29.4%)

Symmetry

(sort z t)

Results
872.0ms8256×body128valid
35.0ms368×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify13.0ms (0.3%)

Algorithm
egg-herbie
Rules
100×fma-def_binary64
56×fma-neg_binary64
28×cancel-sign-sub-inv_binary64
18×sub-neg_binary64
13×distribute-rgt-neg-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11410
22410
34110
45510
58510
611910
714810
818410
920210
1021910
1122510
1220210

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
2.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
2.0b
(/.f64 x (-.f64 y (*.f64 z t)))
Compiler

Compiled 33 to 21 computations (36.4% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series41.0ms (1.1%)

Counts
2 → 84
Calls

2 calls:

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

rewrite7.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
12×*-un-lft-identity_binary64
12×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
2 → 51
Calls

2 calls:

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

simplify74.0ms (2%)

Algorithm
egg-herbie
Rules
761×associate-/l*_binary64
527×associate-/r*_binary64
388×fma-def_binary64
188×fma-neg_binary64
173×associate-*l/_binary64
Counts
135 → 110
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01372389
13322275
211592114
348212114
449542114

prune91.0ms (2.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1019110
Fresh000
Picked101
Done000
Total1029111
Error
1.9b
Counts
111 → 9
Alt Table
StatusErrorProgram
2.2b
(*.f64 x (/.f64 1 (-.f64 y (*.f64 z t))))
21.1b
(/.f64 x (/.f64 (*.f64 (-.f64 y (*.f64 t z)) (fma.f64 t z y)) (fma.f64 t z y)))
2.2b
(/.f64 1 (/.f64 (-.f64 y (*.f64 z t)) x))
30.3b
(/.f64 x y)
2.8b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (cbrt.f64 x) (-.f64 y (*.f64 t z))))
32.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (-.f64 y (*.f64 t z))))
30.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 y (*.f64 z t)))) (/.f64 x (sqrt.f64 (-.f64 y (*.f64 z t)))))
26.4b
(/.f64 x (cbrt.f64 (pow.f64 (-.f64 y (*.f64 t z)) 3)))
2.8b
(/.f64 (/.f64 x (*.f64 (cbrt.f64 (-.f64 y (*.f64 z t))) (cbrt.f64 (-.f64 y (*.f64 z t))))) (cbrt.f64 (-.f64 y (*.f64 z t))))
Compiler

Compiled 2002 to 624 computations (68.8% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series55.0ms (1.5%)

Counts
2 → 84
Calls

2 calls:

35.0ms
(*.f64 x (/.f64 1 (-.f64 y (*.f64 z t))))
20.0ms
(/.f64 1 (-.f64 y (*.f64 z t)))

rewrite16.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
25×add-sqr-sqrt_binary64
20×times-frac_binary64
19×*-un-lft-identity_binary64
18×add-cube-cbrt_binary64
15×associate-*r*_binary64
Counts
2 → 75
Calls

2 calls:

9.0ms
(*.f64 x (/.f64 1 (-.f64 y (*.f64 z t))))
3.0ms
(/.f64 1 (-.f64 y (*.f64 z t)))

simplify101.0ms (2.8%)

Algorithm
egg-herbie
Rules
687×associate-/r*_binary64
540×fma-def_binary64
347×associate-*l/_binary64
222×fma-neg_binary64
200×associate-/l/_binary64
Counts
159 → 145
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01513528
13943335
215693102
348973102
450603102

prune135.0ms (3.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1830183
Fresh088
Picked011
Done000
Total1839192
Error
1.9b
Counts
192 → 9
Alt Table
StatusErrorProgram
2.2b
(*.f64 x (/.f64 1 (-.f64 y (*.f64 z t))))
21.1b
(/.f64 x (/.f64 (*.f64 (-.f64 y (*.f64 t z)) (fma.f64 t z y)) (fma.f64 t z y)))
2.2b
(/.f64 1 (/.f64 (-.f64 y (*.f64 z t)) x))
30.3b
(/.f64 x y)
2.8b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (cbrt.f64 x) (-.f64 y (*.f64 t z))))
32.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (-.f64 y (*.f64 t z))))
30.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 y (*.f64 z t)))) (/.f64 x (sqrt.f64 (-.f64 y (*.f64 z t)))))
26.4b
(/.f64 x (cbrt.f64 (pow.f64 (-.f64 y (*.f64 t z)) 3)))
2.8b
(/.f64 (/.f64 x (*.f64 (cbrt.f64 (-.f64 y (*.f64 z t))) (cbrt.f64 (-.f64 y (*.f64 z t))))) (cbrt.f64 (-.f64 y (*.f64 z t))))
Compiler

Compiled 3483 to 1388 computations (60.1% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 y (*.f64 z t))
0.3b
(/.f64 1 (/.f64 (-.f64 y (*.f64 z t)) x))
2.0b
(/.f64 (-.f64 y (*.f64 z t)) x)

series56.0ms (1.5%)

Counts
2 → 96
Calls

2 calls:

38.0ms
(/.f64 1 (/.f64 (-.f64 y (*.f64 z t)) x))
18.0ms
(/.f64 (-.f64 y (*.f64 z t)) x)

rewrite18.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
52×*-un-lft-identity_binary64
52×add-sqr-sqrt_binary64
52×add-cube-cbrt_binary64
16×associate-/r*_binary64
Counts
2 → 110
Calls

2 calls:

7.0ms
(/.f64 1 (/.f64 (-.f64 y (*.f64 z t)) x))
4.0ms
(/.f64 (-.f64 y (*.f64 z t)) x)

simplify114.0ms (3.1%)

Algorithm
egg-herbie
Rules
794×associate-/l*_binary64
526×associate-/r*_binary64
409×fma-def_binary64
329×associate-/r/_binary64
251×associate-/l/_binary64
Counts
206 → 188
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01684158
14023845
214553696
349323696
450083696

prune167.0ms (4.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2242226
Fresh167
Picked011
Done101
Total2269235
Error
1.9b
Counts
235 → 9
Alt Table
StatusErrorProgram
2.2b
(/.f64 1 (*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x)))
2.8b
(/.f64 (/.f64 x (*.f64 (cbrt.f64 (-.f64 y (*.f64 z t))) (cbrt.f64 (-.f64 y (*.f64 z t))))) (cbrt.f64 (-.f64 y (*.f64 z t))))
2.2b
(/.f64 1 (/.f64 (-.f64 y (*.f64 z t)) x))
30.3b
(/.f64 x y)
2.8b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (cbrt.f64 x) (-.f64 y (*.f64 t z))))
3.0b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 (-.f64 y (*.f64 t z)) x)) (cbrt.f64 (/.f64 (-.f64 y (*.f64 t z)) x)))) (/.f64 1 (cbrt.f64 (/.f64 (-.f64 y (*.f64 t z)) x))))
30.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 y (*.f64 z t)))) (/.f64 x (sqrt.f64 (-.f64 y (*.f64 z t)))))
21.1b
(/.f64 x (/.f64 (*.f64 (-.f64 y (*.f64 t z)) (fma.f64 t z y)) (fma.f64 t z y)))
26.4b
(/.f64 x (cbrt.f64 (pow.f64 (-.f64 y (*.f64 t z)) 3)))
Compiler

Compiled 4434 to 1425 computations (67.9% saved)

localize10.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 y (*.f64 z t))
0.3b
(/.f64 1 (*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x)))
2.2b
(*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x))

series52.0ms (1.4%)

Counts
2 → 96
Calls

2 calls:

35.0ms
(/.f64 1 (*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x)))
17.0ms
(*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x))

rewrite20.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
46×add-exp-log_binary64
19×add-sqr-sqrt_binary64
18×div-exp_binary64
16×add-cbrt-cube_binary64
16×prod-exp_binary64
Counts
2 → 88
Calls

2 calls:

8.0ms
(/.f64 1 (*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x)))
7.0ms
(*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x))

simplify99.0ms (2.7%)

Algorithm
egg-herbie
Rules
677×associate-/r*_binary64
458×fma-def_binary64
254×distribute-rgt-in_binary64
226×distribute-lft-in_binary64
208×associate-/r/_binary64
Counts
184 → 151
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01663193
14152878
216602734
349492734
450872734

prune129.0ms (3.6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1890189
Fresh077
Picked011
Done011
Total1899198
Error
1.9b
Counts
198 → 9
Alt Table
StatusErrorProgram
2.2b
(/.f64 1 (*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x)))
2.8b
(/.f64 (/.f64 x (*.f64 (cbrt.f64 (-.f64 y (*.f64 z t))) (cbrt.f64 (-.f64 y (*.f64 z t))))) (cbrt.f64 (-.f64 y (*.f64 z t))))
2.2b
(/.f64 1 (/.f64 (-.f64 y (*.f64 z t)) x))
30.3b
(/.f64 x y)
2.8b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (cbrt.f64 x) (-.f64 y (*.f64 t z))))
3.0b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 (-.f64 y (*.f64 t z)) x)) (cbrt.f64 (/.f64 (-.f64 y (*.f64 t z)) x)))) (/.f64 1 (cbrt.f64 (/.f64 (-.f64 y (*.f64 t z)) x))))
30.2b
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 y (*.f64 z t)))) (/.f64 x (sqrt.f64 (-.f64 y (*.f64 z t)))))
21.1b
(/.f64 x (/.f64 (*.f64 (-.f64 y (*.f64 t z)) (fma.f64 t z y)) (fma.f64 t z y)))
26.4b
(/.f64 x (cbrt.f64 (pow.f64 (-.f64 y (*.f64 t z)) 3)))
Compiler

Compiled 3494 to 1498 computations (57.1% saved)

regimes626.0ms (17.3%)

Accuracy

Total 0.1b remaining (2.2%)

Threshold costs 0.1b (2.2%)

Counts
84 → 1
Compiler

Compiled 13823 to 7751 computations (43.9% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01010
11910
22810
33410
43810
53910
63810

end103.0ms (2.9%)

Remove

(sort z t)

Compiler

Compiled 213 to 118 computations (44.6% saved)

Profiling

Loading profile data...