Details

Time bar (total: 16.5s)

analyze1.8s (10.6%)

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 (8.3%)

Results
1.2s8256×body128valid
60.0ms407×body128invalid
Compiler

Compiled 71 to 44 computations (38% saved)

simplify77.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
21.8b
Counts
3 → 1
Alt Table
StatusErrorProgram
21.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)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series188.0ms (1.1%)

Counts
3 → 168
Calls

3 calls:

168.0ms
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
14.0ms
(fma.f64 x y (*.f64 z (-.f64 t a)))
6.0ms
(*.f64 z (-.f64 t a))

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

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

simplify146.0ms (0.9%)

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

prune234.0ms (1.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2098217
Fresh000
Picked011
Done000
Total2099218
Error
0.0b
Counts
218 → 9
Alt Table
StatusErrorProgram
46.7b
(-.f64 (fma.f64 (/.f64 a y) (/.f64 z (+.f64 z -1)) (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (*.f64 (*.f64 y y) (pow.f64 (+.f64 z -1) 2)))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (+.f64 z -1) 2)) (fma.f64 (/.f64 t y) (/.f64 z (+.f64 z -1)) (fma.f64 (/.f64 (*.f64 b b) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 z z)) (pow.f64 (+.f64 z -1) 3)) (fma.f64 (/.f64 t (*.f64 y y)) (/.f64 (*.f64 b (*.f64 z z)) (pow.f64 (+.f64 z -1) 2)) (/.f64 x (+.f64 z -1)))))))
21.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
27.8b
(-.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))))
41.4b
(/.f64 (fma.f64 x y (*.f64 (sqrt.f64 (*.f64 z (-.f64 t a))) (sqrt.f64 (*.f64 z (-.f64 t a))))) (fma.f64 z (-.f64 b y) y))
44.1b
(/.f64 x (-.f64 1 z))
40.0b
(/.f64 (fma.f64 x y (/.f64 (*.f64 z (-.f64 (*.f64 t t) (*.f64 a a))) (+.f64 t a))) (fma.f64 z (-.f64 b y) y))
46.3b
(/.f64 z (/.f64 (*.f64 z b) (-.f64 t a)))
22.5b
(/.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))) (/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))))
21.9b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
Compiler

Compiled 11424 to 4348 computations (61.9% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series205.0ms (1.2%)

Counts
2 → 108
Calls

2 calls:

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

rewrite12.0ms (0.1%)

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×add-exp-log_binary64
Counts
2 → 71
Calls

2 calls:

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

simplify154.0ms (0.9%)

Algorithm
egg-herbie
Rules
788×associate-/l*_binary64
519×fma-def_binary64
318×+-commutative_binary64
239×associate-+r+_binary64
177×sub-neg_binary64
Counts
179 → 236
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
081210485
126149766
253119766

prune303.0ms (1.8%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New3230323
Fresh077
Picked011
Done011
Total3239332
Error
0.0b
Counts
332 → 9
Alt Table
StatusErrorProgram
46.7b
(-.f64 (fma.f64 (/.f64 a y) (/.f64 z (+.f64 z -1)) (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (*.f64 (*.f64 y y) (pow.f64 (+.f64 z -1) 2)))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (+.f64 z -1) 2)) (fma.f64 (/.f64 t y) (/.f64 z (+.f64 z -1)) (fma.f64 (/.f64 (*.f64 b b) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 z z)) (pow.f64 (+.f64 z -1) 3)) (fma.f64 (/.f64 t (*.f64 y y)) (/.f64 (*.f64 b (*.f64 z z)) (pow.f64 (+.f64 z -1) 2)) (/.f64 x (+.f64 z -1)))))))
21.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
27.8b
(-.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))))
41.4b
(/.f64 (fma.f64 x y (*.f64 (sqrt.f64 (*.f64 z (-.f64 t a))) (sqrt.f64 (*.f64 z (-.f64 t a))))) (fma.f64 z (-.f64 b y) y))
44.1b
(/.f64 x (-.f64 1 z))
40.0b
(/.f64 (fma.f64 x y (/.f64 (*.f64 z (-.f64 (*.f64 t t) (*.f64 a a))) (+.f64 t a))) (fma.f64 z (-.f64 b y) y))
46.3b
(/.f64 z (/.f64 (*.f64 z b) (-.f64 t a)))
22.5b
(/.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))) (/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))))
21.9b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
Compiler

Compiled 15552 to 6322 computations (59.3% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))))
7.1b
(/.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))) (/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))))
7.4b
(/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))))
18.0b
(cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))

series2.0s (12%)

Counts
4 → 264
Calls

4 calls:

1.2s
(/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))))
449.0ms
(*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))))
185.0ms
(cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))
176.0ms
(/.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))) (/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))))

rewrite33.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
76×times-frac_binary64
62×add-sqr-sqrt_binary64
54×*-un-lft-identity_binary64
54×add-cube-cbrt_binary64
49×cbrt-prod_binary64
Counts
4 → 162
Calls

4 calls:

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

simplify549.0ms (3.3%)

Algorithm
egg-herbie
Rules
877×fma-def_binary64
fma-neg_binary64
fma-udef_binary64
Counts
426 → 513
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0412360576
1500060576

