Details

Time bar (total: 3.0s)

analyze377.0ms (12.7%)

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
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
31.2%68.6%0.1%8
37.4%59.3%3.3%9
45.2%48.4%6.4%10
56.9%36.7%6.4%11
60.5%30.8%8.7%12
64.2%24.8%11.1%13
70.3%18.6%11.1%14
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample869.0ms (29.3%)

Results
807.0ms8256×body128valid
47.0ms530×body128invalid
Compiler

Compiled 22 to 16 computations (27.3% saved)

preprocess42.0ms (1.4%)

Algorithm
egg-herbie
Rules
754×fma-def_binary64
220×fma-neg_binary64
86×distribute-rgt-in_binary64
81×unsub-neg_binary64
60×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01740
14440
28840
317940
436840
554540
672440
796440
8170940
9175140
10182840
11182840
033
133
Stop Event
unsound
saturated
Symmetry

(sort y z)

Compiler

Compiled 10 to 7 computations (30% saved)

simplify19.0ms (0.6%)

Algorithm
egg-herbie
Rules
419×fma-def_binary64
121×fma-neg_binary64
46×distribute-rgt-in_binary64
44×associate-*r*_binary64
43×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11710
23410
38010
422710
530610
641810
755110
888310
9101110
10109110
11111110
Stop Event
saturated
Counts
1 → 1

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
2.4b
Counts
2 → 1
Alt Table
StatusErrorProgram
2.4b
(*.f64 x (-.f64 1 (*.f64 y z)))
Compiler

Compiled 30 to 21 computations (30% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 y z))
2.2b
(*.f64 x (-.f64 1 (*.f64 y z)))

series12.0ms (0.4%)

Counts
2 → 42
Calls

15 calls:

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

rewrite42.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
760×log1p-expm1-u_binary64
760×expm1-log1p-u_binary64
423×prod-diff_binary64
83×add-sqr-sqrt_binary64
77×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
116517
2205717
Stop Event
node limit
Counts
2 → 51

simplify33.0ms (1.1%)

Algorithm
egg-herbie
Rules
428×fma-def_binary64
125×fma-neg_binary64
48×associate-*l*_binary64
48×cancel-sign-sub-inv_binary64
43×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
014364
135364
280364
3162364
4261364
5410364
6696364
7830364
81045364
91135364
Stop Event
saturated
Counts
93 → 60

prune43.0ms (1.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New52860
Fresh000
Picked011
Done000
Total52961
Error
0.0b
Counts
61 → 9
Alt Table
StatusErrorProgram
2.4b
(*.f64 x (-.f64 1 (*.f64 y z)))
4.9b
(fma.f64 y (*.f64 z (neg.f64 x)) x)
34.2b
(exp.f64 (log.f64 (*.f64 x (-.f64 1 (*.f64 y z)))))
38.4b
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 (*.f64 y z))) 3))
31.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 2)
3.5b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
16.1b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 y z) 2)) x) (+.f64 1 (*.f64 y z)))
18.6b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 y z)) 3)))
2.9b
(*.f64 x (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3))
Compiler

Compiled 927 to 537 computations (42.1% saved)

localize10.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 y z))
0.3b
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3)
2.2b
(*.f64 x (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3))
2.4b
(cbrt.f64 (-.f64 1 (*.f64 y z)))

series128.0ms (4.3%)

Counts
3 → 52
Calls

21 calls:

51.0ms
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3)
y
0
49.0ms
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3)
z
0
3.0ms
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3)
y
-inf
3.0ms
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3)
y
inf
3.0ms
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3)
z
inf

rewrite52.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
476×log-prod_binary64
423×prod-diff_binary64
175×expm1-udef_binary64
174×log1p-udef_binary64
160×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
122626
2254226
Stop Event
node limit
Counts
3 → 116

simplify29.0ms (1%)

Algorithm
egg-herbie
Rules
699×fma-def_binary64
602×cancel-sign-sub-inv_binary64
340×distribute-rgt-neg-in_binary64
329×distribute-lft-neg-in_binary64
316×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
032522
199522
2309514
31399498
Stop Event
node limit
Counts
168 → 128

prune142.0ms (4.8%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1592161
Fresh167
Picked011
Done011
Total16010170
Error
0.0b
Counts
170 → 10
Alt Table
StatusErrorProgram
2.4b
(*.f64 x (-.f64 1 (*.f64 y z)))
4.9b
(fma.f64 y (*.f64 z (neg.f64 x)) x)
34.2b
(exp.f64 (log.f64 (*.f64 x (-.f64 1 (*.f64 y z)))))
38.4b
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 (*.f64 y z))) 3))
31.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 2)
3.5b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
18.4b
(*.f64 x (fma.f64 (*.f64 (neg.f64 y) (sqrt.f64 z)) (sqrt.f64 z) 1))
16.1b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 y z) 2)) x) (fma.f64 y z 1))
18.6b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 y z)) 3)))
2.9b
(*.f64 x (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3))
Compiler

