Details

Time bar (total: 6.2s)

analyze4.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
0%50%50%3
25%25%50%4
37.5%12.5%50%5
43.7%6.2%50%6
46.9%3.1%50%7
48.4%1.6%50%8
49.2%0.8%50%9
49.6%0.4%50%10
49.8%0.2%50%11
49.9%0.1%50%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample3.6s (58.1%)

Results
2.3s4123×body1024valid
694.0ms2117×body512valid
343.0ms441×body2048valid
235.0ms1575×body256valid
1.0msbody256invalid

preprocess91.0ms (1.5%)

Algorithm
egg-herbie
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Outputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify32.0ms (0.5%)

Algorithm
egg-herbie
Counts
1 → 2
Calls
Call 1
Inputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Outputs
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))

eval1.0ms (0%)

Compiler

Compiled 17 to 13 computations (23.5% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
58.2b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
58.2b
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.7b
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
0.0b
(/.f64 (+.f64 -1 eps) (-.f64 -1 eps))
0.0b
(/.f64 (+.f64 -1 eps) (-.f64 -1 eps))
5.7b
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
Compiler

Compiled 24 to 17 computations (29.2% saved)

series4.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
1.0ms
eps
@inf
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
1.0ms
eps
@-inf
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
1.0ms
eps
@0
(/.f64 (+.f64 -1 eps) (-.f64 -1 eps))
0.0ms
eps
@inf
(/.f64 (+.f64 -1 eps) (-.f64 -1 eps))

rewrite47.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
106×egg-rr
19×egg-rr
Counts
2 → 125
Calls
Call 1
Inputs
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
(/.f64 (+.f64 -1 eps) (-.f64 -1 eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 0) (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (*.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (*.f64 0 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (cbrt.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)) (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) eps) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (*.f64 (/.f64 1 (-.f64 -1 eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 0) (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) (*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (/.f64 1 (-.f64 -1 eps))) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (*.f64 eps (/.f64 1 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) (*.f64 0 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (+.f64 1 eps)) (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (-.f64 -1 eps)) (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 -1 eps)) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 eps) (/.f64 1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2)) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (-.f64 -1 eps))) (/.f64 (+.f64 -1 eps) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps)) (cbrt.f64 (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (cbrt.f64 (/.f64 1 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) (pow.f64 (cbrt.f64 (-.f64 -1 eps)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 1 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (-.f64 1 eps)) (cbrt.f64 (-.f64 -1 eps))) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (-.f64 1 eps)) 1) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (+.f64 1 eps))) (/.f64 (-.f64 1 eps) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (+.f64 1 eps))) (/.f64 (+.f64 -1 eps) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) (cbrt.f64 (+.f64 1 eps))) (/.f64 (neg.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) -1) (/.f64 (neg.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2))) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 (pow.f64 eps 3))) (/.f64 1 (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) -1) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 -1 (pow.f64 eps 3))) (/.f64 (+.f64 -1 eps) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 -1 eps)) -2) (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (-.f64 -1 eps))) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 (pow.f64 eps 3))) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) -1) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (cbrt.f64 (-.f64 -1 eps))) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 (pow.f64 eps 3))) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) -1) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 (pow.f64 eps 3))) (/.f64 (-.f64 1 eps) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (-.f64 -1 eps)) -2)) (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) (-.f64 -1 eps)) (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) (-.f64 -1 (pow.f64 eps 3))) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) -1) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (/.f64 1 (-.f64 -1 eps)) (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps)))) (/.f64 (/.f64 1 (-.f64 -1 eps)) (pow.f64 (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (/.f64 1 (-.f64 -1 eps)))) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) -1) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (cbrt.f64 (/.f64 1 (-.f64 -1 eps)))) (*.f64 (+.f64 (*.f64 eps (-.f64 -1 eps)) -1) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) -1) (*.f64 (+.f64 (*.f64 eps (-.f64 -1 eps)) -1) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) 1) (*.f64 (+.f64 (*.f64 eps (-.f64 -1 eps)) -1) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) 1) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (-.f64 1 (pow.f64 eps 3))) (*.f64 (+.f64 1 eps) (+.f64 (*.f64 eps (-.f64 -1 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 (-.f64 -1 eps))) (+.f64 -1 (pow.f64 eps 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 (-.f64 -1 eps))) (-.f64 1 (pow.f64 eps 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (+.f64 (*.f64 eps (-.f64 -1 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (neg.f64 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 eps) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 eps) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 (-.f64 -1 eps))) (+.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (-.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 eps (-.f64 -1 eps)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2)) (cbrt.f64 (-.f64 1 eps))) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2)) (cbrt.f64 (+.f64 -1 eps))) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 eps)) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2))) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) 1) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 -1 (pow.f64 eps 3))) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps))) (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 1 (-.f64 -1 eps))) (+.f64 (*.f64 eps (-.f64 -1 eps)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) 1) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 -1 eps))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 (pow.f64 eps 3))) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) -1) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps)))) (pow.f64 (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (*.f64 (+.f64 1 eps) (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (*.f64 (-.f64 -1 eps) (+.f64 (*.f64 eps (-.f64 -1 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (*.f64 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps)))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps))) (+.f64 (*.f64 eps (-.f64 -1 eps)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (fma.f64 eps eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) 1) (fma.f64 eps eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 1 (+.f64 1 eps))) (fma.f64 eps eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) 1) (fma.f64 eps eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3))))))

simplify138.0ms (2.2%)

Algorithm
egg-herbie
Counts
149 → 153
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
1
(+.f64 (*.f64 -2 eps) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
1
(+.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 (*.f64 eps eps) 2 (fma.f64 -2 (pow.f64 eps 3) 1)))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 2 (pow.f64 eps -2) 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 2 (pow.f64 eps -2) 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 2 (pow.f64 eps -2) 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 2 (pow.f64 eps -2) 1))

eval65.0ms (1.1%)

Compiler

Compiled 2478 to 1977 computations (20.2% saved)

prune22.0ms (0.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1494153
Fresh000
Picked011
Done000
Total1495154
Error
0b
Counts
154 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
58.2b
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
58.2b
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
0.7b
(*.f64 -2 eps)
58.2b
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
0.4b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
Compiler

Compiled 46 to 37 computations (19.6% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -2/3 (pow.f64 eps 3))
0.0b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
0.0b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
0.2b
(*.f64 -2/3 (pow.f64 eps 3))
Compiler

Compiled 25 to 19 computations (24% saved)

series3.0ms (0.1%)

Counts
2 → 3
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(*.f64 -2/3 (pow.f64 eps 3))
1.0ms
eps
@inf
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
1.0ms
eps
@inf
(*.f64 -2/3 (pow.f64 eps 3))
1.0ms
eps
@-inf
(*.f64 -2/3 (pow.f64 eps 3))
0.0ms
eps
@0
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))

