Details

Time bar (total: 13.5s)

analyze1.5s (11%)

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.6s (12.1%)

Results
937.0ms6909×body128valid
183.0ms403×body1024valid
157.0ms1224×body128invalid
156.0ms477×body512valid
94.0ms403×body256valid
33.0ms64×body2048valid
Compiler

Compiled 56 to 35 computations (37.5% saved)

simplify84.0ms (0.6%)

Algorithm
egg-herbie
Rules
836×unsub-neg_binary64
769×fma-def_binary64
696×div-sub_binary64
646×sub-neg_binary64
478×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01219
12119
25217
314417
442117
5109217
6265717
7390117
8440817
9480717
10488117

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 100 to 55 computations (45% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series77.0ms (0.6%)

Counts
2 → 108
Calls

2 calls:

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

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
38×*-un-lft-identity_binary64
38×add-sqr-sqrt_binary64
25×times-frac_binary64
14×add-cube-cbrt_binary64
12×distribute-lft-out--_binary64
Counts
2 → 64
Calls

2 calls:

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

simplify132.0ms (1%)

Algorithm
egg-herbie
Rules
523×cancel-sign-sub-inv_binary64
479×sub-neg_binary64
353×associate-+r+_binary64
286×+-commutative_binary64
272×associate-+l+_binary64
Counts
172 → 136
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03566269
110456192
238516156
352336156

prune112.0ms (0.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1288136
Fresh011
Picked101
Done000
Total1299138
Error
1.0b
Counts
138 → 9
Alt Table
StatusErrorProgram
26.7b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
34.8b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
39.6b
(*.f64 (sqrt.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)) (sqrt.f64 (fma.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z)) x)))
41.8b
(-.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)))
44.4b
(*.f64 y (/.f64 (-.f64 t x) (-.f64 a z)))
14.1b
(fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)
51.1b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (+.f64 (sqrt.f64 t) (sqrt.f64 x)) (*.f64 (cbrt.f64 (-.f64 a z)) (cbrt.f64 (-.f64 a z)))) (/.f64 (-.f64 (sqrt.f64 t) (sqrt.f64 x)) (cbrt.f64 (-.f64 a z)))) x)
31.8b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
43.8b
(-.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 y (*.f64 a t)) (pow.f64 z 2))))))
Compiler

Compiled 4922 to 1566 computations (68.2% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series84.0ms (0.6%)

Counts
3 → 132
Calls

3 calls:

54.0ms
(fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)
23.0ms
(*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z)))
6.0ms
(/.f64 1 (-.f64 a z))

rewrite23.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
46×add-sqr-sqrt_binary64
40×*-un-lft-identity_binary64
32×times-frac_binary64
23×add-cube-cbrt_binary64
21×associate-*r*_binary64
Counts
3 → 105
Calls

3 calls:

13.0ms
(*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z)))
4.0ms
(/.f64 1 (-.f64 a z))
0.0ms
(fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)

simplify136.0ms (1%)

Algorithm
egg-herbie
Rules
485×sub-neg_binary64
371×associate-+r+_binary64
307×+-commutative_binary64
285×associate-+l+_binary64
246×fma-neg_binary64
Counts
237 → 220
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03857102
110976803
241976767
350106767

prune186.0ms (1.4%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2191220
Fresh178
Picked101
Done000
Total2218229
Error
1.0b
Counts
229 → 8
Alt Table
StatusErrorProgram
26.7b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
34.8b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
44.4b
(*.f64 y (/.f64 (-.f64 t x) (-.f64 a z)))
51.1b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (+.f64 (sqrt.f64 t) (sqrt.f64 x)) (*.f64 (cbrt.f64 (-.f64 a z)) (cbrt.f64 (-.f64 a z)))) (/.f64 (-.f64 (sqrt.f64 t) (sqrt.f64 x)) (cbrt.f64 (-.f64 a z)))) x)
31.8b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
15.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x))) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
43.8b
(-.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 y (*.f64 a t)) (pow.f64 z 2))))))
41.8b
(-.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)))
Compiler

