Details

Time bar (total: 14.8s)

analyze1.8s (12.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%99.7%0.3%7
0%99.7%0.3%8
0%99.7%0.3%9
0%99.7%0.3%10
0.6%99.1%0.3%11
1.8%98%0.3%12
2.6%97.1%0.3%13
4%95.7%0.3%14
Compiler

Compiled 24 to 15 computations (37.5% saved)

sample1.4s (9.4%)

Results
1.2s8256×body128valid
72.0ms438×body128invalid
Compiler

Compiled 71 to 44 computations (38% saved)

simplify79.0ms (0.5%)

Algorithm
egg-herbie
Rules
920×times-frac_binary64
593×fma-def_binary64
507×div-sub_binary64
484×sub-neg_binary64
470×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01523
12521
25021
39321
415721
527021
642321
772421
8134121
9389821
10440021
11495221

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
26.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
26.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
Compiler

Compiled 80 to 41 computations (48.8% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 t a))
0.0b
(fma.f64 z (-.f64 b y) y)
0.2b
(fma.f64 x y (*.f64 z (-.f64 t a)))
26.0b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))

series208.0ms (1.4%)

Counts
4 → 204
Calls

4 calls:

175.0ms
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
19.0ms
(fma.f64 x y (*.f64 z (-.f64 t a)))
7.0ms
(fma.f64 z (-.f64 b y) y)
6.0ms
(*.f64 z (-.f64 t a))

rewrite18.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
32×add-sqr-sqrt_binary64
30×*-un-lft-identity_binary64
28×add-cube-cbrt_binary64
18×prod-diff_binary64
13×distribute-lft-in_binary64
Counts
4 → 99
Calls

4 calls:

10.0ms
(*.f64 z (-.f64 t a))
2.0ms
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
0.0ms
(fma.f64 z (-.f64 b y) y)
0.0ms
(fma.f64 x y (*.f64 z (-.f64 t a)))

simplify147.0ms (1%)

Algorithm
egg-herbie
Rules
911×associate-/l*_binary64
492×fma-def_binary64
260×+-commutative_binary64
206×associate-+r+_binary64
153×*-commutative_binary64
Counts
303 → 243
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
077310057
123279294
252669294

prune239.0ms (1.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2367243
Fresh000
Picked011
Done000
Total2368244
Error
0.5b
Counts
244 → 8
Alt Table
StatusErrorProgram
26.8b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
30.2b
(/.f64 (-.f64 t a) (-.f64 b y))
34.3b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
45.1b
(/.f64 x (-.f64 1 z))
26.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
22.4b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
25.0b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
27.4b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 z (-.f64 b y) y)) (cbrt.f64 (fma.f64 z (-.f64 b y) y)))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (cbrt.f64 (fma.f64 z (-.f64 b y) y))))
Compiler

Compiled 11712 to 4337 computations (63% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.6b
(/.f64 a (pow.f64 (-.f64 y b) 2))
9.5b
(fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))
10.7b
(fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))
11.6b
(fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b)))

series489.0ms (3.3%)

Counts
4 → 188
Calls

4 calls:

157.0ms
(fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))
133.0ms
(fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b)))
125.0ms
(fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))
73.0ms
(/.f64 a (pow.f64 (-.f64 y b) 2))

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
31×*-un-lft-identity_binary64
31×add-sqr-sqrt_binary64
30×times-frac_binary64
23×add-cube-cbrt_binary64
20×unpow-prod-down_binary64
Counts
4 → 89
Calls

4 calls:

9.0ms
(/.f64 a (pow.f64 (-.f64 y b) 2))
0.0ms
(fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b)))
0.0ms
(fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))
0.0ms
(fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))

simplify183.0ms (1.2%)

Algorithm
egg-herbie
Rules
494×associate-+r+_binary64
367×fma-neg_binary64
312×associate-/l*_binary64
305×associate-+l+_binary64
284×times-frac_binary64
Counts
277 → 230
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
050210158
112939496
248999496
352179496

prune271.0ms (1.8%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2291230
Fresh066
Picked011
Done011
Total2299238
Error
0.5b
Counts
238 → 9
Alt Table
StatusErrorProgram
22.8b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))) (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))) (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))))
22.4b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
26.8b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
30.2b
(/.f64 (-.f64 t a) (-.f64 b y))
34.3b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
45.1b
(/.f64 x (-.f64 1 z))
26.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
25.0b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
27.4b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 z (-.f64 b y) y)) (cbrt.f64 (fma.f64 z (-.f64 b y) y)))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (cbrt.f64 (fma.f64 z (-.f64 b y) y))))
Compiler