rewrite48.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
46×egg-rr
26×egg-rr
Counts
2 → 72
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 0 (*.f64 -2/3 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 -2/3 (pow.f64 eps 3))) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -2/3) (*.f64 (cbrt.f64 4/9) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 eps 3) (cbrt.f64 -2/3)) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (*.f64 -2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4/9) (*.f64 (pow.f64 eps 3) (cbrt.f64 -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 4/9) (pow.f64 eps 3)) (cbrt.f64 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 -2/3) eps) (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 (cbrt.f64 -2/3) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) (*.f64 -2/3 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 eps) (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2/3 (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2/3 (pow.f64 eps 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -8/27 (pow.f64 (pow.f64 eps 3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 -2/3) eps) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -8/27 (pow.f64 (pow.f64 eps 3) 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) (*.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 0) (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) (*.f64 0 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))) (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))) (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 2/3) (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (+.f64 (*.f64 -2/3 (*.f64 eps eps)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 -2 eps) 2/3) (-.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 (cbrt.f64 (*.f64 (*.f64 -2 eps) -2/3)) eps))) (+.f64 (cbrt.f64 (*.f64 -2 eps)) (*.f64 (cbrt.f64 -2/3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (-.f64 (pow.f64 (*.f64 -2 eps) 2/3) (*.f64 (cbrt.f64 (*.f64 (*.f64 -2 eps) -2/3)) eps))) (+.f64 (*.f64 (cbrt.f64 -2/3) eps) (cbrt.f64 (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -2 eps)) (pow.f64 (*.f64 -2 eps) 2/3) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 -2/3) eps) (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 -2 eps) 2/3) (cbrt.f64 (*.f64 -2 eps)) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -8 eps)) (pow.f64 eps 2/3) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 -2)) (cbrt.f64 4) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (*.f64 (pow.f64 eps 2/3) -2) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -2) (*.f64 (cbrt.f64 4) eps) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (*.f64 eps eps)) eps (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 eps 3) (cbrt.f64 -2/3)) (cbrt.f64 4/9) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 -2/3 (*.f64 eps eps)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -2/3) (*.f64 (cbrt.f64 4/9) (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 eps) (*.f64 eps eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (*.f64 -2/3 eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 (cbrt.f64 -2/3) eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps -2 (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 eps 2) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 2/3 (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 eps) 1 (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1 (*.f64 -2 eps))))))

simplify63.0ms (1%)

Algorithm
egg-herbie
Counts
75 → 73
Calls
Call 1
Inputs
(*.f64 -2 eps)
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
Outputs
(*.f64 -2 eps)
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))

localize21.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
5.7b
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
0.0b
(pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)
0.0b
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
0.0b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3))
0.0b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3))
0.0b
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
0.0b
(pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)
5.7b
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
Compiler

Compiled 47 to 36 computations (23.4% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)
1.0ms
eps
@0
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
0.0ms
eps
@inf
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
0.0ms
eps
@-inf
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
0.0ms
eps
@inf
(pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)

