Details

Time bar (total: 2.7s)

analyze88.0ms (3.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
37.5%50%12.6%6
50%37.5%12.6%7
56.2%25%18.8%8
62.4%18.7%18.8%9
65.6%12.5%22%10
68.7%9.4%22%11
70.2%6.2%23.5%12
71.8%4.7%23.5%13
72.6%3.1%24.3%14
Compiler

Compiled 10 to 7 computations (30% saved)

sample829.0ms (30.5%)

Results
808.0ms8256×body128valid
8.0ms94×body128invalid
Compiler

Compiled 20 to 14 computations (30% saved)

preprocess34.0ms (1.2%)

Algorithm
egg-herbie
Rules
496×fma-def_binary64
136×fma-neg_binary64
71×distribute-rgt-in_binary64
53×unsub-neg_binary64
46×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
12620
24820
310820
425320
536720
649920
768520
8119820
9122320
10127320
022
Stop Event
saturated
saturated
Compiler

Compiled 9 to 6 computations (33.3% saved)

simplify14.0ms (0.5%)

Algorithm
egg-herbie
Rules
265×fma-def_binary64
84×fma-neg_binary64
35×distribute-rgt-in_binary64
25×unsub-neg_binary64
24×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11610
23310
37110
416110
523810
632510
742910
866910
971410
1074610
Stop Event
saturated
Counts
1 → 2

prune7.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
5.6b
(-.f64 x (*.f64 y (*.f64 x x)))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
Compiler

Compiled 52 to 31 computations (40.4% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))

series7.0ms (0.3%)

Counts
1 → 24
Calls

6 calls:

2.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
y
-inf
1.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
x
-inf
1.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
x
0
1.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
x
inf
1.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
y
inf

rewrite39.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
682×log1p-expm1-u_binary64
682×expm1-log1p-u_binary64
423×prod-diff_binary64
73×add-sqr-sqrt_binary64
68×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
114610
2184110
Stop Event
node limit
Counts
1 → 21

simplify37.0ms (1.4%)

Algorithm
egg-herbie
Rules
1023×fma-neg_binary64
478×cancel-sign-sub-inv_binary64
266×associate-*l*_binary64
251×unswap-sqr_binary64
205×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09218
123218
250218
3124218
4349218
51199218
62253218
73990218
Stop Event
node limit
Counts
45 → 26

prune20.0ms (0.7%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New22426
Fresh011
Picked101
Done000
Total23528
Error
0.0b
Counts
28 → 5
Alt Table
StatusErrorProgram
0.1b
(-.f64 x (*.f64 x (*.f64 x y)))
5.6b
(-.f64 x (*.f64 y (*.f64 x x)))
30.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 2)
1.3b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
7.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
Compiler

Compiled 389 to 229 computations (41.1% saved)

localize4.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (*.f64 x (*.f64 x y)))
0.2b
(*.f64 x (*.f64 x y))

series15.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

2.0ms
(*.f64 x (*.f64 x y))
y
-inf
1.0ms
(*.f64 x (*.f64 x y))
y
0
1.0ms
(*.f64 x (*.f64 x y))
y
inf
1.0ms
(-.f64 x (*.f64 x (*.f64 x y)))
y
inf
1.0ms
(-.f64 x (*.f64 x (*.f64 x y)))
y
-inf

rewrite61.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
731×prod-diff_binary64
704×log1p-expm1-u_binary64
704×expm1-log1p-u_binary64
130×egg-rr
73×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0617
113417
2191917
Stop Event
node limit
Counts
2 → 130

simplify42.0ms (1.5%)

Algorithm
egg-herbie
Rules
1024×fma-neg_binary64
480×cancel-sign-sub-inv_binary64
261×associate-*l*_binary64
251×unswap-sqr_binary64
205×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09386
123386
250386
3124386
4349386
51191386
62249386
73988386
Stop Event
node limit
Counts
178 → 137

prune99.0ms (3.7%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1343137
Fresh044
Picked011
Done000
Total1348142
Error
0b
Counts
142 → 8
Alt Table
StatusErrorProgram
0.1b
(-.f64 x (*.f64 x (*.f64 x y)))
5.6b
(-.f64 x (*.f64 y (*.f64 x x)))
34.9b
(-.f64 x (pow.f64 (*.f64 x (sqrt.f64 y)) 2))
30.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 2)
1.3b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
7.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
0.4b
(+.f64 (fma.f64 x 1 (neg.f64 (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))) (fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)))))
25.4b
(+.f64 (fma.f64 x 1 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 x y)) x) (sqrt.f64 (*.f64 x y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 x y)) x)) (sqrt.f64 (*.f64 x y)) (*.f64 (*.f64 (sqrt.f64 (*.f64 x y)) x) (sqrt.f64 (*.f64 x y)))))
Compiler

