Details

Time bar (total: 13.1s)

analyze1.8s (13.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%99.7%0.3%11
1.1%98.6%0.3%12
1.9%97.8%0.3%13
7%92.7%0.3%14
Compiler

Compiled 28 to 17 computations (39.3% saved)

sample95.0ms (0.7%)

Algorithm
intervals
Results
20.0ms256×body128valid
Compiler

Compiled 61 to 39 computations (36.1% saved)

simplify93.0ms (0.7%)

Algorithm
egg-herbie
Rules
765×sub-neg_binary64
731×fma-neg_binary64
652×neg-mul-1_binary64
505×fma-def_binary64
495×cancel-sign-sub-inv_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01729
13729
28529
319427
448627
5100327
6192027
7340627
8407827
9443127
10491927
11508527

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
25.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
25.1b
(/.f64 (-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b)) (+.f64 (+.f64 x t) y))
Compiler

Compiled 100 to 55 computations (45% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x y) z)
1.5b
(+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a))
2.3b
(-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b))
23.6b
(/.f64 (-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b)) (+.f64 (+.f64 x t) y))

series208.0ms (1.6%)

Counts
4 → 240
Calls

4 calls:

152.0ms
(/.f64 (-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b)) (+.f64 (+.f64 x t) y))
28.0ms
(-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b))
21.0ms
(+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a))
6.0ms
(*.f64 (+.f64 x y) z)

rewrite42.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
40×*-un-lft-identity_binary64
20×add-sqr-sqrt_binary64
18×add-cube-cbrt_binary64
15×times-frac_binary64
13×distribute-lft-out_binary64
Counts
4 → 105
Calls

4 calls:

15.0ms
(/.f64 (-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b)) (+.f64 (+.f64 x t) y))
9.0ms
(-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b))
5.0ms
(+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a))
4.0ms
(*.f64 (+.f64 x y) z)

simplify174.0ms (1.3%)

Algorithm
egg-herbie
Rules
618×associate-/l*_binary64
298×+-commutative_binary64
290×fma-def_binary64
269×distribute-rgt-in_binary64
247×distribute-lft-in_binary64
Counts
345 → 281
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
077412872
1227712422
2502612422

prune225.0ms (1.7%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2729281
Fresh000
Picked101
Done000
Total2739282
Error
3.0b
Counts
282 → 9
Alt Table
StatusErrorProgram
39.7b
(*.f64 (/.f64 a (+.f64 y (+.f64 t x))) (+.f64 y t))
25.2b
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))))
25.1b
(/.f64 (+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b)))) (+.f64 (+.f64 x t) y))
42.7b
a
45.8b
(/.f64 (/.f64 (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))) (sqrt.f64 (+.f64 y (+.f64 t x)))) (sqrt.f64 (+.f64 (+.f64 x t) y)))
43.1b
z
32.4b
(/.f64 (fma.f64 a (+.f64 y t) (*.f64 z (+.f64 y x))) (+.f64 y (+.f64 t x)))
25.2b
(*.f64 (-.f64 (+.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 t y) a)) (*.f64 y b)) (/.f64 1 (+.f64 (+.f64 x t) y)))
28.7b
(-.f64 (+.f64 a z) b)
Compiler

Compiled 13187 to 3458 computations (73.8% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x y) z)
0.8b
(fma.f64 a t (*.f64 y (-.f64 a b)))
2.1b
(+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b))))
23.6b
(/.f64 (+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b)))) (+.f64 (+.f64 x t) y))

series188.0ms (1.4%)

Counts
3 → 192
Calls

3 calls:

150.0ms
(/.f64 (+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b)))) (+.f64 (+.f64 x t) y))
27.0ms
(+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b))))
11.0ms
(fma.f64 a t (*.f64 y (-.f64 a b)))

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
33×*-un-lft-identity_binary64
15×times-frac_binary64
13×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64
12×distribute-lft-out_binary64
Counts
3 → 66
Calls

3 calls:

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

simplify145.0ms (1.1%)

Algorithm
egg-herbie
Rules
582×associate-/l*_binary64
376×associate-/r*_binary64
279×+-commutative_binary64
238×associate-*r*_binary64
225×associate-+r+_binary64
Counts
258 → 204
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068211320
1198311011
2501611011

prune154.0ms (1.2%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2411242
Fresh178
Picked011
Done000
Total2429251
Error
3.0b
Counts
251 → 9
Alt Table
StatusErrorProgram
25.2b
(*.f64 (+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b)))) (/.f64 1 (+.f64 (+.f64 x t) y)))
43.1b
z
39.7b
(*.f64 (/.f64 a (+.f64 y (+.f64 t x))) (+.f64 y t))
25.2b
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))))
25.1b
(/.f64 (+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b)))) (+.f64 (+.f64 x t) y))
42.7b
a
45.8b
(/.f64 (/.f64 (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))) (sqrt.f64 (+.f64 y (+.f64 t x)))) (sqrt.f64 (+.f64 (+.f64 x t) y)))
32.4b
(/.f64 (fma.f64 a (+.f64 y t) (*.f64 z (+.f64 y x))) (+.f64 y (+.f64 t x)))
28.7b
(-.f64 (+.f64 a z) b)
Compiler

Compiled 11333 to 3120 computations (72.5% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))))
0.8b
(fma.f64 a t (*.f64 y (-.f64 a b)))
1.8b
(fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))
23.6b
(/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))

series1.7s (13%)

Counts
3 → 216
Calls