rewrite77.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
93×egg-rr
93×egg-rr
84×egg-rr
19×egg-rr
Counts
4 → 289
Calls
Call 1
Inputs
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
(pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
(cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 0) (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (*.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (*.f64 0 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 2/3) (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 0) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps)) (*.f64 (/.f64 eps (-.f64 -1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) (*.f64 0 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps)) (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (/.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 4) 2) (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 -1 eps) 3) (/.f64 1 (pow.f64 (-.f64 -1 eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (pow.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2/3) (+.f64 1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (+.f64 1 eps) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (+.f64 2 1/3)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps)) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (+.f64 2 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 1 eps) -3) (pow.f64 (-.f64 1 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (/.f64 1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 eps)) (pow.f64 (/.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (/.f64 1 (-.f64 -1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (-.f64 1 (pow.f64 eps 3))) (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2)) (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 1 (pow.f64 eps 3)) 3) (pow.f64 (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (+.f64 1 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps)))) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps))) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (*.f64 (+.f64 1 eps) (-.f64 1 eps))) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) -1) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (pow.f64 (+.f64 1 eps) -1/3)) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) 1) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 -1 eps))) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (pow.f64 (-.f64 1 eps) 2)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (/.f64 (pow.f64 (-.f64 1 eps) 2) (+.f64 1 eps))) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (neg.f64 (pow.f64 (-.f64 1 eps) 2))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps))) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2)) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2)) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 eps)) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 4) 2)) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 -1 eps)) (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 4) 2)) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (+.f64 -1 eps) 3) 1) (pow.f64 (-.f64 -1 eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) 1) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 -1 eps)) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (-.f64 1 eps) 2) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (+.f64 1 eps)) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (pow.f64 (-.f64 1 eps) 2)) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (+.f64 1 eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (cbrt.f64 (+.f64 1 eps))) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) -1) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (+.f64 1 (pow.f64 eps 3))) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (pow.f64 (+.f64 1 eps) 2/3)) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) 1) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (cbrt.f64 (-.f64 -1 eps))) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) -1) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) 1) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2)) (cbrt.f64 (+.f64 1 eps))) (neg.f64 (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) 3) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) 3) (pow.f64 (pow.f64 (-.f64 -1 eps) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps))) (neg.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (-.f64 1 (pow.f64 eps 3)) 3) (pow.f64 (+.f64 1 eps) -3)) (pow.f64 (fma.f64 (+.f64 1 eps) eps 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) 3) (pow.f64 (fma.f64 (+.f64 1 eps) eps 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 -1 eps) (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (+.f64 1 eps) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (/.f64 (+.f64 -1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 0) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (*.f64 (/.f64 eps (-.f64 -1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (*.f64 0 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 1 eps) (pow.f64 (-.f64 -1 eps) 2)) (/.f64 (fma.f64 eps eps eps) (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (-.f64 -1 eps)) (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 1 (fma.f64 (+.f64 1 eps) eps 1)) (+.f64 1 eps)) (/.f64 (/.f64 (pow.f64 eps 3) (fma.f64 (+.f64 1 eps) eps 1)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (+.f64 1 eps)) (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 (pow.f64 (-.f64 1 eps) 2/3) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 1 eps) -1/3) (/.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 eps)) (cbrt.f64 (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3) (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 eps) (/.f64 1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)) (pow.f64 (+.f64 1 eps) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2/3) (+.f64 1 eps)) (cbrt.f64 (-.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) (pow.f64 (cbrt.f64 (+.f64 1 eps)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) (/.f64 1 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (+.f64 2 1/3))) (cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) (/.f64 1 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (+.f64 1 eps) 2/3))) (pow.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) (cbrt.f64 (fma.f64 (+.f64 1 eps) eps 1))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 1 eps) eps 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (pow.f64 (+.f64 1 eps) 2/3)) (*.f64 (-.f64 -1 eps) (/.f64 eps (cbrt.f64 (+.f64 1 eps))))) (*.f64 (-.f64 -1 eps) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (-.f64 -1 eps)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (neg.f64 eps))) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (+.f64 1 eps)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) eps)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 eps) 2/3) (*.f64 (+.f64 1 eps) (/.f64 eps (cbrt.f64 (+.f64 1 eps))))) (*.f64 (+.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (neg.f64 (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 eps) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 eps) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (-.f64 1 eps)) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (pow.f64 (-.f64 1 eps) 2/3)) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3) (cbrt.f64 (-.f64 1 eps))) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3) (cbrt.f64 (+.f64 -1 eps))) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) 1) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) 1) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) 1) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 1 (-.f64 -1 eps))) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3)) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 -1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3)) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) (+.f64 1 eps)) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) 1) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) 1) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) -1) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (+.f64 1 (pow.f64 eps 3))) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (+.f64 1 eps))) (neg.f64 (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 1 eps) (*.f64 (-.f64 -1 eps) (neg.f64 eps))) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 -1 eps) (*.f64 (-.f64 -1 eps) eps)) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (pow.f64 (+.f64 1 eps) 2/3)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (/.f64 eps (cbrt.f64 (+.f64 1 eps))))) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 -1 eps) (*.f64 (+.f64 1 eps) (neg.f64 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps)))) (neg.f64 (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2))) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (+.f64 -1 (pow.f64 eps 3))) (neg.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 eps 3))) (/.f64 (pow.f64 (-.f64 1 eps) 2/3) (+.f64 1 eps))) (cbrt.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 1 (+.f64 1 eps))) (neg.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps))) (neg.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 1 eps) -1/3) (cbrt.f64 (pow.f64 (+.f64 1 eps) -2)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 1 eps) -1/3) (pow.f64 (cbrt.f64 (+.f64 1 eps)) -2) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (+.f64 1 eps) -1/3)) (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) -2)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 1 (-.f64 -1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (-.f64 -1 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 0) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (*.f64 (/.f64 eps (-.f64 -1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (*.f64 0 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (+.f64 1 eps) (pow.f64 (-.f64 -1 eps) 2)) (/.f64 (fma.f64 eps eps eps) (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (-.f64 -1 eps)) (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 1 (fma.f64 (+.f64 1 eps) eps 1)) (+.f64 1 eps)) (/.f64 (/.f64 (pow.f64 eps 3) (fma.f64 (+.f64 1 eps) eps 1)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (+.f64 1 eps)) (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 (pow.f64 (-.f64 1 eps) 2/3) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 1 eps) -1/3) (/.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 eps)) (cbrt.f64 (/.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3) (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 eps) (/.f64 1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)) (pow.f64 (+.f64 1 eps) -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2/3) (+.f64 1 eps)) (cbrt.f64 (-.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) (pow.f64 (cbrt.f64 (+.f64 1 eps)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) (/.f64 1 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (+.f64 2 1/3))) (cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) (/.f64 1 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (+.f64 1 eps) 2/3))) (pow.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) (cbrt.f64 (fma.f64 (+.f64 1 eps) eps 1))) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 1 eps) eps 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (pow.f64 (+.f64 1 eps) 2/3)) (*.f64 (-.f64 -1 eps) (/.f64 eps (cbrt.f64 (+.f64 1 eps))))) (*.f64 (-.f64 -1 eps) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (-.f64 -1 eps)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (neg.f64 eps))) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (+.f64 1 eps)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) eps)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 1 eps) 2/3) (*.f64 (+.f64 1 eps) (/.f64 eps (cbrt.f64 (+.f64 1 eps))))) (*.f64 (+.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (neg.f64 (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 eps) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 eps) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (-.f64 1 eps)) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (pow.f64 (-.f64 1 eps) 2/3)) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3) (cbrt.f64 (-.f64 1 eps))) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3) (cbrt.f64 (+.f64 -1 eps))) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) 1) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) 1) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) 1) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 1 (-.f64 -1 eps))) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) 2/3)) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3)) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 -1 eps)) (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2/3)) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps)) (+.f64 1 eps)) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps))) 1) (pow.f64 (+.f64 1 eps) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps)) 1) (fma.f64 (+.f64 1 eps) eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) -1) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (+.f64 1 (pow.f64 eps 3))) (/.f64 1 (fma.f64 eps (+.f64 -1 eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (+.f64 1 eps))) (neg.f64 (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 (*.f64 (fma.f64 (+.f64 1 eps) eps 1) (+.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (+.f64 1 eps) (*.f64 (-.f64 -1 eps) (neg.f64 eps))) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 -1 eps) (*.f64 (-.f64 -1 eps) eps)) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/3) (pow.f64 (+.f64 1 eps) 2/3)) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (/.f64 eps (cbrt.f64 (+.f64 1 eps))))) (*.f64 (pow.f64 (+.f64 1 eps) 2/3) (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (-.f64 -1 eps) (*.f64 (+.f64 1 eps) (neg.f64 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps)))) (neg.f64 (pow.f64 (+.f64 1 eps) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 eps) (-.f64 1 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (pow.f64 (+.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 2))) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (+.f64 -1 (pow.f64 eps 3))) (neg.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 eps 3))) (/.f64 (pow.f64 (-.f64 1 eps) 2/3) (+.f64 1 eps))) (cbrt.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 1 (+.f64 1 eps))) (neg.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (-.f64 1 (pow.f64 eps 3)) (+.f64 1 eps))) (neg.f64 (fma.f64 (+.f64 1 eps) eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 1 eps) -1/3) (cbrt.f64 (pow.f64 (+.f64 1 eps) -2)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 1 eps) -1/3) (pow.f64 (cbrt.f64 (+.f64 1 eps)) -2) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (+.f64 1 eps) -1/3)) (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) -2)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 1 (-.f64 -1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (-.f64 -1 eps)))))))

simplify253.0ms (4.1%)

Algorithm
egg-herbie
Counts
337 → 236
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
1
(+.f64 1 (*.f64 -6 eps))
(+.f64 1 (+.f64 (*.f64 18 (pow.f64 eps 2)) (*.f64 -6 eps)))
(+.f64 (*.f64 -38 (pow.f64 eps 3)) (+.f64 1 (+.f64 (*.f64 18 (pow.f64 eps 2)) (*.f64 -6 eps))))
-1
(-.f64 (*.f64 6 (/.f64 1 eps)) 1)
(-.f64 (*.f64 6 (/.f64 1 eps)) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 38 (/.f64 1 (pow.f64 eps 3))) (*.f64 6 (/.f64 1 eps))) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 (*.f64 6 (/.f64 1 eps)) 1)
(-.f64 (*.f64 6 (/.f64 1 eps)) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 38 (/.f64 1 (pow.f64 eps 3))) (*.f64 6 (/.f64 1 eps))) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
1
(+.f64 (*.f64 -2 eps) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
1
(+.f64 (*.f64 -2 eps) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
1
(+.f64 1 (*.f64 -6 eps))
(fma.f64 eps -6 1)
(+.f64 1 (+.f64 (*.f64 18 (pow.f64 eps 2)) (*.f64 -6 eps)))
(+.f64 (fma.f64 eps -6 1) (*.f64 18 (*.f64 eps eps)))
(+.f64 (*.f64 -38 (pow.f64 eps 3)) (+.f64 1 (+.f64 (*.f64 18 (pow.f64 eps 2)) (*.f64 -6 eps))))
(+.f64 (fma.f64 -38 (pow.f64 eps 3) 1) (fma.f64 18 (*.f64 eps eps) (*.f64 -6 eps)))
-1
(-.f64 (*.f64 6 (/.f64 1 eps)) 1)
(+.f64 (/.f64 6 eps) -1)
(-.f64 (*.f64 6 (/.f64 1 eps)) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 6 eps) (fma.f64 (pow.f64 eps -2) 18 1))
(-.f64 (+.f64 (*.f64 38 (/.f64 1 (pow.f64 eps 3))) (*.f64 6 (/.f64 1 eps))) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 38 (pow.f64 eps -3) (/.f64 6 eps)) (fma.f64 (pow.f64 eps -2) 18 1))
-1
(-.f64 (*.f64 6 (/.f64 1 eps)) 1)
(+.f64 (/.f64 6 eps) -1)
(-.f64 (*.f64 6 (/.f64 1 eps)) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 6 eps) (fma.f64 (pow.f64 eps -2) 18 1))
(-.f64 (+.f64 (*.f64 38 (/.f64 1 (pow.f64 eps 3))) (*.f64 6 (/.f64 1 eps))) (+.f64 1 (*.f64 18 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 38 (pow.f64 eps -3) (/.f64 6 eps)) (fma.f64 (pow.f64 eps -2) 18 1))
1
(+.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 3) -2 1)))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 2 (pow.f64 eps -2) 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 2 (pow.f64 eps -2) 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 2 (pow.f64 eps -2) 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 2 (pow.f64 eps -2) 1))
1
(+.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 3) -2 1)))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 2 (pow.f64 eps -2) 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 2 (pow.f64 eps -2) 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 2 (pow.f64 eps -2) 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 2 (pow.f64 eps -2) 1))

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize16.0ms (0.3%)

