Details

Time bar (total: 3.7s)

analyze610.0ms (16.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
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.1%)

Symmetry

(sort z t)

Results
883.0ms8256×body128valid
46.0ms368×body128invalid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify16.0ms (0.4%)

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

prune1.0ms (0%)

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))

rewrite17.0ms (0.5%)

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)))
3.0ms
(-.f64 y (*.f64 z t))

simplify78.0ms (2.1%)

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

prune128.0ms (3.4%)

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 1 (/.f64 (-.f64 y (*.f64 z t)) x))
30.3b
(/.f64 x y)
32.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (-.f64 y (*.f64 t z))))
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))))
2.8b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (cbrt.f64 x) (-.f64 y (*.f64 t z))))
2.2b
(*.f64 x (/.f64 1 (-.f64 y (*.f64 z t))))
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)))
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))))

series54.0ms (1.4%)

Counts
2 → 84
Calls

2 calls:

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

rewrite15.0ms (0.4%)

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:

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

simplify106.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

prune137.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 1 (/.f64 (-.f64 y (*.f64 z t)) x))
30.3b
(/.f64 x y)
32.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (-.f64 y (*.f64 t z))))
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))))
2.8b
(*.f64 (*.f64 (cbrt.f64 x) (cbrt.f64 x)) (/.f64 (cbrt.f64 x) (-.f64 y (*.f64 t z))))
2.2b
(*.f64 x (/.f64 1 (-.f64 y (*.f64 z t))))
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)))
Compiler

Compiled 3483 to 1388 computations (60.1% saved)

localize7.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)

series52.0ms (1.4%)

Counts
2 → 96
Calls

2 calls:

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

rewrite19.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:

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

simplify124.0ms (3.3%)

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

prune174.0ms (4.7%)

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)) x))
30.3b
(/.f64 x y)
26.4b
(/.f64 x (cbrt.f64 (pow.f64 (-.f64 y (*.f64 t z)) 3)))
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.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)))
Compiler

Compiled 4434 to 1425 computations (67.9% saved)

localize7.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)) (/.f64 1 x)))
2.2b
(*.f64 (-.f64 y (*.f64 z t)) (/.f64 1 x))

series55.0ms (1.5%)

Counts
2 → 96
Calls

2 calls:

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

rewrite21.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

prune136.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)) x))
30.3b
(/.f64 x y)
26.4b
(/.f64 x (cbrt.f64 (pow.f64 (-.f64 y (*.f64 t z)) 3)))
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.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)))
Compiler

Compiled 3494 to 1498 computations (57.1% saved)

regimes622.0ms (16.7%)

Accuracy

Total 0.1b remaining (2.2%)

Threshold costs 0.1b (2.2%)

Counts
84 → 1
Compiler

Compiled 11840 to 6676 computations (43.6% 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
0810
11410
22410
33010
43410
53510
63510

end113.0ms (3%)

Remove

(sort z t)

Compiler

Compiled 213 to 118 computations (44.6% saved)

Profiling

Loading profile data...