Details

Time bar (total: 21.1s)

analyze1.8s (8.4%)

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)

sample30.0ms (0.1%)

Algorithm
intervals
Results
16.0ms256×body128valid
1.0ms14×body128invalid
Compiler

Compiled 53 to 35 computations (34% saved)

simplify77.0ms (0.4%)

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
23.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
23.4b
(/.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)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series212.0ms (1%)

Counts
3 → 168
Calls

3 calls:

189.0ms
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
16.0ms
(fma.f64 x y (*.f64 z (-.f64 t a)))
7.0ms
(*.f64 z (-.f64 t a))

rewrite14.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
31×add-sqr-sqrt_binary64
29×*-un-lft-identity_binary64
27×add-cube-cbrt_binary64
18×prod-diff_binary64
13×distribute-lft-in_binary64
Counts
3 → 89
Calls

3 calls:

5.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 x y (*.f64 z (-.f64 t a)))

simplify169.0ms (0.8%)

Algorithm
egg-herbie
Rules
911×associate-/l*_binary64
492×fma-def_binary64
259×+-commutative_binary64
206×associate-+r+_binary64
151×*-commutative_binary64
Counts
257 → 217
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
07659527
123148862
252348862

prune244.0ms (1.2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2098217
Fresh000
Picked101
Done000
Total2108218
Error
0.0b
Counts
218 → 8
Alt Table
StatusErrorProgram
24.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))) (/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y)))
23.4b
(+.f64 (/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y)))) (/.f64 (-.f64 (*.f64 y x) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
28.6b
(-.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))))
38.0b
(-.f64 (+.f64 (/.f64 (*.f64 y x) (*.f64 (-.f64 b y) z)) (+.f64 (/.f64 (*.f64 a y) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 t (-.f64 b y)))) (+.f64 (/.f64 (*.f64 y t) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 a (-.f64 b y))))
44.7b
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))) (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))))
23.4b
(/.f64 1 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))))
40.9b
(/.f64 x (-.f64 1 z))
28.3b
(-.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)))))
Compiler

Compiled 11389 to 4298 computations (62.3% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 b y))
0.7b
(-.f64 (*.f64 y x) (*.f64 z a))
12.9b
(/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y))))
19.6b
(/.f64 (-.f64 (*.f64 y x) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y))))

series231.0ms (1.1%)

Counts
4 → 192
Calls

4 calls:

138.0ms
(/.f64 (-.f64 (*.f64 y x) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y))))
76.0ms
(/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y))))
10.0ms
(-.f64 (*.f64 y x) (*.f64 z a))
7.0ms
(*.f64 z (-.f64 b y))

rewrite29.0ms (0.1%)

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

4 calls:

7.0ms
(/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y))))
6.0ms
(*.f64 z (-.f64 b y))
5.0ms
(/.f64 (-.f64 (*.f64 y x) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y))))
3.0ms
(-.f64 (*.f64 y x) (*.f64 z a))

simplify163.0ms (0.8%)

Algorithm
egg-herbie
Rules
943×associate-/l*_binary64
454×fma-def_binary64
211×+-commutative_binary64
187×sub-neg_binary64
170×*-commutative_binary64
Counts
317 → 332
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08179849
123669124
257889124

prune370.0ms (1.8%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New3911392
Fresh167
Picked011
Done000
Total3928400
Error
0.0b
Counts
400 → 8
Alt Table
StatusErrorProgram
24.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))) (/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y)))
23.4b
(+.f64 (/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y)))) (/.f64 (-.f64 (*.f64 y x) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
28.6b
(-.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))))
38.0b
(-.f64 (+.f64 (/.f64 (*.f64 y x) (*.f64 (-.f64 b y) z)) (+.f64 (/.f64 (*.f64 a y) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 t (-.f64 b y)))) (+.f64 (/.f64 (*.f64 y t) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 a (-.f64 b y))))
44.7b
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))) (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))))
30.6b
(+.f64 (/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y)))) (/.f64 x (-.f64 1 z)))
23.4b
(/.f64 1 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))))
28.3b
(-.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)))))
Compiler

Compiled 19431 to 5308 computations (72.7% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series591.0ms (2.8%)

Counts
2 → 144
Calls

2 calls:

407.0ms
(/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a))))
183.0ms
(/.f64 1 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))))