Local error

Found 6 expressions with local error:

NewErrorProgram
5.7b
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
0.0b
(*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps))
0.0b
(/.f64 1 (-.f64 -1 eps))
0.0b
(/.f64 1 (-.f64 -1 eps))
0.0b
(*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps))
5.7b
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
Compiler

Compiled 34 to 26 computations (23.5% saved)

series3.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
eps
@inf
(/.f64 1 (-.f64 -1 eps))
0.0ms
eps
@0
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
0.0ms
eps
@-inf
(/.f64 1 (-.f64 -1 eps))
0.0ms
eps
@0
(*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps))
0.0ms
eps
@inf
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))

rewrite60.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
126×egg-rr
43×egg-rr
19×egg-rr
Counts
3 → 188
Calls
Call 1
Inputs
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
(*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps))
(/.f64 1 (-.f64 -1 eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 0) (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (*.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (*.f64 0 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (cbrt.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)) (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (-.f64 -1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 0) (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) (*.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) (*.f64 0 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps))) (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 (pow.f64 eps 3))) (-.f64 -1 eps)) (/.f64 (pow.f64 (cbrt.f64 (+.f64 -1 (pow.f64 eps 3))) 2) (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps)) (/.f64 (+.f64 -1 eps) (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps)))) (/.f64 (/.f64 -1 (+.f64 1 eps)) (pow.f64 (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 -1 (+.f64 1 eps)) (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps)))) (/.f64 (+.f64 -1 (pow.f64 eps 3)) (pow.f64 (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) -1) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) (-.f64 -1 (pow.f64 eps 3))) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) -1) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (cbrt.f64 (-.f64 -1 eps))) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 (pow.f64 eps 3))) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 -1 (pow.f64 eps 3))) (/.f64 (+.f64 -1 eps) (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) -1) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (-.f64 -1 eps))) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 (pow.f64 eps 3))) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (/.f64 (-.f64 1 eps) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 (pow.f64 eps 3))) (/.f64 (-.f64 1 eps) (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (+.f64 1 eps))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (/.f64 (+.f64 -1 eps) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 -1 eps)) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 1 eps)) (+.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 eps) (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2)) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 -1 eps)) (-.f64 -1 eps)) (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps)) (cbrt.f64 (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (/.f64 (cbrt.f64 (+.f64 -1 eps)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 -1 eps)) (cbrt.f64 (/.f64 -1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 1 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (/.f64 -1 (+.f64 1 eps)) (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) -1) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 (pow.f64 eps 3))) (/.f64 1 (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (/.f64 1 (fma.f64 eps eps (+.f64 1 eps))) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 eps)) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 (/.f64 eps (cbrt.f64 (-.f64 -1 eps))) (cbrt.f64 (/.f64 -1 (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (/.f64 eps (cbrt.f64 (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) 1) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps)))) (pow.f64 (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (neg.f64 eps) (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (fma.f64 eps eps eps) (-.f64 -1 eps)) (*.f64 (-.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 -1 eps) (fma.f64 eps eps eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 -1 eps) (*.f64 (-.f64 -1 eps) (neg.f64 eps))) (*.f64 (-.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) 1) (*.f64 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (+.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 eps 3)) (cbrt.f64 (/.f64 -1 (+.f64 1 eps)))) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) -1) (*.f64 (+.f64 -1 (*.f64 eps (-.f64 -1 eps))) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) 1) (*.f64 (+.f64 -1 (*.f64 eps (-.f64 -1 eps))) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (cbrt.f64 (/.f64 -1 (+.f64 1 eps)))) (*.f64 (+.f64 -1 (*.f64 eps (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (*.f64 (-.f64 -1 eps) (+.f64 -1 (*.f64 eps (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (-.f64 1 (pow.f64 eps 3))) (*.f64 (+.f64 1 eps) (+.f64 -1 (*.f64 eps (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (+.f64 -1 (pow.f64 eps 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (-.f64 1 (pow.f64 eps 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (+.f64 -1 (*.f64 eps (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 eps) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 eps) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2)) (cbrt.f64 (+.f64 -1 eps))) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 -1 (+.f64 1 eps)) (-.f64 1 (pow.f64 eps 3))) (+.f64 -1 (*.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) 1) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 -1 eps)) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 -1 (pow.f64 eps 3))) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps))) (cbrt.f64 (fma.f64 eps eps (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 -1 (+.f64 1 eps))) (+.f64 -1 (*.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 -1 eps))) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) -1) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 (pow.f64 eps 3))) (/.f64 1 (fma.f64 eps eps (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) 1) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 -1 eps))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (+.f64 1 eps)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (neg.f64 eps) (+.f64 1 eps)) (+.f64 1 eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 eps (-.f64 -1 eps)) (+.f64 1 eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 1 eps) (*.f64 (+.f64 1 eps) (neg.f64 eps))) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (+.f64 1 eps) (*.f64 (-.f64 -1 eps) eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (*.f64 (*.f64 (fma.f64 eps eps (+.f64 1 eps)) (-.f64 -1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps)))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps))) (+.f64 -1 (*.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (fma.f64 eps eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) 1) (fma.f64 eps eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) 1) (fma.f64 eps eps (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1 (-.f64 -1 eps)) (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 -1 eps) (/.f64 -1 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1 (+.f64 1 eps)) -1 (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 -1 (+.f64 1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) eps) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1 (+.f64 1 eps)) eps (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (/.f64 (cbrt.f64 (*.f64 eps eps)) (-.f64 -1 eps)) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (/.f64 -1 (+.f64 1 eps)) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 eps (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (/.f64 eps (-.f64 -1 eps)) 2)) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1 (-.f64 -1 eps)) 1 (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 -1 (-.f64 -1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 eps (-.f64 -1 eps)) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 eps) (-.f64 -1 eps)) (cbrt.f64 (*.f64 eps eps)) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps (cbrt.f64 (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (/.f64 -1 (-.f64 -1 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -1 (+.f64 1 eps)) 0) (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (+.f64 1 eps)) (*.f64 (/.f64 -1 (+.f64 1 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 -1 (+.f64 1 eps))) (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (+.f64 1 eps)) (*.f64 0 (/.f64 -1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 (+.f64 1 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 -1 (pow.f64 eps 3))) (/.f64 1 (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 (pow.f64 eps 3))) (/.f64 -1 (/.f64 1 (fma.f64 eps eps (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps)))) 1) (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps)))) (cbrt.f64 (-.f64 -1 eps))) (/.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2)) (/.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (cbrt.f64 (/.f64 -1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 -1 eps))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) -1) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (-.f64 -1 (pow.f64 eps 3))) (/.f64 1 (fma.f64 eps eps (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 0 (+.f64 1 eps)) (+.f64 1 eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 -1 eps) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 -1 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1 (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 -1 eps) 3) (neg.f64 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 -1 eps)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 -1 eps) -3))))))