Compiled 2571 to 1500 computations (41.7% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 y z))
0.5b
(cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z))))
0.7b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
2.2b
(*.f64 x (-.f64 1 (*.f64 y z)))

series332.0ms (11.2%)

Counts
2 → 16
Calls

18 calls:

137.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
y
0
131.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
z
0
17.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
x
-inf
8.0ms
(cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z))))
x
-inf
6.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
x
0

rewrite47.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
482×log-prod_binary64
423×prod-diff_binary64
175×expm1-udef_binary64
174×log1p-udef_binary64
154×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
122622
2255022
Stop Event
node limit
Counts
2 → 81

simplify37.0ms (1.2%)

Algorithm
egg-herbie
Rules
612×unswap-sqr_binary64
566×distribute-rgt-neg-in_binary64
562×distribute-lft-neg-in_binary64
405×fma-neg_binary64
373×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
043504
1143504
2454500
32390500
Stop Event
node limit
Counts
97 → 92

prune97.0ms (3.3%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1520152
Fresh077
Picked011
Done022
Total15210162
Error
0.0b
Counts
162 → 10
Alt Table
StatusErrorProgram
2.4b
(*.f64 x (-.f64 1 (*.f64 y z)))
4.9b
(fma.f64 y (*.f64 z (neg.f64 x)) x)
34.2b
(exp.f64 (log.f64 (*.f64 x (-.f64 1 (*.f64 y z)))))
38.4b
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 (*.f64 y z))) 3))
31.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 2)
3.5b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
18.4b
(*.f64 x (fma.f64 (*.f64 (neg.f64 y) (sqrt.f64 z)) (sqrt.f64 z) 1))
16.1b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 y z) 2)) x) (fma.f64 y z 1))
18.6b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 y z)) 3)))
2.9b
(*.f64 x (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3))
Compiler

Compiled 2596 to 1591 computations (38.7% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
4.7b
(fma.f64 y (*.f64 z (neg.f64 x)) x)

series9.0ms (0.3%)

Counts
1 → 36
Calls

9 calls:

1.0ms
(fma.f64 y (*.f64 z (neg.f64 x)) x)
x
inf
1.0ms
(fma.f64 y (*.f64 z (neg.f64 x)) x)
x
-inf
1.0ms
(fma.f64 y (*.f64 z (neg.f64 x)) x)
x
0
1.0ms
(fma.f64 y (*.f64 z (neg.f64 x)) x)
y
inf
1.0ms
(fma.f64 y (*.f64 z (neg.f64 x)) x)
y
-inf

rewrite47.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
557×log1p-expm1-u_binary64
557×expm1-log1p-u_binary64
314×log-prod_binary64
172×prod-diff_binary64
115×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0710
11438
218328
Stop Event
node limit
Counts
1 → 89

simplify29.0ms (1%)

Algorithm
egg-herbie
Rules
412×fma-def_binary64
110×fma-neg_binary64
61×associate-*l*_binary64
53×distribute-rgt-in_binary64
45×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016338
143338
2102338
3222338
4385338
5606338
61038338
71087338
81159338
Stop Event
saturated
Counts
125 → 96

prune57.0ms (1.9%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New96096
Fresh066
Picked011
Done033
Total9610106
Error
0.0b
Counts
106 → 10
Alt Table
StatusErrorProgram
2.4b
(*.f64 x (-.f64 1 (*.f64 y z)))
4.9b
(fma.f64 y (*.f64 z (neg.f64 x)) x)
34.2b
(exp.f64 (log.f64 (*.f64 x (-.f64 1 (*.f64 y z)))))
38.4b
(cbrt.f64 (pow.f64 (*.f64 x (-.f64 1 (*.f64 y z))) 3))
31.8b
(pow.f64 (sqrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 2)
3.5b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 y z)))) 3)
18.4b
(*.f64 x (fma.f64 (*.f64 (neg.f64 y) (sqrt.f64 z)) (sqrt.f64 z) 1))
16.1b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 y z) 2)) x) (fma.f64 y z 1))
18.6b
(*.f64 x (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 y z)) 3)))
2.9b
(*.f64 x (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 y z))) 3))
Compiler

Compiled 2444 to 962 computations (60.6% saved)

regimes222.0ms (7.5%)

Accuracy

Total 1.6b remaining (98.1%)

Threshold costs 0b (0%)

Counts
25 → 2
Compiler

Compiled 2194 to 1626 computations (25.9% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(*.f64 x (-.f64 1 (*.f64 y z)))
Steps
ItersPointRange
#hash((type . real) (value . -inf))
∈ [
#hash((type . real) (value . -inf))
,
-8.009673229782804e+307
]
Compiler

Compiled 10 to 7 computations (30% saved)

simplify3.0ms (0.1%)

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
01534
13134
25234
36834
47534
57734
Stop Event
saturated

end263.0ms (8.9%)

Stop Event
fuel
Compiler

Compiled 232 to 157 computations (32.3% saved)

Profiling

Loading profile data...