Details

Time bar (total: 3.9s)

analyze33.0ms (0.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
50%50%0%3
50%50%0%4
75%25%0%5
87.5%12.5%0%6
93.7%6.2%0%7
96.8%3.1%0%8
98.4%1.6%0%9
99.2%0.8%0%10
99.6%0.4%0%11
99.8%0.2%0%12
99.9%0.1%0%13
99.9%0.1%0.1%14
Compiler

Compiled 17 to 14 computations (17.6% saved)

sample33.0ms (0.8%)

Algorithm
intervals
Results
10.0ms57×body512valid
8.0ms43×body1024valid
6.0ms132×body128valid
2.0ms24×body256valid
Compiler

Compiled 34 to 28 computations (17.6% saved)

simplify25.0ms (0.6%)

Algorithm
egg-herbie
Rules
127×fma-neg_binary64
82×fma-def_binary64
41×cancel-sign-sub-inv_binary64
41×sub-neg_binary64
28×distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
12222
23822
36122
410922
518622
624622
729622
834822
936822
1034422

prune2.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New101
Fresh011
Picked000
Done000
Total112
Error
10.5b
Counts
2 → 1
Alt Table
StatusErrorProgram
10.5b
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))
Compiler

Compiled 48 to 39 computations (18.8% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (-.f64 x 1))
0.0b
(/.f64 1 (+.f64 x 1))
0.0b
(-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x))
2.4b
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))

rewrite154.0ms (3.9%)

Algorithm
rewrite-expression-head
Rules
757×*-un-lft-identity_binary64
733×times-frac_binary64
558×add-sqr-sqrt_binary64
508×add-cube-cbrt_binary64
468×prod-diff_binary64
Counts
4 → 668
Calls

4 calls:

47.0ms
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))
18.0ms
(-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x))
4.0ms
(/.f64 1 (-.f64 x 1))
4.0ms
(/.f64 1 (+.f64 x 1))

series15.0ms (0.4%)

Counts
4 → 48
Calls

4 calls:

7.0ms
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))
4.0ms
(/.f64 1 (+.f64 x 1))
2.0ms
(-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x))
2.0ms
(/.f64 1 (-.f64 x 1))

simplify413.0ms (10.5%)

Algorithm
egg-herbie
Rules
932×fma-neg_binary64
457×times-frac_binary64
236×fma-def_binary64
186×sub-neg_binary64
176×exp-prod_binary64
Counts
716 → 716
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
041919278
198913709
225199843
343499843
448159843

prune318.0ms (8.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New7124716
Fresh000
Picked011
Done000
Total7125717
Error
0.0b
Counts
717 → 5
Alt Table
StatusErrorProgram
11.0b
(*.f64 (*.f64 (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1))))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))))
10.5b
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))
33.1b
(+.f64 (fma.f64 (/.f64 1 (-.f64 (*.f64 x x) (*.f64 1 1))) (-.f64 x 1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) 1)))) (/.f64 1 (+.f64 x -1)))
28.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 2 (pow.f64 x 3)) (/.f64 2 (pow.f64 x 7))))
28.6b
(/.f64 (*.f64 (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1))) (+.f64 (*.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (+.f64 x -1)) 1)) (*.f64 (+.f64 x -1) (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1)))))
Compiler

Compiled 9527 to 7599 computations (20.2% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))))
2.4b
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))
2.4b
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))
2.4b
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))

rewrite113.0ms (2.9%)

Algorithm
rewrite-expression-head
Rules
530×*-un-lft-identity_binary64
307×distribute-lft-out_binary64
164×cbrt-prod_binary64
136×times-frac_binary64
86×div-inv_binary64
Counts
2 → 196
Calls

2 calls:

57.0ms
(*.f64 (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))))
27.0ms
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))

series24.0ms (0.6%)

Counts
2 → 24
Calls

2 calls:

15.0ms
(*.f64 (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))))
9.0ms
(+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))

simplify217.0ms (5.5%)

Algorithm
egg-herbie
Rules
930×fma-def_binary64
473×distribute-rgt-in_binary64
411×distribute-lft-in_binary64
351×times-frac_binary64
128×*-commutative_binary64
Counts
220 → 220
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
026412590
165812050
218819627
351229627