simplify201.0ms (3.2%)

Algorithm
egg-herbie
Counts
224 → 229
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
1
(+.f64 (*.f64 -2 eps) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 eps 1)
(-.f64 (+.f64 eps (*.f64 -1 (pow.f64 eps 2))) 1)
(-.f64 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (pow.f64 eps 3))) 1)
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 (pow.f64 eps -3) 2/3 (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 (pow.f64 eps -3) 2/3 (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
1
(+.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 eps -2 (fma.f64 (*.f64 eps eps) 2 (fma.f64 (pow.f64 eps 3) -2 1)))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 (pow.f64 eps -2) 2 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 (pow.f64 eps -2) 2 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 (pow.f64 eps -2) 2 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 (pow.f64 eps -2) 2 1))
-1
(-.f64 eps 1)
(+.f64 eps -1)
(-.f64 (+.f64 eps (*.f64 -1 (pow.f64 eps 2))) 1)
(-.f64 (-.f64 eps (*.f64 eps eps)) 1)
(-.f64 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (pow.f64 eps 3))) 1)
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 eps -1)) (+.f64 eps -1))
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(+.f64 (pow.f64 eps -2) (/.f64 -1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (pow.f64 eps -2) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (pow.f64 eps -4) (pow.f64 eps -2)) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(+.f64 (pow.f64 eps -2) (/.f64 -1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (pow.f64 eps -2) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (pow.f64 eps -4) (pow.f64 eps -2)) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))

eval237.0ms (3.8%)

Compiler

Compiled 8956 to 7188 computations (19.7% saved)

prune68.0ms (1.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New5353538
Fresh000
Picked011
Done224
Total5376543
Error
0b
Counts
543 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
58.2b
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
58.2b
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
0.7b
(*.f64 -2 eps)
58.2b
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))
0.4b
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
0.4b
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
Compiler

Compiled 69 to 52 computations (24.6% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -2/3 (*.f64 eps eps))
0.0b
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
0.0b
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
0.2b
(*.f64 -2/3 (*.f64 eps eps))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series4.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
eps
@inf
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
1.0ms
eps
@0
(*.f64 -2/3 (*.f64 eps eps))
1.0ms
eps
@inf
(*.f64 -2/3 (*.f64 eps eps))
0.0ms
eps
@0
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
0.0ms
eps
@-inf
(*.f64 -2/3 (*.f64 eps eps))

rewrite43.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
65×egg-rr
32×egg-rr
Counts
2 → 97
Calls
Call 1
Inputs
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) 0) (*.f64 -2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (*.f64 eps eps)) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 -2/3 (*.f64 eps eps))) (*.f64 -2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (*.f64 eps eps)) (*.f64 0 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2/3 (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -2/3) (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 (pow.f64 eps 4)) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 eps) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (*.f64 -2/3 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -2/3 eps) (cbrt.f64 eps)) (cbrt.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (cbrt.f64 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 eps 4)) -2/3) (cbrt.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 -2/3 eps) (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) (cbrt.f64 (*.f64 (pow.f64 eps 4) 4/9)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 eps 4) 4/9)) (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 eps eps) (cbrt.f64 -2/3)) (cbrt.f64 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -8/27 (*.f64 eps eps))) (cbrt.f64 (pow.f64 eps 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 4/9) (*.f64 (*.f64 eps eps) (cbrt.f64 -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 eps 4)) (cbrt.f64 (*.f64 -8/27 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2/3 (*.f64 eps eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2/3 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -8/27 (pow.f64 eps 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -2/3 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -8/27 (pow.f64 eps 6)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 0) (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) (*.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps -2) (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))) (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) (*.f64 0 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 eps 3) -2/3) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (fma.f64 (*.f64 eps eps) -2/3 -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (*.f64 eps eps)) (fma.f64 (*.f64 eps eps) -2/3 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (*.f64 eps eps) -2/3 -2)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) 2)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) (cbrt.f64 eps)) (cbrt.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) 2)) eps) (cbrt.f64 (fma.f64 (*.f64 eps eps) -2/3 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 eps eps)) (fma.f64 (*.f64 eps eps) -2/3 -2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (+.f64 (cbrt.f64 (*.f64 -8 eps)) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (+.f64 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps)) (cbrt.f64 (*.f64 -8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (pow.f64 eps 6) -8/27 -8) 1) (/.f64 eps (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (pow.f64 eps 6) -8/27 -8) (cbrt.f64 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps)))))) (/.f64 eps (pow.f64 (cbrt.f64 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps))))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps)))))) (/.f64 (fma.f64 (pow.f64 eps 6) -8/27 -8) (pow.f64 (cbrt.f64 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps))))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))) (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 2)) (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 (fma.f64 (*.f64 eps eps) -2/3 -2))) (cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) 2)) (*.f64 eps (cbrt.f64 (fma.f64 (*.f64 eps eps) -2/3 -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (fma.f64 (pow.f64 eps 6) -8/27 -8)) (/.f64 1 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (fma.f64 (pow.f64 eps 6) -8/27 -8)) (cbrt.f64 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps)))))) (pow.f64 (cbrt.f64 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (fma.f64 (pow.f64 eps 6) -8/27 -8)) (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (neg.f64 (fma.f64 (pow.f64 eps 6) -8/27 -8))) (+.f64 -4 (*.f64 (*.f64 eps eps) (-.f64 4/3 (*.f64 (*.f64 eps eps) 4/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (fma.f64 (pow.f64 eps 6) -8/27 -8)) eps) (+.f64 -4 (*.f64 (*.f64 eps eps) (-.f64 4/3 (*.f64 (*.f64 eps eps) 4/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (fma.f64 (pow.f64 eps 6) -8/27 -8)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (*.f64 eps eps) -2/3 -2) 2)) eps)) (cbrt.f64 (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps (fma.f64 (pow.f64 eps 6) -8/27 -8)) 1) (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (fma.f64 (pow.f64 eps 6) -8/27 -8)) 1) (fma.f64 4/9 (pow.f64 eps 4) (-.f64 4 (*.f64 4/3 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps (fma.f64 (pow.f64 eps 6) -8/27 -8))) (+.f64 -4 (*.f64 (*.f64 eps eps) (-.f64 4/3 (*.f64 (*.f64 eps eps) 4/9)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps -2 (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 eps (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 -2/3) eps) (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (*.f64 eps eps)) eps (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps)))) (cbrt.f64 (*.f64 (pow.f64 eps 4) 4/9)) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 -2/3 (*.f64 eps eps)) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 -2/3 (*.f64 eps eps))) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) -2/3 (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (*.f64 -2/3 eps) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 eps 4) 4/9)) eps) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 eps) (*.f64 eps eps) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps)) (cbrt.f64 (*.f64 eps eps)) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (cbrt.f64 (*.f64 (*.f64 eps eps) -8)) (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -8 eps)) (cbrt.f64 (*.f64 eps eps)) (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 eps -2)) (cbrt.f64 (*.f64 4 (*.f64 eps eps))) (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 -2)) (cbrt.f64 4) (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -2) (*.f64 (cbrt.f64 4) eps) (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps -2) 1 (*.f64 (pow.f64 eps 3) -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 eps 3) -2/3) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 eps -2) (*.f64 (pow.f64 eps 3) -2/3))))))