prune1.8s (10.7%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New7270727
Fresh066
Picked011
Done022
Total7279736
Error
0.0b
Counts
736 → 9
Alt Table
StatusErrorProgram
46.7b
(-.f64 (fma.f64 (/.f64 a y) (/.f64 z (+.f64 z -1)) (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (*.f64 (*.f64 y y) (pow.f64 (+.f64 z -1) 2)))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (+.f64 z -1) 2)) (fma.f64 (/.f64 t y) (/.f64 z (+.f64 z -1)) (fma.f64 (/.f64 (*.f64 b b) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 z z)) (pow.f64 (+.f64 z -1) 3)) (fma.f64 (/.f64 t (*.f64 y y)) (/.f64 (*.f64 b (*.f64 z z)) (pow.f64 (+.f64 z -1) 2)) (/.f64 x (+.f64 z -1)))))))
21.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
27.8b
(-.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))))
41.4b
(/.f64 (fma.f64 x y (*.f64 (sqrt.f64 (*.f64 z (-.f64 t a))) (sqrt.f64 (*.f64 z (-.f64 t a))))) (fma.f64 z (-.f64 b y) y))
44.1b
(/.f64 x (-.f64 1 z))
40.0b
(/.f64 (fma.f64 x y (/.f64 (*.f64 z (-.f64 (*.f64 t t) (*.f64 a a))) (+.f64 t a))) (fma.f64 z (-.f64 b y) y))
46.3b
(/.f64 z (/.f64 (*.f64 z b) (-.f64 t a)))
22.5b
(/.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))) (/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))))
21.9b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
Compiler

Compiled 103753 to 58156 computations (43.9% saved)

localize25.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.4b
(fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y)))
8.6b
(/.f64 a (pow.f64 (-.f64 b y) 2))
10.6b
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))
15.1b
(/.f64 y (pow.f64 (-.f64 b y) 2))

series348.0ms (2.1%)

Counts
4 → 176
Calls

4 calls:

119.0ms
(fma.f64 (/.f64 a (pow.f64 (-.f64 b y) 2)) (/.f64 y z) (/.f64 t (-.f64 b y)))
118.0ms
(/.f64 a (pow.f64 (-.f64 b y) 2))
99.0ms
(fma.f64 (/.f64 y (pow.f64 (-.f64 b y) 2)) (/.f64 t z) (/.f64 a (-.f64 b y)))
12.0ms
(/.f64 y (pow.f64 (-.f64 b y) 2))

rewrite47.0ms (0.3%)

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:

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

simplify277.0ms (1.7%)

Algorithm
egg-herbie
Rules
259×associate-/l*_binary64
242×times-frac_binary64
228×associate-+r+_binary64
228×associate-/r*_binary64
228×cancel-sign-sub-inv_binary64
Counts
314 → 260
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04438647
110558005
236207627
347687627
449997627
550007627
649667627

prune256.0ms (1.6%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New2600260
Fresh055
Picked011
Done033
Total2609269
Error
0.0b
Counts
269 → 9
Alt Table
StatusErrorProgram
46.7b
(-.f64 (fma.f64 (/.f64 a y) (/.f64 z (+.f64 z -1)) (/.f64 (*.f64 a (*.f64 b (*.f64 z z))) (*.f64 (*.f64 y y) (pow.f64 (+.f64 z -1) 2)))) (fma.f64 (/.f64 z y) (/.f64 (*.f64 b x) (pow.f64 (+.f64 z -1) 2)) (fma.f64 (/.f64 t y) (/.f64 z (+.f64 z -1)) (fma.f64 (/.f64 (*.f64 b b) (*.f64 y y)) (/.f64 (*.f64 x (*.f64 z z)) (pow.f64 (+.f64 z -1) 3)) (fma.f64 (/.f64 t (*.f64 y y)) (/.f64 (*.f64 b (*.f64 z z)) (pow.f64 (+.f64 z -1) 2)) (/.f64 x (+.f64 z -1)))))))
21.8b
(/.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (fma.f64 z (-.f64 b y) y))
27.8b
(-.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))))
41.4b
(/.f64 (fma.f64 x y (*.f64 (sqrt.f64 (*.f64 z (-.f64 t a))) (sqrt.f64 (*.f64 z (-.f64 t a))))) (fma.f64 z (-.f64 b y) y))
44.1b
(/.f64 x (-.f64 1 z))
40.0b
(/.f64 (fma.f64 x y (/.f64 (*.f64 z (-.f64 (*.f64 t t) (*.f64 a a))) (+.f64 t a))) (fma.f64 z (-.f64 b y) y))
46.3b
(/.f64 z (/.f64 (*.f64 z b) (-.f64 t a)))
22.5b
(/.f64 (*.f64 (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a)))) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))) (/.f64 (fma.f64 z (-.f64 b y) y) (cbrt.f64 (fma.f64 x y (*.f64 z (-.f64 t a))))))
21.9b
(*.f64 (fma.f64 x y (*.f64 z (-.f64 t a))) (/.f64 1 (fma.f64 z (-.f64 b y) y)))
Compiler

Compiled 14199 to 4491 computations (68.4% saved)

regimes6.5s (39.5%)

Accuracy

Total 5.2b remaining (90.6%)

Threshold costs 0b (0%)

Counts
200 → 5
Compiler

Compiled 56731 to 29842 computations (47.4% saved)

bsearch15.0ms (0.1%)

Compiler

Compiled 23 to 14 computations (39.1% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
057294
178294
298294
3108294
4113294
5111294

end180.0ms (1.1%)

Compiler

Compiled 726 to 287 computations (60.5% saved)

Profiling

Loading profile data...