3 calls:

1.6s
(/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))
129.0ms
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))))
24.0ms
(fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))

rewrite34.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
149×*-un-lft-identity_binary64
132×times-frac_binary64
69×add-sqr-sqrt_binary64
69×add-cube-cbrt_binary64
48×distribute-lft-out_binary64
Counts
3 → 151
Calls

3 calls:

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

simplify377.0ms (2.9%)

Algorithm
egg-herbie
Rules
598×associate-/l*_binary64
439×times-frac_binary64
340×fma-def_binary64
84×sub-neg_binary64
46×sqr-pow_binary64
Counts
367 → 342
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0275848199
1561448199

prune588.0ms (4.5%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3584362
Fresh257
Picked101
Done011
Total36110371
Error
3.0b
Counts
371 → 10
Alt Table
StatusErrorProgram
39.7b
(*.f64 (/.f64 a (+.f64 y (+.f64 t x))) (+.f64 y t))
25.2b
(*.f64 (/.f64 1 (+.f64 y (+.f64 t x))) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))
25.1b
(/.f64 (+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b)))) (+.f64 (+.f64 x t) y))
42.7b
a
45.8b
(/.f64 (/.f64 (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))) (sqrt.f64 (+.f64 y (+.f64 t x)))) (sqrt.f64 (+.f64 (+.f64 x t) y)))
32.4b
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (+.f64 (*.f64 y z) (+.f64 (*.f64 y a) (+.f64 (*.f64 a t) (*.f64 z x))))))
43.1b
z
25.9b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))) (cbrt.f64 (/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))))) (/.f64 1 (cbrt.f64 (/.f64 (+.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))))))
40.1b
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (-.f64 (*.f64 a (+.f64 t y)) (*.f64 y b))))
28.7b
(-.f64 (+.f64 a z) b)
Compiler

Compiled 53788 to 20474 computations (61.9% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (+.f64 y (+.f64 t x)))
0.8b
(fma.f64 a t (*.f64 y (-.f64 a b)))
1.8b
(fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))
23.7b
(*.f64 (/.f64 1 (+.f64 y (+.f64 t x))) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))

series154.0ms (1.2%)

Counts
2 → 108
Calls

2 calls:

129.0ms
(*.f64 (/.f64 1 (+.f64 y (+.f64 t x))) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))
25.0ms
(/.f64 1 (+.f64 y (+.f64 t x)))

rewrite22.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
58×*-un-lft-identity_binary64
32×times-frac_binary64
29×add-sqr-sqrt_binary64
22×add-cube-cbrt_binary64
21×distribute-lft-out_binary64
Counts
2 → 90
Calls

2 calls:

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

simplify172.0ms (1.3%)

Algorithm
egg-herbie
Rules
659×associate-/l*_binary64
449×associate-/r*_binary64
285×+-commutative_binary64
222×associate-+r+_binary64
176×fma-def_binary64
Counts
198 → 231
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
072710997
1223710739
2499410739
3499010739

prune213.0ms (1.6%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2962298
Fresh178
Picked011
Done011
Total29711308
Error
3.0b
Counts
308 → 11
Alt Table
StatusErrorProgram
39.7b
(*.f64 (/.f64 a (+.f64 y (+.f64 t x))) (+.f64 y t))
25.2b
(*.f64 (/.f64 1 (+.f64 y (+.f64 t x))) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))))
25.1b
(/.f64 (+.f64 (*.f64 (+.f64 x y) z) (fma.f64 a t (*.f64 y (-.f64 a b)))) (+.f64 (+.f64 x t) y))
42.7b
a
45.8b
(/.f64 (/.f64 (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b)))) (sqrt.f64 (+.f64 y (+.f64 t x)))) (sqrt.f64 (+.f64 (+.f64 x t) y)))
32.5b
(*.f64 (/.f64 1 (+.f64 y (+.f64 t x))) (fma.f64 y z (fma.f64 a y (fma.f64 z x (*.f64 a t)))))
32.4b
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (+.f64 (*.f64 y z) (+.f64 (*.f64 y a) (+.f64 (*.f64 a t) (*.f64 z x))))))
43.1b
z
40.1b
(/.f64 1 (/.f64 (+.f64 y (+.f64 t x)) (-.f64 (*.f64 a (+.f64 t y)) (*.f64 y b))))
44.1b
(*.f64 (/.f64 1 (-.f64 (*.f64 y y) (*.f64 (+.f64 t x) (+.f64 t x)))) (*.f64 (-.f64 y (+.f64 t x)) (fma.f64 z (+.f64 y x) (fma.f64 a t (*.f64 y (-.f64 a b))))))
28.7b
(-.f64 (+.f64 a z) b)
Compiler

Compiled 13446 to 4281 computations (68.2% saved)

regimes5.7s (43.5%)

Accuracy

Total 4.5b remaining (58.3%)

Threshold costs 0b (0%)

Counts
183 → 3
Compiler

Compiled 34996 to 19493 computations (44.3% saved)

bsearch7.0ms (0.1%)

Compiler

Compiled 27 to 16 computations (40.7% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
031108
152108
265108
371108
474108
574108

end1.0ms (0%)

Compiler

Compiled 79 to 30 computations (62% saved)

sample980.0ms (7.5%)

Algorithm
intervals
Results
535.0ms7999×body128valid
0.0msbody1024valid
Compiler

Compiled 358 to 202 computations (43.6% saved)

Profiling

Loading profile data...