Compiled 6810 to 2402 computations (64.7% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series3.8s (28.4%)

Counts
2 → 120
Calls

2 calls:

3.2s
(*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
682.0ms
(cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x))

rewrite10.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
19×add-sqr-sqrt_binary64
19×cbrt-prod_binary64
11×*-un-lft-identity_binary64
11×add-cube-cbrt_binary64
pow1_binary64
Counts
2 → 55
Calls

2 calls:

4.0ms
(*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
1.0ms
(cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x))

simplify635.0ms (4.7%)

Algorithm
egg-herbie
Counts
175 → 161
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05883309237707372

prune2.3s (16.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New7863789
Fresh077
Picked011
Done000
Total78611797
Error
1.0b
Counts
797 → 11
Alt Table
StatusErrorProgram
53.5b
(*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (pow.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) 2)) (*.f64 2 (log.f64 (/.f64 1 x)))))) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
26.7b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
34.8b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
44.4b
(*.f64 y (/.f64 (-.f64 t x) (-.f64 a z)))
41.9b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x))) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (*.f64 (-.f64 t x) (sqrt.f64 (/.f64 1 (-.f64 a z)))) (sqrt.f64 (/.f64 1 (-.f64 a z)))) x)))
51.1b
(fma.f64 (-.f64 y z) (*.f64 (/.f64 (+.f64 (sqrt.f64 t) (sqrt.f64 x)) (*.f64 (cbrt.f64 (-.f64 a z)) (cbrt.f64 (-.f64 a z)))) (/.f64 (-.f64 (sqrt.f64 t) (sqrt.f64 x)) (cbrt.f64 (-.f64 a z)))) x)
58.1b
(*.f64 (pow.f64 (pow.f64 t 2) 1/3) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
31.8b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
15.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x))) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
43.8b
(-.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 y (*.f64 a t)) (pow.f64 z 2))))))
41.8b
(-.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)))
Compiler

Compiled 156399 to 72358 computations (53.7% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series177.0ms (1.3%)

Counts
3 → 168
Calls

3 calls:

101.0ms
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
61.0ms
(/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))
14.0ms
(*.f64 (-.f64 y z) (-.f64 t x))

rewrite32.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
32×*-un-lft-identity_binary64
32×add-sqr-sqrt_binary64
22×add-cube-cbrt_binary64
18×prod-diff_binary64
13×distribute-lft-in_binary64
Counts
3 → 112
Calls

3 calls:

10.0ms
(/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z))
8.0ms
(*.f64 (-.f64 y z) (-.f64 t x))
8.0ms
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))

simplify270.0ms (2%)

Algorithm
egg-herbie
Rules
306×associate-*r*_binary64
290×associate-*l*_binary64
285×associate-/l*_binary64
273×times-frac_binary64
177×distribute-rgt-in_binary64
Counts
280 → 260
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
052710278
1152210161
2481110077
3499510077
4497610077

prune226.0ms (1.7%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2591260
Fresh189
Picked011
Done011
Total26011271
Error
1.0b
Counts
271 → 11
Alt Table
StatusErrorProgram
53.5b
(*.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (pow.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) 2)) (*.f64 2 (log.f64 (/.f64 1 x)))))) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
26.7b
(+.f64 x (/.f64 (*.f64 (-.f64 y z) (-.f64 t x)) (-.f64 a z)))
34.8b
(*.f64 (-.f64 (+.f64 (/.f64 z (-.f64 a z)) 1) (/.f64 y (-.f64 a z))) x)
14.1b
(+.f64 x (*.f64 (-.f64 y z) (/.f64 (-.f64 t x) (-.f64 a z))))
44.4b
(*.f64 y (/.f64 (-.f64 t x) (-.f64 a z)))
41.9b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x))) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (*.f64 (-.f64 t x) (sqrt.f64 (/.f64 1 (-.f64 a z)))) (sqrt.f64 (/.f64 1 (-.f64 a z)))) x)))
58.1b
(*.f64 (pow.f64 (pow.f64 t 2) 1/3) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
31.8b
(*.f64 t (-.f64 (/.f64 y (-.f64 a z)) (/.f64 z (-.f64 a z))))
15.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x))) (cbrt.f64 (fma.f64 (-.f64 y z) (*.f64 (-.f64 t x) (/.f64 1 (-.f64 a z))) x)))
43.8b
(-.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 y (*.f64 a t)) (pow.f64 z 2))))))
41.8b
(-.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)))
Compiler

Compiled 9266 to 2690 computations (71% saved)

regimes1.8s (13.5%)

Accuracy

Total 6.5b remaining (87.7%)

Threshold costs 0b (0%)

Counts
163 → 3
Compiler

Compiled 27474 to 15414 computations (43.9% saved)

bsearch7.0ms (0.1%)

Compiler

Compiled 18 to 11 computations (38.9% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
039134
159134
274134
390134
4111134
5121134
6127134
7129134
8127134

end213.0ms (1.6%)

Compiler

Compiled 565 to 285 computations (49.6% saved)

Profiling

Loading profile data...