prune233.0ms (5.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3601361
Fresh033
Picked101
Done011
Total3615366
Error
0.0b
Counts
366 → 5
Alt Table
StatusErrorProgram
47.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 (+.f64 x -1) (+.f64 (pow.f64 (/.f64 -2 x) 3) (pow.f64 (/.f64 1 (+.f64 x 1)) 3)) (+.f64 (/.f64 (/.f64 4 x) x) (/.f64 (+.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (+.f64 x 1)))) (*.f64 (+.f64 x -1) (+.f64 (/.f64 (/.f64 4 x) x) (/.f64 (+.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (+.f64 x 1)))))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1))))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))))
10.5b
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))
33.1b
(+.f64 (fma.f64 (/.f64 1 (-.f64 (*.f64 x x) (*.f64 1 1))) (-.f64 x 1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) 1)))) (/.f64 1 (+.f64 x -1)))
28.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 2 (pow.f64 x 3)) (/.f64 2 (pow.f64 x 7))))
28.6b
(/.f64 (*.f64 (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1))) (+.f64 (*.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (+.f64 x -1)) 1)) (*.f64 (+.f64 x -1) (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1)))))
Compiler

Compiled 9480 to 7681 computations (19% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 2 (pow.f64 x 3)) (/.f64 2 (pow.f64 x 7))))
0.0b
(/.f64 2 (pow.f64 x 7))
0.1b
(/.f64 2 (pow.f64 x 5))
0.1b
(/.f64 2 (pow.f64 x 3))

rewrite72.0ms (1.8%)

Algorithm
rewrite-expression-head
Rules
108×times-frac_binary64
92×*-un-lft-identity_binary64
78×add-sqr-sqrt_binary64
78×add-cube-cbrt_binary64
45×unpow-prod-down_binary64
Counts
4 → 210
Calls

4 calls:

51.0ms
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 2 (pow.f64 x 3)) (/.f64 2 (pow.f64 x 7))))
4.0ms
(/.f64 2 (pow.f64 x 3))
3.0ms
(/.f64 2 (pow.f64 x 5))
3.0ms
(/.f64 2 (pow.f64 x 7))

series66.0ms (1.7%)

Counts
4 → 12
Calls

4 calls:

19.0ms
(/.f64 2 (pow.f64 x 7))
17.0ms
(/.f64 2 (pow.f64 x 5))
16.0ms
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 2 (pow.f64 x 3)) (/.f64 2 (pow.f64 x 7))))
13.0ms
(/.f64 2 (pow.f64 x 3))

simplify133.0ms (3.4%)

Algorithm
egg-herbie
Rules
680×fma-def_binary64
379×distribute-rgt-in_binary64
260×fma-neg_binary64
223×cancel-sign-sub-inv_binary64
205×unswap-sqr_binary64
Counts
222 → 222
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02903415
16013345
221183247
347553247
450003247

prune183.0ms (4.6%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2193222
Fresh033
Picked011
Done011
Total2198227
Error
0.0b
Counts
227 → 8
Alt Table
StatusErrorProgram
33.1b
(+.f64 (fma.f64 (/.f64 1 (-.f64 (*.f64 x x) (*.f64 1 1))) (-.f64 x 1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) 1)))) (/.f64 1 (+.f64 x -1)))
35.5b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (cbrt.f64 (pow.f64 (/.f64 2 (pow.f64 x 3)) 3)) (/.f64 2 (pow.f64 x 7))))
28.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 (/.f64 2 x) (*.f64 x x)) (/.f64 2 (pow.f64 x 7))))
28.1b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 2) (pow.f64 x 3))) (/.f64 2 (pow.f64 x 7))))
47.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 (+.f64 x -1) (+.f64 (pow.f64 (/.f64 -2 x) 3) (pow.f64 (/.f64 1 (+.f64 x 1)) 3)) (+.f64 (/.f64 (/.f64 4 x) x) (/.f64 (+.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (+.f64 x 1)))) (*.f64 (+.f64 x -1) (+.f64 (/.f64 (/.f64 4 x) x) (/.f64 (+.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (+.f64 x 1)))))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1))))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))))
10.5b
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))
28.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 2 (pow.f64 x 3)) (/.f64 2 (pow.f64 x 7))))
28.6b
(/.f64 (*.f64 (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1))) (+.f64 (*.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (+.f64 x -1)) 1)) (*.f64 (+.f64 x -1) (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1)))))
Compiler