Compiled 13852 to 4718 computations (65.9% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.6b
(/.f64 a (pow.f64 (-.f64 y b) 2))
9.5b
(fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))
10.7b
(fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))
11.6b
(fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b)))

prune1.0s (7%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New4100410
Fresh066
Picked011
Done022
Total4109419
Error
0.5b
Counts
419 → 9
Alt Table
StatusErrorProgram
22.8b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))) (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))) (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))))
22.4b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
26.8b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
30.2b
(/.f64 (-.f64 t a) (-.f64 b y))
34.3b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
45.1b
(/.f64 x (-.f64 1 z))
26.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
25.0b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
27.4b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 z (-.f64 b y) y)) (cbrt.f64 (fma.f64 z (-.f64 b y) y)))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (cbrt.f64 (fma.f64 z (-.f64 b y) y))))
Compiler

Compiled 47399 to 14614 computations (69.2% saved)

localize21.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.0b
(fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y))))
7.6b
(/.f64 a (pow.f64 (-.f64 b y) 2))
11.8b
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))
17.1b
(/.f64 y (pow.f64 (-.f64 b y) 2))

series407.0ms (2.8%)

Counts
4 → 188
Calls

4 calls:

189.0ms
(fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y))))
132.0ms
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))
71.0ms
(/.f64 a (pow.f64 (-.f64 b y) 2))
15.0ms
(/.f64 y (pow.f64 (-.f64 b y) 2))

rewrite19.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
60×times-frac_binary64
58×*-un-lft-identity_binary64
58×add-sqr-sqrt_binary64
42×add-cube-cbrt_binary64
40×unpow-prod-down_binary64
Counts
4 → 138
Calls

4 calls:

5.0ms
(/.f64 a (pow.f64 (-.f64 b y) 2))
5.0ms
(/.f64 y (pow.f64 (-.f64 b y) 2))
0.0ms
(fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y))))
0.0ms
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))

simplify226.0ms (1.5%)

Algorithm
egg-herbie
Rules
396×associate-+r+_binary64
300×associate-/l*_binary64
282×+-commutative_binary64
275×times-frac_binary64
266×associate-+l+_binary64
Counts
326 → 276
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
048410209
112229358
245059334
349899334
450009334

prune333.0ms (2.2%)

Pruning

11 alts after pruning (7 fresh and 4 done)

PrunedKeptTotal
New2742276
Fresh055
Picked011
Done033
Total27411285
Error
0.2b
Counts
285 → 11
Alt Table
StatusErrorProgram
26.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
34.7b
(-.f64 (expm1.f64 (log1p.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
22.8b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (*.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b))))) (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))) (cbrt.f64 (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))))
22.4b
(-.f64 (fma.f64 (/.f64 y z) (/.f64 a (pow.f64 (-.f64 y b) 2)) (/.f64 a (-.f64 y b))) (fma.f64 (/.f64 y z) (/.f64 x (-.f64 y b)) (fma.f64 (/.f64 y z) (/.f64 t (pow.f64 (-.f64 y b) 2)) (/.f64 t (-.f64 y b)))))
40.8b
(-.f64 (/.f64 (+.f64 t (*.f64 y (/.f64 x z))) b) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
26.8b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
30.2b
(/.f64 (-.f64 t a) (-.f64 b y))
34.3b
(-.f64 (fma.f64 (/.f64 t y) (/.f64 z (-.f64 1 z)) (/.f64 x (-.f64 1 z))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (-.f64 1 z) 2)) (/.f64 (*.f64 z a) (*.f64 y (-.f64 1 z)))))
45.1b
(/.f64 x (-.f64 1 z))
25.0b
(-.f64 (fma.f64 (/.f64 y (-.f64 b y)) (/.f64 x z) (fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))) (fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y))))
27.4b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 z (-.f64 b y) y)) (cbrt.f64 (fma.f64 z (-.f64 b y) y)))) (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (cbrt.f64 (fma.f64 z (-.f64 b y) y))))
Compiler

Compiled 15515 to 4930 computations (68.2% saved)

regimes7.6s (51.3%)

Accuracy

Total 5.8b remaining (98%)

Threshold costs 0b (0%)

Counts
179 → 5
Compiler

Compiled 68725 to 30793 computations (55.2% saved)

bsearch11.0ms (0.1%)

Compiler

Compiled 23 to 14 computations (39.1% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
059316
181316
2105316
3119316
4126316
5125316

end226.0ms (1.5%)

Compiler

Compiled 874 to 336 computations (61.6% saved)

Profiling

Loading profile data...