Compiled 3832 to 1150 computations (70% saved)

localize14.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)))
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)
40.0b
(fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))

series324.0ms (11.9%)

Counts
4 → 39
Calls

18 calls:

65.0ms
(fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))
y
0
64.0ms
(fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))
y
-inf
61.0ms
(fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))
y
inf
50.0ms
(*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)))
x
-inf
33.0ms
(fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))
x
-inf

rewrite53.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
860×expm1-log1p-u_binary64
785×prod-diff_binary64
120×associate-*r*_binary64
110×add-sqr-sqrt_binary64
103×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01162
122732
2278532
Stop Event
node limit
Counts
4 → 94

simplify64.0ms (2.4%)

Algorithm
egg-herbie
Rules
607×sqr-pow_binary64
445×associate-*l*_binary64
434×unswap-sqr_binary64
281×cube-prod_binary64
273×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07201
113201
223201
344201
4107201
5336201
61237201
72113201
82277201
92461201
102669201
112960201
123353201
133833201
144396201
Stop Event
node limit
Counts
133 → 97

prune440.0ms (16.2%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New3330333
Fresh066
Picked011
Done011
Total3338341
Error
0b
Counts
341 → 8
Alt Table
StatusErrorProgram
0.1b
(-.f64 x (*.f64 x (*.f64 x y)))
5.6b
(-.f64 x (*.f64 y (*.f64 x x)))
34.9b
(-.f64 x (pow.f64 (*.f64 x (sqrt.f64 y)) 2))
30.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 2)
1.3b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
7.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
0.4b
(+.f64 (fma.f64 x 1 (neg.f64 (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))) (fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)))))
25.4b
(+.f64 (fma.f64 x 1 (neg.f64 (*.f64 (*.f64 (sqrt.f64 (*.f64 x y)) x) (sqrt.f64 (*.f64 x y))))) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 (*.f64 x y)) x)) (sqrt.f64 (*.f64 x y)) (*.f64 (*.f64 (sqrt.f64 (*.f64 x y)) x) (sqrt.f64 (*.f64 x y)))))
Compiler

Compiled 14121 to 6107 computations (56.8% saved)

localize7.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
0.6b
(cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))
0.7b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)

series133.0ms (4.9%)

Counts
2 → 8
Calls

12 calls:

82.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
y
0
18.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
x
-inf
12.0ms
(cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))
x
-inf
3.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
y
-inf
3.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
x
0

rewrite52.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
845×log1p-expm1-u_binary64
845×expm1-log1p-u_binary64
423×prod-diff_binary64
91×add-sqr-sqrt_binary64
87×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
120722
2233422
Stop Event
node limit
Counts
2 → 65

simplify30.0ms (1.1%)

Algorithm
egg-herbie
Rules
566×unswap-sqr_binary64
550×cancel-sign-sub-inv_binary64
539×fma-def_binary64
279×*-commutative_binary64
236×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
037216
1119216
2336214
31259211
44109163
Stop Event
node limit
Counts
73 → 76

prune65.0ms (2.4%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1011102
Fresh145
Picked011
Done022
Total1028110
Error
0b
Counts
110 → 8
Alt Table
StatusErrorProgram
0.5b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2) (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x))
7.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
0.1b
(-.f64 x (*.f64 x (*.f64 x y)))
5.6b
(-.f64 x (*.f64 y (*.f64 x x)))
34.9b
(-.f64 x (pow.f64 (*.f64 x (sqrt.f64 y)) 2))
30.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 2)
1.3b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
0.4b
(+.f64 (fma.f64 x 1 (neg.f64 (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2))))) (fma.f64 (neg.f64 (cbrt.f64 x)) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)) (*.f64 (cbrt.f64 x) (*.f64 (*.f64 x y) (pow.f64 (cbrt.f64 x) 2)))))
Compiler

Compiled 1663 to 1048 computations (37% saved)

regimes130.0ms (4.8%)

Accuracy

Total 0.1b remaining (83.3%)

Threshold costs 0.1b (83.3%)

Counts
33 → 1
Compiler

Compiled 2118 to 1160 computations (45.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-rgt-neg-in_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
11310
22510
33610
44210
54510
64610
Stop Event
saturated

end101.0ms (3.7%)

Stop Event
fuel
Compiler

Compiled 147 to 90 computations (38.8% saved)

Profiling

Loading profile data...