simplify129.0ms (2.1%)

Algorithm
egg-herbie
Counts
121 → 102
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
Outputs
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))

localize13.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.2b
(*.f64 -2/3 (*.f64 eps eps))
0.1b
(*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)
0.0b
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
0.0b
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
0.1b
(*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)
0.2b
(*.f64 -2/3 (*.f64 eps eps))
Compiler

Compiled 33 to 17 computations (48.5% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
eps
@0
(*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)
0.0ms
eps
@inf
(*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)
0.0ms
eps
@0
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
0.0ms
eps
@-inf
(*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)
0.0ms
eps
@inf
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))

rewrite44.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
55×egg-rr
32×egg-rr
Counts
2 → 87
Calls
Call 1
Inputs
(*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 -2/3 (pow.f64 eps 3))) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 0 (*.f64 -2/3 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 (*.f64 eps eps)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (*.f64 -2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2/3 (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps)) (cbrt.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 eps) (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) (*.f64 -2/3 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) (*.f64 (cbrt.f64 (*.f64 4/9 (pow.f64 eps 4))) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -2/3) (*.f64 (cbrt.f64 4/9) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 4/9 (pow.f64 eps 4))) eps) (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 -2/3 (*.f64 eps eps))) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 4/9) (pow.f64 eps 3)) (cbrt.f64 -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 -2/3) eps) (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 (cbrt.f64 -2/3) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps)))) (cbrt.f64 (*.f64 4/9 (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 4/9 (pow.f64 eps 4))) (*.f64 eps (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2/3 (pow.f64 eps 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -8/27 (pow.f64 (pow.f64 eps 3) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 -2/3) eps) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 -8/27 (pow.f64 (pow.f64 eps 3) 3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 0) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) (*.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) (*.f64 0 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 eps (*.f64 -2/3 eps) -2) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (*.f64 eps eps)) (fma.f64 eps (*.f64 -2/3 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 eps eps)) (fma.f64 eps (*.f64 -2/3 eps) -2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (+.f64 (cbrt.f64 (*.f64 -8 eps)) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps eps)) (+.f64 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps)) (cbrt.f64 (*.f64 -8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))) (cbrt.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 4 (*.f64 eps eps))) (-.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 (cbrt.f64 (*.f64 (*.f64 -2 eps) -2/3)) eps))) (+.f64 (cbrt.f64 (*.f64 -2 eps)) (*.f64 (cbrt.f64 -2/3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (-.f64 (cbrt.f64 (*.f64 4 (*.f64 eps eps))) (*.f64 (cbrt.f64 (*.f64 (*.f64 -2 eps) -2/3)) eps))) (+.f64 (*.f64 (cbrt.f64 -2/3) eps) (cbrt.f64 (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 2)) (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 -8 (*.f64 -8/27 (pow.f64 eps 6)))) (+.f64 4 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (-.f64 (*.f64 -2/3 (*.f64 eps eps)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -8 (*.f64 -8/27 (pow.f64 eps 6))) eps) (+.f64 4 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (-.f64 (*.f64 -2/3 (*.f64 eps eps)) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -2 eps)) (cbrt.f64 (*.f64 4 (*.f64 eps eps))) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 -2/3 (*.f64 eps eps)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (*.f64 eps eps)) eps (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps -2 (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 -2/3) eps) (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (*.f64 -2/3 eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 4/9) (*.f64 eps eps)) (*.f64 (cbrt.f64 -2/3) eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 eps) (*.f64 eps eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 -2/3 (*.f64 eps eps)) (cbrt.f64 eps)) (cbrt.f64 (*.f64 eps eps)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps)))) (cbrt.f64 (*.f64 4/9 (pow.f64 eps 4))) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) (*.f64 (cbrt.f64 (*.f64 4/9 (pow.f64 eps 4))) eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 -2/3 (*.f64 eps eps))) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 2/3 (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -2/3) (*.f64 (cbrt.f64 4/9) (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -2) (*.f64 (cbrt.f64 4) eps) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 2 eps) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (cbrt.f64 (*.f64 (*.f64 eps eps) -8)) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -8 eps)) (cbrt.f64 (*.f64 eps eps)) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (*.f64 eps eps))) (cbrt.f64 (*.f64 -2 eps)) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 -2)) (cbrt.f64 4) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1 (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2 eps) 1 (*.f64 -2/3 (pow.f64 eps 3)))))))

simplify137.0ms (2.2%)

Algorithm
egg-herbie
Counts
111 → 88
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
Outputs
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))

localize36.0ms (0.6%)

Local error

Found 8 expressions with local error:

NewErrorProgram
5.7b
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))
0.0b
(*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps))
0.0b
(/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps)))
0.0b
(*.f64 (+.f64 1 eps) (-.f64 -1 eps))
0.0b
(*.f64 (+.f64 1 eps) (-.f64 -1 eps))
0.0b
(/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps)))
0.0b
(*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps))
5.7b
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))
Compiler

Compiled 95 to 72 computations (24.2% saved)

series4.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
eps
@0
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))
0.0ms
eps
@0
(*.f64 (+.f64 1 eps) (-.f64 -1 eps))
0.0ms
eps
@-inf
(/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps)))
0.0ms
eps
@inf
(*.f64 (+.f64 1 eps) (-.f64 -1 eps))
0.0ms
eps
@-inf
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))