Compiled 4248 to 3452 computations (18.7% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 (/.f64 2 x) (*.f64 x x)) (/.f64 2 (pow.f64 x 7))))
0.0b
(/.f64 2 (pow.f64 x 7))
0.1b
(/.f64 2 (pow.f64 x 5))
0.1b
(/.f64 (/.f64 2 x) (*.f64 x x))

rewrite42.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
52×times-frac_binary64
35×*-un-lft-identity_binary64
30×add-sqr-sqrt_binary64
30×add-cube-cbrt_binary64
25×fma-def_binary64
Counts
2 → 93
Calls

2 calls:

30.0ms
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 (/.f64 2 x) (*.f64 x x)) (/.f64 2 (pow.f64 x 7))))
5.0ms
(/.f64 (/.f64 2 x) (*.f64 x x))

series27.0ms (0.7%)

Counts
2 → 24
Calls

2 calls:

14.0ms
(/.f64 (/.f64 2 x) (*.f64 x x))
13.0ms
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 (/.f64 2 x) (*.f64 x x)) (/.f64 2 (pow.f64 x 7))))

simplify98.0ms (2.5%)

Algorithm
egg-herbie
Rules
633×fma-def_binary64
617×times-frac_binary64
358×distribute-rgt-in_binary64
322×fma-neg_binary64
320×distribute-lft-in_binary64
Counts
117 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01741786
14861702
217091661
349671661
451351661

prune165.0ms (4.2%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2110211
Fresh055
Picked011
Done022
Total2118219
Error
0.0b
Counts
219 → 8
Alt Table
StatusErrorProgram
33.1b
(+.f64 (fma.f64 (/.f64 1 (-.f64 (*.f64 x x) (*.f64 1 1))) (-.f64 x 1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 2) x) (/.f64 (sqrt.f64 2) 1)))) (/.f64 1 (+.f64 x -1)))
35.5b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (cbrt.f64 (pow.f64 (/.f64 2 (pow.f64 x 3)) 3)) (/.f64 2 (pow.f64 x 7))))
28.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 (/.f64 2 x) (*.f64 x x)) (/.f64 2 (pow.f64 x 7))))
28.1b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (*.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 2) (pow.f64 x 3))) (/.f64 2 (pow.f64 x 7))))
47.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 (+.f64 x -1) (+.f64 (pow.f64 (/.f64 -2 x) 3) (pow.f64 (/.f64 1 (+.f64 x 1)) 3)) (+.f64 (/.f64 (/.f64 4 x) x) (/.f64 (+.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (+.f64 x 1)))) (*.f64 (+.f64 x -1) (+.f64 (/.f64 (/.f64 4 x) x) (/.f64 (+.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (+.f64 x 1)))))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1))))) (cbrt.f64 (+.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (/.f64 1 (+.f64 x -1)))))
10.5b
(+.f64 (-.f64 (/.f64 1 (+.f64 x 1)) (/.f64 2 x)) (/.f64 1 (-.f64 x 1)))
28.0b
(+.f64 (/.f64 2 (pow.f64 x 5)) (+.f64 (/.f64 2 (pow.f64 x 3)) (/.f64 2 (pow.f64 x 7))))
28.6b
(/.f64 (*.f64 (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1))) (+.f64 (*.f64 (+.f64 (/.f64 -2 x) (/.f64 1 (+.f64 x 1))) (+.f64 x -1)) 1)) (*.f64 (+.f64 x -1) (+.f64 (/.f64 2 x) (/.f64 1 (+.f64 x 1)))))
Compiler

Compiled 4203 to 3123 computations (25.7% saved)

regimes237.0ms (6%)

Accuracy

Total 0.3b remaining (91.6%)

Threshold costs 0.3b (91.6%)

Compiler

Compiled 3424 to 2796 computations (18.3% saved)

bsearch3.0ms (0.1%)

Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Rules
10×+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043134
155134
260134
362134
463134
559134

end2.0ms (0%)

Compiler

Compiled 91 to 74 computations (18.7% saved)

sample1.3s (32.5%)

Algorithm
intervals
Results
275.0ms1540×body512valid
262.0ms1309×body1024valid
231.0ms4366×body128valid
75.0ms785×body256valid
0.0msbody128invalid
Compiler

Compiled 372 to 302 computations (18.8% saved)

Profiling

Loading profile data...