rewrite19.0ms (0.1%)

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 → 107
Calls

2 calls:

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

simplify272.0ms (1.3%)

Algorithm
egg-herbie
Rules
656×+-commutative_binary64
547×associate-+r+_binary64
293×associate-/l*_binary64
280×*-commutative_binary64
202×associate-/r*_binary64
Counts
251 → 304
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0152524218
1509224218

prune495.0ms (2.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New3910391
Fresh066
Picked011
Done011
Total3918399
Error
0.0b
Counts
399 → 8
Alt Table
StatusErrorProgram
24.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))) (/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y)))
23.4b
(+.f64 (/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y)))) (/.f64 (-.f64 (*.f64 y x) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
28.6b
(-.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))))
38.0b
(-.f64 (+.f64 (/.f64 (*.f64 y x) (*.f64 (-.f64 b y) z)) (+.f64 (/.f64 (*.f64 a y) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 t (-.f64 b y)))) (+.f64 (/.f64 (*.f64 y t) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 a (-.f64 b y))))
44.7b
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))) (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))))
30.6b
(+.f64 (/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y)))) (/.f64 x (-.f64 1 z)))
23.4b
(/.f64 1 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))))
28.3b
(-.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)))))
Compiler

Compiled 29316 to 12143 computations (58.6% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))))
8.1b
(/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y))
9.5b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))) (/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y)))
19.1b
(cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))

series1.4s (6.8%)

Counts
4 → 264
Calls

4 calls:

523.0ms
(*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))))
519.0ms
(/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y))
197.0ms
(cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))
196.0ms
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))) (/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y)))

rewrite37.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
54×add-sqr-sqrt_binary64
41×*-un-lft-identity_binary64
41×cbrt-prod_binary64
41×add-cube-cbrt_binary64
38×times-frac_binary64
Counts
4 → 143
Calls

4 calls:

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

simplify536.0ms (2.5%)

Algorithm
egg-herbie
Rules
595×fma-def_binary64
376×times-frac_binary64
194×sub-neg_binary64
43×unpow1/3_binary64
22×exp-prod_binary64
Counts
407 → 564
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0332950611
1520850611

prune1.8s (8.5%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New8020802
Fresh055
Picked011
Done022
Total8028810
Error
0.0b
Counts
810 → 8
Alt Table
StatusErrorProgram
24.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a))))) (/.f64 (cbrt.f64 (fma.f64 y x (*.f64 z (-.f64 t a)))) (fma.f64 z (-.f64 b y) y)))
23.4b
(+.f64 (/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y)))) (/.f64 (-.f64 (*.f64 y x) (*.f64 z a)) (+.f64 y (*.f64 z (-.f64 b y)))))
28.6b
(-.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))))
38.0b
(-.f64 (+.f64 (/.f64 (*.f64 y x) (*.f64 (-.f64 b y) z)) (+.f64 (/.f64 (*.f64 a y) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 t (-.f64 b y)))) (+.f64 (/.f64 (*.f64 y t) (*.f64 (pow.f64 (-.f64 b y) 2) z)) (/.f64 a (-.f64 b y))))
44.7b
(*.f64 (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))) (sqrt.f64 (/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))))
30.6b
(+.f64 (/.f64 (*.f64 t z) (+.f64 y (*.f64 z (-.f64 b y)))) (/.f64 x (-.f64 1 z)))
23.4b
(/.f64 1 (/.f64 (fma.f64 z (-.f64 b y) y) (fma.f64 x y (*.f64 z (-.f64 t a)))))
28.3b
(-.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)))))
Compiler

Compiled 96801 to 42936 computations (55.6% saved)

regimes11.4s (54.1%)

Accuracy

Total 5.7b remaining (95.7%)

Threshold costs 0b (0%)

Counts
334 → 6
Compiler

Compiled 84069 to 45894 computations (45.4% saved)

bsearch14.0ms (0.1%)

Compiler

Compiled 23 to 14 computations (39.1% saved)

simplify13.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
062413
189413
2113413
3134413
4144413
5146413
6146413

end2.0ms (0%)

Compiler

Compiled 285 to 71 computations (75.1% saved)

sample1.1s (5.2%)

Algorithm
intervals
Results
533.0ms8000×body128valid
27.0ms432×body128invalid
Compiler

Compiled 622 to 236 computations (62.1% saved)

Profiling

Loading profile data...