rewrite74.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
76×egg-rr
73×egg-rr
59×egg-rr
20×egg-rr
Counts
4 → 228
Calls
Call 1
Inputs
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))
(*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps))
(/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps)))
(*.f64 (+.f64 1 eps) (-.f64 -1 eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (*.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 0) (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (*.f64 0 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (cbrt.f64 (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 2)) (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 0) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (*.f64 0 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 -1 eps) 0) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (+.f64 -1 eps)) (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (-.f64 -1 eps)) (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (*.f64 (-.f64 -1 eps) (+.f64 1 (fma.f64 eps eps eps)))) (/.f64 (-.f64 1 (pow.f64 eps 3)) (*.f64 (-.f64 -1 eps) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 eps (-.f64 -1 eps)) (pow.f64 (-.f64 -1 eps) -2)) (*.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (-.f64 -1 eps) -2) (-.f64 (*.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) eps) (/.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 eps (-.f64 -1 eps)) (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 eps) (+.f64 -1 (pow.f64 eps 3))) (/.f64 1 (*.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 eps) (+.f64 -1 (pow.f64 eps 3))) (/.f64 1 (*.f64 (pow.f64 (-.f64 -1 eps) 2) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 2)) (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 -1 eps)) (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 eps) (/.f64 (-.f64 1 eps) (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 3 2))) (/.f64 (+.f64 -1 eps) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (-.f64 -1 eps)) (cbrt.f64 (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (pow.f64 (-.f64 -1 eps) 2)) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))) (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 3 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 -1 eps)) (cbrt.f64 (/.f64 -1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 1 (*.f64 (-.f64 -1 eps) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (/.f64 1 (+.f64 1 (fma.f64 eps eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -1 (+.f64 1 eps)) (cbrt.f64 (+.f64 -1 eps))) (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 1 eps)) (+.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 eps) (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 eps) (+.f64 -1 eps)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 -1 eps) 2)) (*.f64 (/.f64 -1 (+.f64 1 eps)) (cbrt.f64 (+.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) (*.f64 (+.f64 1 eps) (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (pow.f64 (-.f64 -1 eps) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (/.f64 (+.f64 -1 eps) (cbrt.f64 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (/.f64 eps (cbrt.f64 (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 (/.f64 eps (cbrt.f64 (-.f64 -1 eps))) (cbrt.f64 (/.f64 -1 (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 eps) (+.f64 -1 (pow.f64 eps 3))) (*.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)) (+.f64 1 (fma.f64 eps eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 eps) (+.f64 -1 (pow.f64 eps 3))) (*.f64 (pow.f64 (-.f64 -1 eps) 2) (+.f64 1 (fma.f64 eps eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 eps 3)) (neg.f64 (*.f64 (-.f64 -1 eps) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (*.f64 (-.f64 -1 eps) (+.f64 1 (fma.f64 eps eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 eps) (+.f64 -1 eps)) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 eps) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps)) (+.f64 1 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 eps) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 eps 3)) (/.f64 (*.f64 (-.f64 -1 eps) (+.f64 1 (fma.f64 eps eps eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (+.f64 -1 (pow.f64 eps 3)) (-.f64 -1 eps))) (-.f64 -1 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 -1 (-.f64 -1 eps)) (+.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 -1 eps) (/.f64 (-.f64 1 eps) (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 -1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 1 eps) (+.f64 -1 eps)) (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 -1 eps) (-.f64 -1 eps)) (neg.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -1 (+.f64 1 eps)) -1 (/.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 -1 (+.f64 1 eps)) (/.f64 eps (-.f64 -1 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) (*.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) eps) (neg.f64 (pow.f64 (-.f64 -1 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -1 (+.f64 1 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (/.f64 -1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (/.f64 -1 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) eps) (pow.f64 (-.f64 -1 eps) -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 1 (+.f64 (*.f64 eps (-.f64 1 eps)) -1)) (pow.f64 (-.f64 -1 eps) 2)) (/.f64 (/.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 eps (+.f64 -1 eps)))) (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) (/.f64 eps (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) (/.f64 (neg.f64 eps) (neg.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 -1 (+.f64 1 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 eps) (neg.f64 (pow.f64 (-.f64 -1 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2)) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 eps)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 eps) (pow.f64 (-.f64 -1 eps) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2))) (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 -1 eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 -1 eps) (-.f64 1/3 1)) (pow.f64 (cbrt.f64 (-.f64 -1 eps)) (-.f64 2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (cbrt.f64 (/.f64 (pow.f64 (-.f64 -1 eps) 2) (pow.f64 (-.f64 -1 eps) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 2 3)) (/.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2))) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 -1 eps) -2) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (-.f64 -1 eps) 2) (pow.f64 (-.f64 -1 eps) 4))) (cbrt.f64 (/.f64 -1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 -1 eps)) (-.f64 2 3)) (pow.f64 (-.f64 -1 eps) (-.f64 1/3 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) -2))) (+.f64 0 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) (-.f64 1/3 1))) (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 -1 eps))) (pow.f64 (cbrt.f64 (-.f64 -1 eps)) (-.f64 2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 -1 eps) (-.f64 1/3 1)) (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 2 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 -1 eps)) (neg.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (neg.f64 (cbrt.f64 (/.f64 (pow.f64 (-.f64 -1 eps) 2) (pow.f64 (-.f64 -1 eps) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 -1 eps)) (neg.f64 (pow.f64 (cbrt.f64 (-.f64 -1 eps)) (-.f64 2 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 (+.f64 1 (*.f64 eps (+.f64 -1 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (pow.f64 eps 3)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2))) (/.f64 -1 (+.f64 (*.f64 eps (-.f64 1 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 -1 eps) 3) (/.f64 1 (pow.f64 (-.f64 -1 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 3 2))) (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2))) (+.f64 0 (cbrt.f64 (/.f64 -1 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (cbrt.f64 (/.f64 -1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (-.f64 -1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 eps) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 eps 3)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2))) (+.f64 1 (*.f64 eps (+.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 3 2))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 -1 eps) 3) (pow.f64 (-.f64 -1 eps) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 eps 3)) (*.f64 (+.f64 1 (*.f64 eps (+.f64 -1 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 eps) (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 eps 3)) (/.f64 (*.f64 (+.f64 1 (*.f64 eps (+.f64 -1 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -1 (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) -2)) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (neg.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 3 2)))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 0 (*.f64 (+.f64 1 (pow.f64 eps 3)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2)))) (+.f64 1 (*.f64 eps (+.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 -1 (pow.f64 eps 3)) (neg.f64 (*.f64 (+.f64 1 (*.f64 eps (+.f64 -1 eps))) (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 1 (pow.f64 eps 3)) (neg.f64 (pow.f64 (-.f64 -1 eps) -2)))) (+.f64 (*.f64 eps (-.f64 1 eps)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 -1 (-.f64 -1 eps))) (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 1 eps) 3) (neg.f64 (pow.f64 (-.f64 -1 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 3 2)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 -1 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -1 (+.f64 1 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 -1 eps)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 -1 eps) 3) (neg.f64 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 -1 eps) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1 (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 -1 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 -1 eps) -3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 eps) (*.f64 eps (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (-.f64 -1 eps)) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (fma.f64 eps eps eps)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 eps (-.f64 -1 eps)) (neg.f64 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (neg.f64 eps) (*.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 eps) (-.f64 -1 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 eps) (*.f64 -1 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 eps) (*.f64 (fma.f64 eps eps eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 eps) (*.f64 (*.f64 eps (-.f64 -1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps (-.f64 -1 eps)) 1) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 eps (-.f64 -1 eps)) (/.f64 1 (+.f64 (*.f64 eps (-.f64 1 eps)) -1))) (/.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 eps (+.f64 -1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 (fma.f64 eps eps eps)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 eps (-.f64 -1 eps)) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (+.f64 (*.f64 eps (-.f64 1 eps)) -1)) (-.f64 (/.f64 (pow.f64 eps 3) (+.f64 1 (*.f64 eps (+.f64 -1 eps)))) (*.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (-.f64 eps (*.f64 eps (-.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 -1 eps) (fma.f64 eps eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 1 (neg.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (+.f64 1 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 eps) (-.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 -1 eps) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4)) (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 -1 eps) (cbrt.f64 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 -1 eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) (+.f64 2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 eps)) (pow.f64 (cbrt.f64 (-.f64 -1 eps)) (+.f64 2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) (+.f64 2 3)) (cbrt.f64 (-.f64 -1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (*.f64 (-.f64 -1 eps) (cbrt.f64 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 -1 eps)) (+.f64 2 3)) (cbrt.f64 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 -1 eps)) (-.f64 0 (pow.f64 (cbrt.f64 (-.f64 -1 eps)) (+.f64 2 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (+.f64 0 (neg.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 2)) (+.f64 0 (*.f64 (-.f64 -1 eps) (cbrt.f64 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (-.f64 -1 (pow.f64 eps 3)) 2)) (/.f64 1 (pow.f64 (+.f64 1 (*.f64 eps (+.f64 -1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 eps) (-.f64 -1 (pow.f64 eps 3))) (/.f64 -1 (+.f64 (*.f64 eps (-.f64 1 eps)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (pow.f64 (-.f64 -1 eps) 4)) 0)) (+.f64 0 (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 -1 eps) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (-.f64 -1 (pow.f64 eps 3)) 2)) (pow.f64 (+.f64 1 (*.f64 eps (+.f64 -1 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 -1 (pow.f64 eps 3)) 2) (neg.f64 (pow.f64 (+.f64 1 (*.f64 eps (+.f64 -1 eps))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 -1 eps) (-.f64 -1 (pow.f64 eps 3))) (+.f64 (*.f64 eps (-.f64 1 eps)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 eps) (-.f64 -1 (pow.f64 eps 3))) (+.f64 1 (*.f64 eps (+.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 -1 eps) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 0 (*.f64 (-.f64 -1 eps) (-.f64 -1 (pow.f64 eps 3)))) (+.f64 1 (*.f64 eps (+.f64 -1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 2))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (-.f64 -1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (neg.f64 (pow.f64 (-.f64 -1 eps) 6)) 1))))))

simplify250.0ms (4%)

Algorithm
egg-herbie
Counts
276 → 277
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
1
(+.f64 (*.f64 -2 eps) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
-1
(-.f64 eps 1)
(-.f64 (+.f64 eps (*.f64 -1 (pow.f64 eps 2))) 1)
(-.f64 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (pow.f64 eps 3))) 1)
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
-1
(-.f64 (*.f64 -2 eps) 1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(*.f64 -1 (pow.f64 eps 2))
(+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2)))
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(*.f64 -1 (pow.f64 eps 2))
(+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2)))
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (/.f64 2 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (fma.f64 2/3 (pow.f64 eps -3) (fma.f64 (pow.f64 eps -5) 2/5 (/.f64 2 eps))))
1
(+.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 eps -2 (fma.f64 2 (*.f64 eps eps) (fma.f64 (pow.f64 eps 3) -2 1)))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 (pow.f64 eps -2) 2 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 (pow.f64 eps -2) 2 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (fma.f64 (pow.f64 eps -2) 2 1))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 2 (pow.f64 eps -3) (/.f64 2 eps)) (fma.f64 (pow.f64 eps -2) 2 1))
-1
(-.f64 eps 1)
(+.f64 eps -1)
(-.f64 (+.f64 eps (*.f64 -1 (pow.f64 eps 2))) 1)
(-.f64 (-.f64 eps (*.f64 eps eps)) 1)
(-.f64 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (pow.f64 eps 3))) 1)
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 eps -1)) (+.f64 eps -1))
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(+.f64 (pow.f64 eps -2) (/.f64 -1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (pow.f64 eps -2) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (pow.f64 eps -4) (pow.f64 eps -2)) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))
(/.f64 -1 eps)
(-.f64 (/.f64 1 (pow.f64 eps 2)) (/.f64 1 eps))
(+.f64 (pow.f64 eps -2) (/.f64 -1 eps))
(-.f64 (/.f64 1 (pow.f64 eps 2)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (pow.f64 eps -2) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 (pow.f64 eps -4) (pow.f64 eps -2)) (+.f64 (/.f64 1 eps) (pow.f64 eps -3)))
-1
(-.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps -1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(+.f64 (fma.f64 -2 eps (neg.f64 (*.f64 eps eps))) -1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(+.f64 (fma.f64 -2 eps (neg.f64 (*.f64 eps eps))) -1)
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2)))
(fma.f64 -2 eps (neg.f64 (*.f64 eps eps)))
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(+.f64 (fma.f64 -2 eps (neg.f64 (*.f64 eps eps))) -1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(+.f64 (fma.f64 -2 eps (neg.f64 (*.f64 eps eps))) -1)
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2)))
(fma.f64 -2 eps (neg.f64 (*.f64 eps eps)))
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(+.f64 (fma.f64 -2 eps (neg.f64 (*.f64 eps eps))) -1)
(-.f64 (+.f64 (*.f64 -2 eps) (*.f64 -1 (pow.f64 eps 2))) 1)
(+.f64 (fma.f64 -2 eps (neg.f64 (*.f64 eps eps))) -1)

eval212.0ms (3.4%)

Compiler

Compiled 8254 to 6186 computations (25.1% saved)

prune63.0ms (1%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New5000500
Fresh000
Picked011
Done055
Total5006506
Error
0b
Counts
506 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
58.2b
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
58.2b
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
0.7b
(*.f64 -2 eps)
58.2b
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))
0.4b
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
0.4b
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
Compiler

Compiled 69 to 52 computations (24.6% saved)

regimes19.0ms (0.3%)

Counts
9 → 1
Calls
Call 1
Inputs
(*.f64 -2 eps)
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
(log.f64 (/.f64 (+.f64 -1 eps) (-.f64 -1 eps)))
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(log.f64 (*.f64 (/.f64 1 (-.f64 -1 eps)) (+.f64 -1 eps)))
(log.f64 (*.f64 (/.f64 (-.f64 (*.f64 0 (-.f64 -1 eps)) (-.f64 -1 eps)) (*.f64 (+.f64 1 eps) (-.f64 -1 eps))) (+.f64 -1 eps)))
(log.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 3)))
Outputs
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
Calls

4 calls:

6.0ms
eps
3.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
3.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
2.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Results
ErrorSegmentsBranch
0.4b1eps
0.4b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.4b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
0.4b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 119 to 88 computations (26.1% saved)

regimes4.0ms (0.1%)

Accuracy

Total -0.3b remaining (-74.9%)

Threshold costs -0.3b (-74.9%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 -2 eps)
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
Outputs
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
Calls

1 calls:

3.0ms
eps
Results
ErrorSegmentsBranch
0.4b1eps
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify42.0ms (0.7%)

Algorithm
egg-herbie
Stop Event
done
Calls
Call 1
Inputs
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
(*.f64 -2 eps)
Outputs
(+.f64 (*.f64 -2 eps) (*.f64 (*.f64 -2/3 (*.f64 eps eps)) eps))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(*.f64 eps (+.f64 -2 (*.f64 -2/3 (*.f64 eps eps))))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(*.f64 -2 eps)
Compiler

Compiled 26 to 18 computations (30.8% saved)

soundness0.0ms (0%)

end24.0ms (0.4%)

Compiler

Compiled 24 to 15 computations (37.5% saved)

Profiling

Loading profile data...