Details

Time bar (total: 8.1s)

analyze4.0ms (0.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
0%0%100%0%0%0%0%2
0%0%50%0%25%25%0%3
50%25%25%0%25%25%0%4
75%37.5%12.5%0%25%25%0%5
87.5%43.7%6.2%0%25%25%0%6
93.8%46.9%3.1%0%25%25%0%7
96.9%48.4%1.6%0%25%25%0%8
98.4%49.2%0.8%0%25%25%0%9
99.2%49.6%0.4%0%25%25%0%10
99.6%49.8%0.2%0%25%25%0%11
99.8%49.9%0.1%0%25%25%0%12
Compiler

Compiled 10 to 8 computations (20% saved)

sample4.2s (51.6%)

Results
2.8s4135×body1024valid
625.0ms2071×body512valid
496.0ms428×body2048valid
314.0ms1622×body256valid
1.0msbody256invalid
Bogosity

preprocess227.0ms (2.8%)

Algorithm
egg-herbie
Rules
1088×fma-neg_binary64
890×fma-def_binary64
719×distribute-rgt-in_binary64
491×distribute-lft-in_binary64
331×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11810
22810
34110
47110
510310
615910
729210
860410
9103710
10144410
11200210
12274010
13383510
14467010
15476810
16480010
17480010
18639310
19674810
20682610
21683410
22684210
23684210
24704210
011
Stop Event
saturated
node limit
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)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Compiler

Compiled 10 to 8 computations (20% saved)

simplify219.0ms (2.7%)

Algorithm
egg-herbie
Rules
1088×fma-neg_binary64
890×fma-def_binary64
719×distribute-rgt-in_binary64
491×distribute-lft-in_binary64
331×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0712
11810
22810
34110
47110
510310
615910
729210
860410
9103710
10144410
11200210
12274010
13383510
14467010
15476810
16480010
17480010
18639310
19674810
20682610
21683410
22684210
23684210
24704210
Stop Event
node limit
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)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))

eval1.0ms (0%)

Compiler

Compiled 15 to 11 computations (26.7% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.4b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 16 to 12 computations (25% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 24 to 17 computations (29.2% saved)

series4.0ms (0%)

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)))
0.0ms
eps
@inf
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
0.0ms
eps
@0
(/.f64 (-.f64 1 eps) (+.f64 1 eps))

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
884×pow1_binary64
826×log1p-expm1-u_binary64
826×expm1-log1p-u_binary64
825×add-log-exp_binary64
810×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0722
115320
2215620
Stop Event
node limit
Counts
2 → 64
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 0 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 (neg.f64 eps)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (log.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)) (log.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (-.f64 1 eps))) (log.f64 (+.f64 (neg.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log1p.f64 (neg.f64 eps)) 3) (pow.f64 (log1p.f64 eps) 3)) (+.f64 (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps))) (+.f64 (*.f64 (log1p.f64 eps) (log1p.f64 eps)) (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps))) (*.f64 (log1p.f64 eps) (log1p.f64 eps))) (+.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 (/.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 1 (/.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 1 eps) (/.f64 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 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (*.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 eps)) (*.f64 (sqrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 (neg.f64 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 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) 1) (/.f64 (sqrt.f64 (-.f64 1 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (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 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2)) (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (+.f64 1 eps))) (/.f64 (-.f64 1 eps) (sqrt.f64 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (sqrt.f64 (+.f64 1 eps))) (/.f64 (cbrt.f64 (-.f64 1 eps)) (sqrt.f64 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps 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 (*.f64 eps eps) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 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))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 1 eps) (+.f64 (neg.f64 eps) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.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 cbrt.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (+.f64 1 eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))

simplify48.0ms (0.6%)

Algorithm
egg-herbie
Rules
613×fma-def_binary64
502×times-frac_binary64
462×fma-neg_binary64
449×associate-/l/_binary64
410×associate-*l/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
057309
1164307
2410307
31133301
43353297
Stop Event
node limit
Counts
88 → 92
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 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))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))
(fma.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2) (*.f64 -2/5 (pow.f64 eps 5)))
(+.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)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 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) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (/.f64 -2 eps) (+.f64 (log.f64 -1) (/.f64 -2/3 (pow.f64 eps 3))))
(-.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) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -2 eps) (+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (/.f64 -2/5 (pow.f64 eps 5)))))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (/.f64 -2/5 (pow.f64 eps 5))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 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) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (/.f64 -2 eps) (+.f64 (log.f64 -1) (/.f64 -2/3 (pow.f64 eps 3))))
(-.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) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -2 eps) (+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (/.f64 -2/5 (pow.f64 eps 5)))))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (/.f64 -2/5 (pow.f64 eps 5))))
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 -2 eps (fma.f64 2 (*.f64 eps eps) 1))
(fma.f64 -2 eps (fma.f64 eps (*.f64 eps 2) 1))
(fma.f64 eps (fma.f64 eps 2 -2) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 -2 eps (+.f64 (fma.f64 2 (*.f64 eps eps) 1) (*.f64 -2 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 2 (*.f64 eps eps) (fma.f64 -2 (pow.f64 eps 3) 1)))
(fma.f64 -2 eps (fma.f64 -2 (pow.f64 eps 3) (fma.f64 eps (*.f64 eps 2) 1)))
(fma.f64 (*.f64 eps eps) (fma.f64 -2 eps 2) (fma.f64 -2 eps 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 eps)))
(+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(-.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 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (+.f64 -1 (/.f64 2 eps)) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 3))))
(+.f64 (+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3)))
(+.f64 (/.f64 2 eps) (fma.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 2 eps) -2) -1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 eps)))
(+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(-.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 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (+.f64 -1 (/.f64 2 eps)) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 3))))
(+.f64 (+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3)))
(+.f64 (/.f64 2 eps) (fma.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 2 eps) -2) -1))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Compiler

Compiled 15 to 5 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
eps
@0
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
1.0ms
eps
@inf
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
0.0ms
eps
@-inf
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))

rewrite45.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
519×pow1_binary64
484×add-log-exp_binary64
484×expm1-log1p-u_binary64
482×log1p-expm1-u_binary64
475×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0610
11308
218658
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 eps) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 eps) (*.f64 (neg.f64 (log1p.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) (fma.f64 (neg.f64 (log1p.f64 eps)) 1 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) (fma.f64 (neg.f64 (cbrt.f64 (log1p.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) (fma.f64 (neg.f64 (sqrt.f64 (log1p.f64 eps))) (sqrt.f64 (log1p.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log1p.f64 eps) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))) 2) (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))) (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 (log1p.f64 eps) 3)) (/.f64 1 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 (log1p.f64 eps) (+.f64 (log1p.f64 eps) (log1p.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (log1p.f64 eps) 2) (pow.f64 (log1p.f64 eps) 2)) (/.f64 1 (+.f64 (log1p.f64 eps) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps))) (-.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 (log1p.f64 eps) (+.f64 (log1p.f64 eps) (log1p.f64 eps)))) (-.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 (log1p.f64 eps) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (log1p.f64 eps) (log1p.f64 eps)) (-.f64 (pow.f64 (log1p.f64 eps) 2) (pow.f64 (log1p.f64 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 (log1p.f64 eps) 3)) (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 (log1p.f64 eps) (+.f64 (log1p.f64 eps) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log1p.f64 eps) 2) (pow.f64 (log1p.f64 eps) 2)) (+.f64 (log1p.f64 eps) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 (log1p.f64 eps) 3))) (neg.f64 (+.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 (log1p.f64 eps) (+.f64 (log1p.f64 eps) (log1p.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (log1p.f64 eps) 2) (pow.f64 (log1p.f64 eps) 2))) (neg.f64 (+.f64 (log1p.f64 eps) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 (neg.f64 (log1p.f64 eps)) 3)) (+.f64 (pow.f64 (log1p.f64 eps) 2) (-.f64 (*.f64 (neg.f64 (log1p.f64 eps)) (neg.f64 (log1p.f64 eps))) (*.f64 (log1p.f64 eps) (neg.f64 (log1p.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (log1p.f64 eps) 2) (*.f64 (neg.f64 (log1p.f64 eps)) (neg.f64 (log1p.f64 eps)))) (-.f64 (log1p.f64 eps) (neg.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 eps 1) (+.f64 eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log1p.f64 eps) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)) (neg.f64 (log1p.f64 eps)))))))

simplify74.0ms (0.9%)

Algorithm
egg-herbie
Rules
699×fma-def_binary64
530×associate-/l*_binary64
426×distribute-neg-frac_binary64
399×fma-neg_binary64
319×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
044180
1122177
2298174
3807174
42170174
55425174
67993174
Stop Event
node limit
Counts
47 → 57
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))))))
(*.f64 -1 (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (*.f64 2 (/.f64 1 eps)))
(-.f64 (*.f64 -1 (log.f64 -1)) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (*.f64 -1 (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))))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
(+.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))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))
(fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2 eps)))
(fma.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2) (*.f64 -2/5 (pow.f64 eps 5)))
(+.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)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 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) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))))
(-.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (log.f64 -1) (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(-.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) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (-.f64 (log.f64 -1) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (-.f64 (log.f64 -1) (/.f64 2/5 (pow.f64 eps 5))))
(-.f64 (+.f64 (log.f64 -1) (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3)))) (/.f64 2/5 (pow.f64 eps 5)))
(*.f64 -1 (log.f64 -1))
(neg.f64 (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (*.f64 2 (/.f64 1 eps)))
(-.f64 (neg.f64 (log.f64 -1)) (/.f64 2 eps))
(fma.f64 -1 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (/.f64 -2 eps) (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (neg.f64 (log.f64 -1)) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(-.f64 (fma.f64 -1 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (-.f64 (/.f64 -2 eps) (log.f64 -1)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.f64 (*.f64 -1 (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 (neg.f64 (log.f64 -1)) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (-.f64 (fma.f64 -1 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 2/5 (pow.f64 eps 5)))
(+.f64 (+.f64 (-.f64 (/.f64 -2 eps) (log.f64 -1)) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5)))
(+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (-.f64 (-.f64 (/.f64 -2 eps) (log.f64 -1)) (/.f64 2/5 (pow.f64 eps 5))))

eval41.0ms (0.5%)

Compiler

Compiled 1882 to 1147 computations (39.1% saved)

prune27.0ms (0.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1445149
Fresh000
Picked011
Done011
Total1447151
Error
0b
Counts
151 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.4b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.1b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
0.2b
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
0.2b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
0.9b
(*.f64 -2 eps)
57.4b
(log.f64 (*.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)))
Compiler

Compiled 124 to 94 computations (24.2% saved)

localize21.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 52 to 41 computations (21.2% saved)

series8.0ms (0.1%)

Counts
3 → 3
Calls

9 calls:

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

rewrite79.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
476×log-prod_binary64
363×exp-prod_binary64
316×prod-exp_binary64
299×fma-def_binary64
284×pow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
124728
2287328
Stop Event
node limit
Counts
3 → 119
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/5 (pow.f64 eps 5))
(+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -2/3 (pow.f64 eps 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 eps 6) 4/9) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (cbrt.f64 -2/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -2/3) (pow.f64 eps 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 eps 9) -8/27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3))) 2)) (cbrt.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3)))) (sqrt.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 eps 6) 4/9))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 9) -8/27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -2/3 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (cbrt.f64 -2/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -2/3) (pow.f64 eps 3/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 eps 9) -8/27)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 eps) (log1p.f64 -5/3)) 3) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 -2/5) (pow.f64 eps 5))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -2/5) (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -2/5) (pow.f64 eps 5)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -2/5) (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -2/5 (pow.f64 eps 5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -2/5 (pow.f64 eps 5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 eps 10) 4/25) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -2/5 (pow.f64 eps 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -2/5) (pow.f64 eps 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 eps 15) -8/125) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5))) 2)) (cbrt.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5)))) (sqrt.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 eps 10) 4/25))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -2/5) (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 15) -8/125))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -2/5 (pow.f64 eps 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -2/5 (pow.f64 eps 5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 -2/5 (pow.f64 eps 5)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -2/5) (pow.f64 eps 5/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 eps 15) -8/125)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (fma.f64 5 (log.f64 eps) (log1p.f64 -7/5)) 3) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (pow.f64 eps 10) 4/25) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3)))) (/.f64 (*.f64 (pow.f64 eps 6) 4/9) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) (pow.f64 (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) 2) (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) (sqrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 eps 9) -8/27 (*.f64 (pow.f64 eps 15) -8/125)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 eps 10) 4/25 (*.f64 (pow.f64 eps 6) 4/9)) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 eps 10) 4/25) (*.f64 (pow.f64 eps 6) 4/9)) (/.f64 1 (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 (pow.f64 eps 10) 4/25 (*.f64 (pow.f64 eps 6) 4/9)) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2/5 (pow.f64 eps 5)))) (fma.f64 (pow.f64 eps 9) -8/27 (*.f64 (pow.f64 eps 15) -8/125))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3))) (-.f64 (*.f64 (pow.f64 eps 10) 4/25) (*.f64 (pow.f64 eps 6) 4/9))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 eps 9) -8/27 (*.f64 (pow.f64 eps 15) -8/125)) (-.f64 (fma.f64 (pow.f64 eps 10) 4/25 (*.f64 (pow.f64 eps 6) 4/9)) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 eps 9) -8/27 (*.f64 (pow.f64 eps 15) -8/125)) (fma.f64 (pow.f64 eps 6) 4/9 (-.f64 (*.f64 (pow.f64 eps 10) 4/25) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 eps 10) 4/25) (*.f64 (pow.f64 eps 6) 4/9)) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (pow.f64 eps 9) -8/27 (*.f64 (pow.f64 eps 15) -8/125))) (neg.f64 (-.f64 (fma.f64 (pow.f64 eps 10) 4/25 (*.f64 (pow.f64 eps 6) 4/9)) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 eps 10) 4/25) (*.f64 (pow.f64 eps 6) 4/9))) (neg.f64 (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 eps 6) 4/9) (*.f64 (pow.f64 eps 10) 4/25)) (-.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2/5 (pow.f64 eps 5))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 (pow.f64 eps 10) 4/25 (*.f64 (pow.f64 eps 6) 4/9)) (*.f64 (*.f64 -2/3 (pow.f64 eps 3)) (*.f64 -2/5 (pow.f64 eps 5)))) (fma.f64 (pow.f64 eps 9) -8/27 (*.f64 (pow.f64 eps 15) -8/125))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3))) (-.f64 (*.f64 (pow.f64 eps 10) 4/25) (*.f64 (pow.f64 eps 6) 4/9))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))) 2)) (cbrt.f64 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))) (sqrt.f64 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3)))) (pow.f64 (exp.f64 -2/5) (pow.f64 eps 5))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3)) (+.f64 1 (expm1.f64 (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3)))) (+.f64 1 (expm1.f64 (*.f64 -2/5 (pow.f64 eps 5))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -2/5 (pow.f64 eps 5)))) (pow.f64 (exp.f64 -2/3) (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -2/5) (pow.f64 eps 5)) (+.f64 1 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -2/5 (pow.f64 eps 5)))) (+.f64 1 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 (*.f64 eps eps) -2/3) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3) -2/3 (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (pow.f64 eps 3)) 1 (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 5) -2/5 (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/5 (pow.f64 eps 5)) 1 (*.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/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps eps) (*.f64 eps -2/3) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 eps 10)) (*.f64 (pow.f64 (cbrt.f64 eps) 5) -2/5) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 -2/3)) (pow.f64 (*.f64 eps (cbrt.f64 -2/3)) 2) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 eps (cbrt.f64 -2/3)) 2) (*.f64 eps (cbrt.f64 -2/3)) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 -2/5 (pow.f64 eps 5))) (cbrt.f64 (*.f64 (pow.f64 eps 10) 4/25)) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 eps 10) 4/25)) (cbrt.f64 (*.f64 -2/5 (pow.f64 eps 5))) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -2/3) (pow.f64 eps 3/2)) (*.f64 (sqrt.f64 -2/3) (pow.f64 eps 3/2)) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -2/5) (pow.f64 eps 5/2)) (*.f64 (sqrt.f64 -2/5) (pow.f64 eps 5/2)) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 3/2) (*.f64 (pow.f64 eps 3/2) -2/3) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 5/2) (*.f64 (pow.f64 eps 5/2) -2/5) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 eps) (*.f64 eps eps) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (*.f64 eps eps)) eps (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/3 (pow.f64 eps 3/2)) (pow.f64 eps 3/2) (*.f64 -2/5 (pow.f64 eps 5)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/5 (cbrt.f64 (pow.f64 eps 10))) (pow.f64 (cbrt.f64 eps) 5) (*.f64 -2/3 (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -2/5 (pow.f64 eps 5/2)) (pow.f64 eps 5/2) (*.f64 -2/3 (pow.f64 eps 3)))))))

simplify135.0ms (1.7%)

Algorithm
egg-herbie
Rules
1204×sqr-pow_binary64
708×cube-prod_binary64
678×fabs-mul_binary64
660×pow-sqr_binary64
416×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
12421
25021
39821
421321
564321
693221
7156821
8167621
9183821
10205121
11238121
12283721
13343621
14419021
15512221
16563021
17612021
18651621
19683821
20699821
Stop Event
node limit
Counts
122 → 121
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/5 (pow.f64 eps 5))
(*.f64 -2/5 (pow.f64 eps 5))
Outputs
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/5 (pow.f64 eps 5))
(*.f64 -2/5 (pow.f64 eps 5))

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
0.3b
(*.f64 eps -2/3)
Compiler

Compiled 21 to 14 computations (33.3% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite50.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
641×pow1_binary64
596×add-log-exp_binary64
596×log1p-expm1-u_binary64
596×expm1-log1p-u_binary64
585×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0715
114215
2159415
Stop Event
node limit
Counts
2 → 24
Calls
Call 1
Inputs
(*.f64 eps -2/3)
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps -2/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps -2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps -2/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps -2/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps -2/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 4/9 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps -2/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps -2/3)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (*.f64 eps (*.f64 eps -2/3))) (*.f64 eps -2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 eps (*.f64 eps -2/3) -2)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))))))))

simplify169.0ms (2.1%)

Algorithm
egg-herbie
Rules
1274×sqr-pow_binary64
666×pow-sqr_binary64
529×cube-prod_binary64
469×fabs-mul_binary64
443×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010165
123165
241165
382165
4150165
5374165
61237165
71944165
82031165
92164165
102322165
112562165
122884165
133305165
143807165
154409165
165129165
175448165
185730165
195952165
206132165
216214165
227154165
Stop Event
node limit
Counts
48 → 30
Calls
Call 1
Inputs
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.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 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2/3 eps)
(*.f64 -2 eps)
(*.f64 eps -2)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -2))
(*.f64 eps (fma.f64 eps (*.f64 -2/3 eps) -2))
(*.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2))

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 -2/3 (pow.f64 eps 3))
Compiler

Compiled 25 to 19 computations (24% saved)

localize19.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 50 to 29 computations (42% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite109.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
495×log-prod_binary64
438×prod-diff_binary64
331×pow-prod-down_binary64
255×pow2_binary64
234×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0953
120029
2290027
Stop Event
node limit
Counts
3 → 293
Calls
Call 1
Inputs
(log.f64 (*.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)))
(*.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps))
(/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 (neg.f64 eps)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (neg.f64 (log1p.f64 eps)))) (log.f64 (*.f64 (/.f64 1 (cbrt.f64 (+.f64 1 eps))) (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (neg.f64 (log1p.f64 (neg.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (neg.f64 (log1p.f64 eps))) (log.f64 (*.f64 (pow.f64 (+.f64 1 eps) -1/2) (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (log1p.f64 (neg.f64 eps))) (log.f64 (*.f64 (sqrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (log1p.f64 (neg.f64 eps)))) (log.f64 (*.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 1 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 (log1p.f64 eps)) 1) (*.f64 (log1p.f64 (neg.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) 1)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))) (log.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 1 (pow.f64 eps 6)))) (log1p.f64 (fma.f64 eps eps (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 1 (pow.f64 eps 4)))) (log1p.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (-.f64 1 eps) (cbrt.f64 (pow.f64 (+.f64 1 eps) -2)))) (*.f64 1/3 (neg.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (-.f64 1 eps) (pow.f64 (+.f64 1 eps) -1/2))) (*.f64 1/2 (neg.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2))) (*.f64 1/3 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (sqrt.f64 (-.f64 1 eps)))) (*.f64 1/2 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (pow.f64 (-.f64 1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 (*.f64 eps eps))) (log.f64 (pow.f64 (+.f64 1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 (pow.f64 eps 3))) (log.f64 (*.f64 (+.f64 1 eps) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) 1)) (log.f64 (*.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (pow.f64 (-.f64 1 eps) 2))) (log.f64 (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (neg.f64 (-.f64 1 eps)) (-.f64 1 eps))) (log.f64 (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 eps) (neg.f64 (-.f64 1 eps)))) (log.f64 (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (log.f64 (*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (-.f64 1 eps))) (log.f64 (*.f64 (+.f64 1 (fma.f64 eps eps eps)) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (-.f64 1 eps)))) (log.f64 (*.f64 (+.f64 1 eps) (neg.f64 (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (neg.f64 (-.f64 1 eps)))) (log.f64 (*.f64 (+.f64 1 (fma.f64 eps eps eps)) (neg.f64 (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps)))) (log.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (neg.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))) (log.f64 (*.f64 (neg.f64 (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 3)))) (log.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (neg.f64 (-.f64 1 eps)) (-.f64 1 (pow.f64 eps 3)))) (log.f64 (*.f64 (neg.f64 (-.f64 1 (*.f64 eps eps))) (+.f64 1 (fma.f64 eps eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) 1)) (log1p.f64 (neg.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))) (*.f64 1/3 (log1p.f64 (neg.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (*.f64 1/2 (log1p.f64 (neg.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 1 (+.f64 1 eps)))) (log1p.f64 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 (pow.f64 eps 3)))) (log1p.f64 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2)) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (neg.f64 (log1p.f64 eps)) 3) (pow.f64 (log1p.f64 (neg.f64 eps)) 3)) (+.f64 (pow.f64 (neg.f64 (log1p.f64 eps)) 2) (-.f64 (pow.f64 (log1p.f64 (neg.f64 eps)) 2) (*.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (neg.f64 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 (neg.f64 eps)) 2)) (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (pow.f64 (-.f64 1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (log1p.f64 eps)) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log1p.f64 (neg.f64 eps)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (log1p.f64 eps)) 1 (*.f64 (log1p.f64 (neg.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2) (cbrt.f64 (log1p.f64 (neg.f64 eps))) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (log1p.f64 eps))) 2) (cbrt.f64 (neg.f64 (log1p.f64 eps))) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log1p.f64 (neg.f64 eps))) (sqrt.f64 (log1p.f64 (neg.f64 eps))) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (log1p.f64 eps))) (sqrt.f64 (neg.f64 (log1p.f64 eps))) (log1p.f64 (neg.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (*.f64 (neg.f64 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 0 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (*.f64 eps eps)) (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 1 (*.f64 eps eps)) (pow.f64 (+.f64 1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 1 (*.f64 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 (neg.f64 (pow.f64 (-.f64 1 eps) 2)) (neg.f64 (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 1 eps)) (-.f64 1 eps)) (neg.f64 (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 eps) (neg.f64 (-.f64 1 eps))) (neg.f64 (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) 1) (*.f64 (+.f64 1 (fma.f64 eps eps eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps 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 eps)) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (-.f64 1 eps))) (*.f64 (+.f64 1 eps) (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (neg.f64 (-.f64 1 eps))) (*.f64 (+.f64 1 (fma.f64 eps eps eps)) (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))) (*.f64 (neg.f64 (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 3))) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 (fma.f64 eps eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 1 eps)) (-.f64 1 (pow.f64 eps 3))) (*.f64 (neg.f64 (-.f64 1 (*.f64 eps eps))) (+.f64 1 (fma.f64 eps eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) 1) (-.f64 1 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (/.f64 1 (+.f64 1 eps))) (+.f64 1 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps))) (+.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 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (E.f64) (exp.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))) (E.f64))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (E.f64) (*.f64 2 (log1p.f64 (neg.f64 eps)))) (pow.f64 (E.f64) (log1p.f64 (neg.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2) 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 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) (*.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (*.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (pow.f64 (-.f64 1 eps) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) 1) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2)))) (cbrt.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) (cbrt.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))) (cbrt.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))) (sqrt.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))) (sqrt.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 1) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (cbrt.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2)))) (sqrt.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))) (sqrt.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 1 eps) (+.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 expm1.f64 (log1p.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (+.f64 1 eps)) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (+.f64 1 eps)) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 eps) (/.f64 1 (-.f64 1 (*.f64 eps eps))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 eps) (/.f64 1 (-.f64 1 (*.f64 eps eps))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 1 eps)) 1 (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 1 eps)) 1 (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (+.f64 1 eps) -2)) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 (+.f64 1 eps))) (cbrt.f64 (pow.f64 (+.f64 1 eps) -2)) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) -2)) (/.f64 1 (cbrt.f64 (+.f64 1 eps))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) -2)) (/.f64 1 (cbrt.f64 (+.f64 1 eps))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (*.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (*.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 1 eps) -1/2) (pow.f64 (+.f64 1 eps) -1/2) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (+.f64 1 eps) -1/2) (pow.f64 (+.f64 1 eps) -1/2) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 1 eps)) (*.f64 (sqrt.f64 (-.f64 1 eps)) (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 1 eps)) (*.f64 (sqrt.f64 (-.f64 1 eps)) (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (neg.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (neg.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) 1) (/.f64 (sqrt.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) 1) (/.f64 (sqrt.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (/.f64 1 (cbrt.f64 (+.f64 1 eps))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (/.f64 1 (cbrt.f64 (+.f64 1 eps))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (cbrt.f64 (-.f64 1 eps)) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (cbrt.f64 (-.f64 1 eps)) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (*.f64 (neg.f64 eps) (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (*.f64 (/.f64 1 (+.f64 1 eps)) (neg.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))))) (sqrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (/.f64 eps (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (+.f64 1 eps)) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (sqrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 eps (-.f64 1 (*.f64 eps 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 (*.f64 eps eps))) (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1))) (fma.f64 (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 1 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1))) (fma.f64 (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 1 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1))) (fma.f64 (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 1 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1))) (fma.f64 (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 1 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1))) (fma.f64 (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 1 (*.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) eps (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) eps (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) eps (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) eps (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) eps (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2) (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2) (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2) (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2) (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2) (*.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1) (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1) (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1) (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1) (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1) (*.f64 (/.f64 (cbrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) 1) (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) 1) (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) 1) (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) 1) (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1)))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) 1) (*.f64 (/.f64 (sqrt.f64 eps) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 eps) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2)))) (fma.f64 (neg.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2)))) (fma.f64 (neg.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2)))) (fma.f64 (neg.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2)))) (fma.f64 (neg.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2)))) (fma.f64 (neg.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (*.f64 (/.f64 eps (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (cbrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2)))))) (fma.f64 (neg.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (*.f64 (/.f64 (sqrt.f64 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (sqrt.f64 eps) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2)))) (fma.f64 (neg.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2)))) (fma.f64 (neg.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2)))) (fma.f64 (neg.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2)))) (fma.f64 (neg.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2)))) (fma.f64 (neg.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (*.f64 (/.f64 eps (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (*.f64 (/.f64 (cbrt.f64 eps) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (pow.f64 (cbrt.f64 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6)))))) (fma.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))) (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6)))))) (fma.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))) (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6)))))) (fma.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))) (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6)))))) (fma.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))) (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6)))))) (fma.f64 (neg.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))) (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (/.f64 eps (-.f64 1 (pow.f64 eps 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4)))))) (fma.f64 (neg.f64 (fma.f64 eps eps 1)) (/.f64 eps (-.f64 1 (pow.f64 eps 4))) (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4)))))) (fma.f64 (neg.f64 (fma.f64 eps eps 1)) (/.f64 eps (-.f64 1 (pow.f64 eps 4))) (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4)))))) (fma.f64 (neg.f64 (fma.f64 eps eps 1)) (/.f64 eps (-.f64 1 (pow.f64 eps 4))) (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4)))))) (fma.f64 (neg.f64 (fma.f64 eps eps 1)) (/.f64 eps (-.f64 1 (pow.f64 eps 4))) (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4)))))) (fma.f64 (neg.f64 (fma.f64 eps eps 1)) (/.f64 eps (-.f64 1 (pow.f64 eps 4))) (*.f64 (fma.f64 eps eps 1) (/.f64 eps (-.f64 1 (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 1 (+.f64 1 eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 1 (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (+.f64 1 eps))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 1 (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (/.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.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) (/.f64 1 (-.f64 1 (*.f64 eps 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 (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 1 (cbrt.f64 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (*.f64 (cbrt.f64 (-.f64 1 eps)) (/.f64 1 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 1 eps) -1/2) (pow.f64 (+.f64 1 eps) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 eps)) (*.f64 (sqrt.f64 (-.f64 1 eps)) (/.f64 1 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 1 eps)) (/.f64 1 (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) -2) (/.f64 (-.f64 1 eps) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) -1/2) (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) 1) (/.f64 (sqrt.f64 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (/.f64 1 (cbrt.f64 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2))) (/.f64 (sqrt.f64 (-.f64 1 eps)) (cbrt.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))) (/.f64 (cbrt.f64 (-.f64 1 eps)) (sqrt.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1))))) (#(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) -2) 1/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 (cbrt.f64 (+.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 eps) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 1 (*.f64 eps eps)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 eps) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 1 eps) (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 eps) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.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 cbrt.f64 (/.f64 (pow.f64 (-.f64 1 eps) 3) (pow.f64 (-.f64 1 (*.f64 eps eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log1p.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (neg.f64 (log1p.f64 eps))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (neg.f64 (log1p.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/2 (neg.f64 (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1) (neg.f64 (/.f64 eps (-.f64 1 (*.f64 eps eps)))))))))

simplify61.0ms (0.8%)

Algorithm
egg-herbie
Rules
844×fma-def_binary64
720×times-frac_binary64
401×sub-neg_binary64
268×distribute-neg-frac_binary64
246×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072487
1210474
2551474
31586468
45036465
Stop Event
node limit
Counts
329 → 334
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 1 (*.f64 -1 eps))
(+.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1 eps)))
(+.f64 (pow.f64 eps 2) (+.f64 1 (+.f64 (*.f64 -1 eps) (*.f64 -1 (pow.f64 eps 3)))))
(/.f64 1 eps)
(-.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(/.f64 1 eps)
(-.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.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))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))
(+.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)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 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) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))))
(-.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) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/5 (pow.f64 eps 5)) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (log.f64 -1) (-.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (-.f64 (log.f64 -1) (/.f64 2/5 (pow.f64 eps 5))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 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) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (log.f64 -1) (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))))
(-.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) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/5 (pow.f64 eps 5)) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (log.f64 -1) (-.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (-.f64 (log.f64 -1) (/.f64 2/5 (pow.f64 eps 5))))
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 -2 eps (fma.f64 2 (*.f64 eps eps) 1))
(fma.f64 eps (fma.f64 eps 2 -2) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 -2 eps (+.f64 (fma.f64 2 (*.f64 eps eps) 1) (*.f64 -2 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 2 (*.f64 eps eps) (fma.f64 -2 (pow.f64 eps 3) 1)))
(fma.f64 -2 eps (fma.f64 -2 (pow.f64 eps 3) (fma.f64 2 (*.f64 eps eps) 1)))
(fma.f64 eps (*.f64 eps (fma.f64 -2 eps 2)) (fma.f64 -2 eps 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(-.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 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3)))
(+.f64 (/.f64 2 eps) (+.f64 (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps))) -1))
(+.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(-.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 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3)))
(+.f64 (/.f64 2 eps) (+.f64 (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps))) -1))
(+.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
1
(+.f64 1 (*.f64 -1 eps))
(+.f64 1 (neg.f64 eps))
(-.f64 1 eps)
(+.f64 (pow.f64 eps 2) (+.f64 1 (*.f64 -1 eps)))
(+.f64 (*.f64 eps eps) (+.f64 1 (neg.f64 eps)))
(-.f64 (fma.f64 eps eps 1) eps)
(fma.f64 eps eps (-.f64 1 eps))
(+.f64 (pow.f64 eps 2) (+.f64 1 (+.f64 (*.f64 -1 eps) (*.f64 -1 (pow.f64 eps 3)))))
(+.f64 (*.f64 eps eps) (+.f64 1 (*.f64 -1 (+.f64 eps (pow.f64 eps 3)))))
(fma.f64 eps eps (-.f64 (-.f64 1 eps) (pow.f64 eps 3)))
(-.f64 (fma.f64 eps eps (-.f64 1 eps)) (pow.f64 eps 3))
(*.f64 (-.f64 1 eps) (fma.f64 eps eps 1))
(/.f64 1 eps)
(-.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (/.f64 1 eps) (/.f64 1 (*.f64 eps eps)))
(+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 eps 2)))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 eps eps))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 4)))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4)))))
(+.f64 (/.f64 1 eps) (+.f64 (+.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 -1 (*.f64 eps eps))) (/.f64 -1 (pow.f64 eps 4))))
(/.f64 1 eps)
(-.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (/.f64 1 eps) (/.f64 1 (*.f64 eps eps)))
(+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 eps 2)))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 eps eps))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 4)))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4)))))
(+.f64 (/.f64 1 eps) (+.f64 (+.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 -1 (*.f64 eps eps))) (/.f64 -1 (pow.f64 eps 4))))

eval265.0ms (3.3%)

Compiler

Compiled 12033 to 8135 computations (32.4% saved)

prune133.0ms (1.6%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New5073510
Fresh000
Picked011
Done336
Total5107517
Error
0b
Counts
517 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.4b
(log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps)))))
57.4b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
0.9b
(*.f64 -2 eps)
57.4b
(log.f64 (*.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)))
0.2b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
Compiler

Compiled 80 to 57 computations (28.8% saved)

localize30.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 74 to 42 computations (43.2% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite104.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
710×log-prod_binary64
523×prod-diff_binary64
441×fma-def_binary64
255×log-div_binary64
210×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01153
124835
2386633
Stop Event
node limit
Counts
3 → 258
Calls
Call 1
Inputs
(log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps)))))
(/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps))))
(*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) (fma.f64 (neg.f64 (sqrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (sqrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log.f64 (/.f64 1 (pow.f64 (+.f64 1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log.f64 (*.f64 (-.f64 1 eps) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 (neg.f64 eps)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 (neg.f64 eps)) (log.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (log1p.f64 (neg.f64 eps)))) (log.f64 (*.f64 (cbrt.f64 (-.f64 1 eps)) (exp.f64 (neg.f64 (log1p.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (-.f64 1 eps)))) (log.f64 (/.f64 1 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (log1p.f64 (neg.f64 eps))) (log.f64 (*.f64 (sqrt.f64 (-.f64 1 eps)) (exp.f64 (neg.f64 (log1p.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))))) (log.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log1p.f64 eps)) (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)))) (log.f64 (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))) (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (neg.f64 (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1))) (fma.f64 (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1 (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (neg.f64 (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1))) (fma.f64 (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1 (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (sqrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (neg.f64 (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1))) (fma.f64 (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1 (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (neg.f64 (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (neg.f64 (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (sqrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (neg.f64 (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))) (fma.f64 (neg.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (*.f64 (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) 1)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) 1)) (log.f64 (/.f64 (-.f64 1 eps) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps)))) (*.f64 2 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 1 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2)))) (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 1 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))) (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))) (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (*.f64 eps eps)))) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) 1)) (log.f64 (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 1)) (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (+.f64 1 eps))) (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (-.f64 1 (*.f64 eps eps)))) (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (-.f64 1 (*.f64 eps eps)))) (log.f64 (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (+.f64 1 eps))) (log.f64 (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2)))) (log.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2)))) (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2)))) (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2)))) (log.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))) (log.f64 (/.f64 (-.f64 1 eps) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))) (log.f64 (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 1 (pow.f64 eps 6)))) (log1p.f64 (fma.f64 eps eps (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 1 (pow.f64 eps 4)))) (log1p.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 2 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 eps)) (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (-.f64 1 eps)))) (+.f64 (log1p.f64 eps) (log.f64 (neg.f64 (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))))) (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 (pow.f64 eps 6))) (log.f64 (*.f64 (pow.f64 (+.f64 1 eps) 2) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 1/3 (log1p.f64 (*.f64 eps (neg.f64 eps))))) (log.f64 (/.f64 (pow.f64 (+.f64 1 eps) 2) (cbrt.f64 (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 (pow.f64 eps 4))) (log.f64 (*.f64 (pow.f64 (+.f64 1 eps) 2) (fma.f64 eps eps 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)))) (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (log1p.f64 (*.f64 eps (neg.f64 eps)))) (log.f64 (/.f64 (pow.f64 (+.f64 1 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (-.f64 1 (*.f64 eps eps)))) (log.f64 (neg.f64 (pow.f64 (+.f64 1 eps) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))) (*.f64 1/2 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (-.f64 1 eps))) (log.f64 (*.f64 (+.f64 1 (fma.f64 eps eps eps)) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) 1)) (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1) (log.f64 (neg.f64 (/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (-.f64 1 eps))))) (log.f64 (neg.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (pow.f64 (-.f64 1 eps) 2))) (log.f64 (neg.f64 (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2)))) (*.f64 1/3 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) 1)) (log1p.f64 (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2))) (*.f64 1/3 (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (sqrt.f64 (-.f64 1 (*.f64 eps eps))))) (*.f64 1/2 (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (-.f64 1 (pow.f64 eps 3)) (exp.f64 (neg.f64 (log1p.f64 eps))))) (log1p.f64 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) 3) (pow.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 3)) (fma.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (fma.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) (*.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))) (+.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log1p.f64 (*.f64 eps (neg.f64 eps))) (neg.f64 (*.f64 2 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log1p.f64 (neg.f64 eps)) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))) (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps))))) (cbrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (log1p.f64 (*.f64 eps (neg.f64 eps)))) (cbrt.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))))) (cbrt.f64 (log1p.f64 (*.f64 eps (neg.f64 eps)))) (neg.f64 (*.f64 2 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) (cbrt.f64 (log1p.f64 (neg.f64 eps)))) (cbrt.f64 (log1p.f64 (neg.f64 eps))) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (sqrt.f64 (+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (log1p.f64 (neg.f64 eps)))) (-.f64 (neg.f64 (log1p.f64 eps)) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log1p.f64 (*.f64 eps (neg.f64 eps)))) (sqrt.f64 (log1p.f64 (*.f64 eps (neg.f64 eps)))) (neg.f64 (*.f64 2 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log1p.f64 (neg.f64 eps))) (sqrt.f64 (log1p.f64 (neg.f64 eps))) (neg.f64 (log1p.f64 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 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) (cbrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (pow.f64 (+.f64 1 eps) 2)) (/.f64 (*.f64 eps 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 (-.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 (+.f64 1 eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 eps eps)) (*.f64 (-.f64 1 eps) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (exp.f64 (neg.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 eps) (*.f64 (-.f64 1 (*.f64 eps eps)) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps 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)) (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 eps) 2)) (*.f64 (cbrt.f64 (-.f64 1 eps)) (exp.f64 (neg.f64 (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (*.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 eps)) (*.f64 (sqrt.f64 (-.f64 1 eps)) (exp.f64 (neg.f64 (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (*.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (-.f64 1 eps))) (/.f64 1 (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (exp.f64 (neg.f64 (log1p.f64 eps))) (-.f64 1 (*.f64 eps eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 eps) 2) (/.f64 1 (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) 1) (/.f64 (-.f64 1 eps) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) 1) (exp.f64 (neg.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) 1) (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 1) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (+.f64 1 eps)) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (pow.f64 (-.f64 1 eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (*.f64 eps eps))) (/.f64 (-.f64 1 eps) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (-.f64 1 (*.f64 eps eps))) (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (-.f64 1 (*.f64 eps eps))) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (+.f64 1 eps)) (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2))) (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2))) (/.f64 (-.f64 1 eps) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2))) (/.f64 (-.f64 1 (*.f64 eps eps)) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2))) (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2))) (/.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))) (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))) (/.f64 (-.f64 1 eps) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 eps) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))) (/.f64 (-.f64 1 (*.f64 eps eps)) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) 2) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))) (/.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps))) (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (-.f64 1 eps) 2) (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 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))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2)) (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (*.f64 (-.f64 1 (*.f64 eps eps)) (neg.f64 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (-.f64 1 eps) (+.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 cbrt.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) 3) (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 eps eps)) (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 eps eps)) (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 eps) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 1 eps) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (-.f64 1 (*.f64 eps eps))) (-.f64 1 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) eps) (-.f64 1 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))) (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 2) (-.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 6)) (-.f64 1 (*.f64 eps eps))) (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (-.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 4)) (-.f64 1 (*.f64 eps eps))) (*.f64 (fma.f64 eps eps 1) (-.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 6)) (+.f64 1 (pow.f64 eps 3))) (*.f64 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))) (fma.f64 eps (-.f64 eps 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 4)) (+.f64 1 (pow.f64 eps 3))) (*.f64 (fma.f64 eps eps 1) (fma.f64 eps (-.f64 eps 1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (pow.f64 eps 6))) (*.f64 (-.f64 1 eps) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 eps 3)) (-.f64 1 (pow.f64 eps 6))) (*.f64 (fma.f64 eps (-.f64 eps 1) 1) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (pow.f64 eps 4))) (*.f64 (-.f64 1 eps) (fma.f64 eps eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 eps 3)) (-.f64 1 (pow.f64 eps 4))) (*.f64 (fma.f64 eps (-.f64 eps 1) 1) (fma.f64 eps eps 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 eps 3)) (-.f64 1 (*.f64 eps eps))) (fma.f64 eps (-.f64 eps 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 (pow.f64 eps 3))) (fma.f64 eps (-.f64 eps 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 6)) (+.f64 1 eps)) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 eps 4)) (+.f64 1 eps)) (fma.f64 eps eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 eps) (-.f64 1 (pow.f64 eps 6))) (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 eps) (-.f64 1 (pow.f64 eps 4))) (fma.f64 eps eps 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 1 eps)) (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 1 (*.f64 eps eps)) 3) (pow.f64 (+.f64 1 eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 1 eps) 3) (pow.f64 (-.f64 1 (*.f64 eps eps)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (+.f64 (log1p.f64 eps) (log1p.f64 (*.f64 eps (neg.f64 eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 1 (*.f64 eps eps)) (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 1 (*.f64 eps eps)) (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 eps) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 eps) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (-.f64 1 (*.f64 eps eps)) (-.f64 1 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 eps eps)) 1 (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 eps eps)) 1 (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 eps eps)) eps (-.f64 1 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 eps eps)) (/.f64 1 (-.f64 1 eps)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (*.f64 eps eps)) (/.f64 1 (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 eps) 1 (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 eps) 1 (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 eps)) (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2) (cbrt.f64 (+.f64 1 eps)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) 2) (cbrt.f64 (+.f64 1 eps)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (sqrt.f64 eps)) (hypot.f64 1 (sqrt.f64 eps)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (sqrt.f64 eps)) (hypot.f64 1 (sqrt.f64 eps)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 eps 6)) (/.f64 1 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))) (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 eps 6)) (/.f64 1 (+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))) (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 eps 3)) (/.f64 1 (fma.f64 eps (-.f64 eps 1) 1)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 eps 3)) (/.f64 1 (fma.f64 eps (-.f64 eps 1) 1)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 eps 4)) (/.f64 1 (fma.f64 eps eps 1)) (*.f64 eps (-.f64 1 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 eps 4)) (/.f64 1 (fma.f64 eps eps 1)) (*.f64 (-.f64 1 (*.f64 eps eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) 1) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) 1) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 1 eps) 2))) (/.f64 (-.f64 1 (*.f64 eps eps)) (cbrt.f64 (-.f64 1 eps))) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (cbrt.f64 (pow.f64 (-.f64 1 eps) 2))) (/.f64 (-.f64 1 (*.f64 eps eps)) (cbrt.f64 (-.f64 1 eps))) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (cbrt.f64 (pow.f64 (-.f64 1 eps) 2))) (cbrt.f64 (+.f64 1 eps)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (cbrt.f64 (pow.f64 (-.f64 1 eps) 2))) (cbrt.f64 (+.f64 1 eps)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (cbrt.f64 (pow.f64 (-.f64 1 eps) 2))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (cbrt.f64 (-.f64 1 eps))) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (cbrt.f64 (pow.f64 (-.f64 1 eps) 2))) (/.f64 (sqrt.f64 (-.f64 1 (*.f64 eps eps))) (cbrt.f64 (-.f64 1 eps))) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (-.f64 1 eps))) (/.f64 (-.f64 1 (*.f64 eps eps)) (sqrt.f64 (-.f64 1 eps))) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (-.f64 1 eps))) (/.f64 (-.f64 1 (*.f64 eps eps)) (sqrt.f64 (-.f64 1 eps))) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (sqrt.f64 (-.f64 1 eps))) (/.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (sqrt.f64 (-.f64 1 eps))) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) 2) (sqrt.f64 (-.f64 1 eps))) (/.f64 (cbrt.f64 (-.f64 1 (*.f64 eps eps))) (sqrt.f64 (-.f64 1 eps))) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (pow.f64 eps 3))) (+.f64 1 (fma.f64 eps eps eps)) (*.f64 (*.f64 eps (neg.f64 eps)) (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 (pow.f64 eps 3))) (+.f64 1 (fma.f64 eps eps eps)) (*.f64 (+.f64 1 eps) (*.f64 eps (neg.f64 eps))))))))

simplify62.0ms (0.8%)

Algorithm
egg-herbie
Rules
881×fma-def_binary64
503×times-frac_binary64
442×associate-/l/_binary64
334×sub-neg_binary64
265×fma-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
067453
1195423
2510418
31529410
44818407
Stop Event
node limit
Counts
294 → 298
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 eps (+.f64 1 (*.f64 -1 (pow.f64 eps 2))))
(+.f64 eps (+.f64 1 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))))
(*.f64 -1 (pow.f64 eps 3))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3))))
(+.f64 1 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))))
(*.f64 -1 (pow.f64 eps 3))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3))))
(+.f64 1 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2 eps))
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
(+.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))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))
(+.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)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 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) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.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) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5)))
(+.f64 (log.f64 -1) (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 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) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3)))
(-.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) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (+.f64 (+.f64 (log.f64 -1) (/.f64 -2 eps)) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5)))
(+.f64 (log.f64 -1) (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5))))
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 -2 eps (fma.f64 2 (*.f64 eps eps) 1))
(fma.f64 eps (fma.f64 eps 2 -2) 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 -2 eps (+.f64 (fma.f64 2 (*.f64 eps eps) 1) (*.f64 -2 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 2 (*.f64 eps eps) (fma.f64 -2 (pow.f64 eps 3) 1)))
(fma.f64 -2 eps (fma.f64 -2 (pow.f64 eps 3) (fma.f64 2 (*.f64 eps eps) 1)))
(fma.f64 -2 (pow.f64 eps 3) (fma.f64 eps (fma.f64 eps 2 -2) 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 eps)))
(+.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps))))
(-.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 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 -1 (+.f64 (/.f64 -2 (*.f64 eps eps)) (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3)))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 -1 (/.f64 -2 (*.f64 eps eps)))))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (-.f64 -1 (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 2 eps)))
(+.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps))))
(-.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 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 -1 (+.f64 (/.f64 -2 (*.f64 eps eps)) (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3)))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 -1 (/.f64 -2 (*.f64 eps eps)))))
1
(+.f64 eps 1)
(+.f64 eps (+.f64 1 (*.f64 -1 (pow.f64 eps 2))))
(+.f64 eps (+.f64 1 (neg.f64 (*.f64 eps eps))))
(+.f64 1 (-.f64 eps (*.f64 eps eps)))
(+.f64 eps (-.f64 1 (*.f64 eps eps)))
(-.f64 eps (fma.f64 eps eps -1))
(+.f64 eps (+.f64 1 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))))
(+.f64 eps (+.f64 1 (fma.f64 -1 (*.f64 eps eps) (neg.f64 (pow.f64 eps 3)))))
(+.f64 eps (fma.f64 -1 (fma.f64 eps eps (pow.f64 eps 3)) 1))
(+.f64 eps (-.f64 1 (fma.f64 eps eps (pow.f64 eps 3))))
(+.f64 eps (fma.f64 eps (*.f64 eps (-.f64 -1 eps)) 1))
(*.f64 (+.f64 eps 1) (neg.f64 (fma.f64 eps eps -1)))
(*.f64 -1 (pow.f64 eps 3))
(neg.f64 (pow.f64 eps 3))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))
(fma.f64 -1 (*.f64 eps eps) (neg.f64 (pow.f64 eps 3)))
(neg.f64 (fma.f64 eps eps (pow.f64 eps 3)))
(*.f64 eps (*.f64 eps (-.f64 -1 eps)))
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3))))
(+.f64 eps (fma.f64 -1 (*.f64 eps eps) (neg.f64 (pow.f64 eps 3))))
(fma.f64 -1 (fma.f64 eps eps (pow.f64 eps 3)) eps)
(-.f64 eps (fma.f64 eps eps (pow.f64 eps 3)))
(-.f64 eps (*.f64 eps (fma.f64 eps eps eps)))
(+.f64 1 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))))
(+.f64 eps (+.f64 1 (fma.f64 -1 (*.f64 eps eps) (neg.f64 (pow.f64 eps 3)))))
(+.f64 eps (fma.f64 -1 (fma.f64 eps eps (pow.f64 eps 3)) 1))
(+.f64 eps (-.f64 1 (fma.f64 eps eps (pow.f64 eps 3))))
(+.f64 eps (fma.f64 eps (*.f64 eps (-.f64 -1 eps)) 1))
(*.f64 (+.f64 eps 1) (neg.f64 (fma.f64 eps eps -1)))
(*.f64 -1 (pow.f64 eps 3))
(neg.f64 (pow.f64 eps 3))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))
(fma.f64 -1 (*.f64 eps eps) (neg.f64 (pow.f64 eps 3)))
(neg.f64 (fma.f64 eps eps (pow.f64 eps 3)))
(*.f64 eps (*.f64 eps (-.f64 -1 eps)))
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3))))
(+.f64 eps (fma.f64 -1 (*.f64 eps eps) (neg.f64 (pow.f64 eps 3))))
(fma.f64 -1 (fma.f64 eps eps (pow.f64 eps 3)) eps)
(-.f64 eps (fma.f64 eps eps (pow.f64 eps 3)))
(-.f64 eps (*.f64 eps (fma.f64 eps eps eps)))
(+.f64 1 (+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1 (pow.f64 eps 3)))))
(+.f64 eps (+.f64 1 (fma.f64 -1 (*.f64 eps eps) (neg.f64 (pow.f64 eps 3)))))
(+.f64 eps (fma.f64 -1 (fma.f64 eps eps (pow.f64 eps 3)) 1))
(+.f64 eps (-.f64 1 (fma.f64 eps eps (pow.f64 eps 3))))
(+.f64 eps (fma.f64 eps (*.f64 eps (-.f64 -1 eps)) 1))
(*.f64 (+.f64 eps 1) (neg.f64 (fma.f64 eps eps -1)))

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 eps (*.f64 eps -2/3)) eps)
0.1b
(*.f64 eps (*.f64 eps -2/3))
0.3b
(*.f64 eps -2/3)
Compiler

Compiled 33 to 21 computations (36.4% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite50.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
548×pow1_binary64
527×add-sqr-sqrt_binary64
506×add-log-exp_binary64
506×log1p-expm1-u_binary64
506×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0617
112214
2140214
Stop Event
node limit
Counts
2 → 22
Calls
Call 1
Inputs
(*.f64 eps (*.f64 eps -2/3))
(*.f64 (*.f64 eps (*.f64 eps -2/3)) eps)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 eps -2/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (*.f64 eps -2/3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 eps -2/3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 -2/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (*.f64 eps -2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (*.f64 eps -2/3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 eps -2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 eps -2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 eps -2/3))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 eps 3) -2/3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 eps 3) -2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -2/3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 eps 3) -2/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (pow.f64 eps 3) -2/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -2/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (pow.f64 eps 3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 eps 3) -2/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 eps 3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 eps 3) -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 eps 3) -2/3)))))))

simplify161.0ms (2%)

Algorithm
egg-herbie
Rules
1208×sqr-pow_binary64
564×cube-prod_binary64
537×fabs-mul_binary64
536×unswap-sqr_binary64
502×pow-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09168
123168
248168
3105168
4296168
51235168
62405168
72571168
82821168
93108168
103487168
113993168
124591168
135301168
145768168
156093168
166367168
176537168
186631168
197308168
Stop Event
node limit
Counts
46 → 25
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/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))
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/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))

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (neg.f64 (*.f64 eps eps)))
0.0b
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
Compiler

Compiled 36 to 12 computations (66.7% saved)

series5.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
eps
@inf
(log1p.f64 (neg.f64 (*.f64 eps eps)))
1.0ms
eps
@0
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
1.0ms
eps
@inf
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
1.0ms
eps
@0
(log1p.f64 (neg.f64 (*.f64 eps eps)))
0.0ms
eps
@-inf
(log1p.f64 (neg.f64 (*.f64 eps eps)))

rewrite70.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
859×pow1_binary64
798×add-log-exp_binary64
796×expm1-log1p-u_binary64
794×log1p-expm1-u_binary64
780×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
121420
2276920
Stop Event
node limit
Counts
2 → 52
Calls
Call 1
Inputs
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
(log1p.f64 (neg.f64 (*.f64 eps eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (log1p.f64 eps)) (neg.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (log1p.f64 eps)) (*.f64 (neg.f64 (log1p.f64 (*.f64 eps eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) (fma.f64 (neg.f64 (log1p.f64 (*.f64 eps eps))) 1 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) (fma.f64 (neg.f64 (cbrt.f64 (log1p.f64 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 eps eps))) 2) (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) (fma.f64 (neg.f64 (sqrt.f64 (log1p.f64 (*.f64 eps eps)))) (sqrt.f64 (log1p.f64 (*.f64 eps eps))) (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log1p.f64 (*.f64 eps eps))) (*.f64 2 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))) (pow.f64 (cbrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))) 2) (cbrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))) (sqrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 (log1p.f64 eps) 3) 8) (pow.f64 (log1p.f64 (*.f64 eps eps)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (*.f64 (log1p.f64 (*.f64 eps eps)) (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 (*.f64 eps eps)) 2)) (/.f64 1 (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 2 (log1p.f64 eps))) (sqrt.f64 (log1p.f64 (*.f64 eps eps)))) (-.f64 (sqrt.f64 (*.f64 2 (log1p.f64 eps))) (sqrt.f64 (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (*.f64 (log1p.f64 (*.f64 eps eps)) (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps))))) (-.f64 (*.f64 (pow.f64 (log1p.f64 eps) 3) 8) (pow.f64 (log1p.f64 (*.f64 eps eps)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps))) (-.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 (*.f64 eps eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (log1p.f64 eps) 3) 8) (pow.f64 (log1p.f64 (*.f64 eps eps)) 3)) (+.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (*.f64 (log1p.f64 (*.f64 eps eps)) (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 (*.f64 eps eps)) 2)) (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 (log1p.f64 eps) 3) 8) (pow.f64 (log1p.f64 (*.f64 eps eps)) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (*.f64 (log1p.f64 (*.f64 eps eps)) (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (pow.f64 (log1p.f64 (*.f64 eps eps)) 2))) (neg.f64 (fma.f64 2 (log1p.f64 eps) (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (pow.f64 (log1p.f64 eps) 3) 8) (pow.f64 (neg.f64 (log1p.f64 (*.f64 eps eps))) 3)) (+.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (-.f64 (*.f64 (neg.f64 (log1p.f64 (*.f64 eps eps))) (neg.f64 (log1p.f64 (*.f64 eps eps)))) (*.f64 (*.f64 2 (log1p.f64 eps)) (neg.f64 (log1p.f64 (*.f64 eps eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 2 (log1p.f64 eps)) 2) (*.f64 (neg.f64 (log1p.f64 (*.f64 eps eps))) (neg.f64 (log1p.f64 (*.f64 eps eps))))) (-.f64 (*.f64 2 (log1p.f64 eps)) (neg.f64 (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (+.f64 eps 1) 2) (+.f64 (*.f64 eps eps) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 2 (log1p.f64 eps)) (log1p.f64 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (log1p.f64 eps) (neg.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log1p.f64 eps) 2 (neg.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 2 (log1p.f64 eps)) (neg.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 2 (log1p.f64 eps))) 2) (cbrt.f64 (*.f64 2 (log1p.f64 eps))) (neg.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 2 (log1p.f64 eps))) (sqrt.f64 (*.f64 2 (log1p.f64 eps))) (neg.f64 (log1p.f64 (*.f64 eps eps))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log1p.f64 (*.f64 eps eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log1p.f64 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log1p.f64 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log1p.f64 (*.f64 eps eps))) (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log1p.f64 (*.f64 eps eps))) 2) (cbrt.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log1p.f64 (*.f64 eps eps))) (sqrt.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log1p.f64 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log1p.f64 (*.f64 eps eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log1p.f64 (*.f64 eps eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log1p.f64 (*.f64 eps eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log1p.f64 (*.f64 eps eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 (*.f64 eps eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log1p.f64 (*.f64 eps eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log1p.f64 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log1p.f64 (*.f64 eps eps))))))))

simplify52.0ms (0.6%)

Algorithm
egg-herbie
Rules
645×associate-*l*_binary64
610×fma-neg_binary64
486×associate-*r*_binary64
446×sub-neg_binary64
435×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
099549
1303523
2931458
33372444
Stop Event
node limit
Counts
76 → 99
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)))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1)))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps))))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (*.f64 2 (/.f64 1 eps))))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))))
(*.f64 -1 (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (*.f64 2 (/.f64 1 eps)))
(-.f64 (*.f64 -1 (log.f64 -1)) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (*.f64 -1 (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 -1 (pow.f64 eps 2))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 4)))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4))))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/4 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.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))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5))))
(fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2 eps)))
(+.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)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))))
(fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1)))
(fma.f64 2 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))) (neg.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps))) (+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps))))
(fma.f64 2 (log.f64 -1) (neg.f64 (log.f64 -1)))
(*.f64 (log.f64 -1) 1)
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps))))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (+.f64 (log.f64 -1) (fma.f64 -2 (neg.f64 (log.f64 eps)) (/.f64 2 eps))))
(-.f64 (fma.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)) (/.f64 -2 eps)) (+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps))))
(fma.f64 2 (log.f64 -1) (-.f64 (/.f64 -2 eps) (log.f64 -1)))
(+.f64 (*.f64 (log.f64 -1) 1) (/.f64 -2 eps))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (*.f64 2 (/.f64 1 eps))))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (log.f64 -1) (fma.f64 -2 (neg.f64 (log.f64 eps)) (/.f64 2 eps)))))
(-.f64 (-.f64 (fma.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)) (/.f64 -2 eps)) (+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps)))) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (fma.f64 2 (log.f64 -1) (-.f64 (/.f64 -2 eps) (log.f64 -1))) (/.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 (log.f64 -1) 1) (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))))
(fma.f64 2 (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))) (neg.f64 (+.f64 (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (log.f64 -1)) (+.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (/.f64 2 eps)) (/.f64 2/5 (pow.f64 eps 5))))))
(-.f64 (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps))) (+.f64 (log.f64 -1) (+.f64 (+.f64 (*.f64 2 (log.f64 eps)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (-.f64 (fma.f64 2 (log.f64 -1) (-.f64 (/.f64 -2 eps) (log.f64 -1))) (/.f64 2/5 (pow.f64 eps 5))) (/.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 (log.f64 -1) 1) (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5))))
(*.f64 -1 (log.f64 -1))
(neg.f64 (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (*.f64 2 (/.f64 1 eps)))
(-.f64 (neg.f64 (log.f64 -1)) (/.f64 2 eps))
(fma.f64 -1 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (/.f64 -2 eps) (log.f64 -1))
(-.f64 (*.f64 -1 (log.f64 -1)) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (neg.f64 (log.f64 -1)) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(-.f64 (fma.f64 -1 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (/.f64 -2/3 (pow.f64 eps 3)) (-.f64 (/.f64 -2 eps) (log.f64 -1)))
(+.f64 (/.f64 -2 eps) (-.f64 (/.f64 -2/3 (pow.f64 eps 3)) (log.f64 -1)))
(-.f64 (*.f64 -1 (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 (neg.f64 (log.f64 -1)) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (-.f64 (fma.f64 -1 (log.f64 -1) (/.f64 -2 eps)) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 2/5 (pow.f64 eps 5)))
(-.f64 (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5))) (log.f64 -1))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (-.f64 (/.f64 -2/5 (pow.f64 eps 5)) (log.f64 -1)))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 4)))
(fma.f64 -1 (*.f64 eps eps) (*.f64 -1/2 (pow.f64 eps 4)))
(-.f64 (*.f64 -1/2 (pow.f64 eps 4)) (*.f64 eps eps))
(fma.f64 -1/2 (pow.f64 eps 4) (*.f64 eps (neg.f64 eps)))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4))))
(fma.f64 -1 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/2 (pow.f64 eps 4))))
(-.f64 (fma.f64 -1/2 (pow.f64 eps 4) (*.f64 -1/3 (pow.f64 eps 6))) (*.f64 eps eps))
(fma.f64 -1/2 (pow.f64 eps 4) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 eps (neg.f64 eps))))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/4 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4)))))
(fma.f64 -1 (*.f64 eps eps) (fma.f64 -1/4 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/2 (pow.f64 eps 4)))))
(-.f64 (fma.f64 -1/4 (pow.f64 eps 8) (fma.f64 -1/2 (pow.f64 eps 4) (*.f64 -1/3 (pow.f64 eps 6)))) (*.f64 eps eps))
(-.f64 (fma.f64 -1/2 (pow.f64 eps 4) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/4 (pow.f64 eps 8)))) (*.f64 eps eps))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1))
(fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1))
(+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps)))
(fma.f64 2 (log.f64 eps) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 1 (*.f64 eps eps)))
(+.f64 (log.f64 -1) (+.f64 (*.f64 2 (log.f64 eps)) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (fma.f64 2 (log.f64 eps) (log.f64 -1)) (/.f64 -1 (*.f64 eps eps)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps))) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4))))
(+.f64 (log.f64 -1) (fma.f64 2 (log.f64 eps) (-.f64 (/.f64 -1/2 (pow.f64 eps 4)) (/.f64 1 (*.f64 eps eps)))))
(+.f64 (+.f64 (fma.f64 2 (log.f64 eps) (log.f64 -1)) (/.f64 -1 (*.f64 eps eps))) (/.f64 -1/2 (pow.f64 eps 4)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (+.f64 (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (/.f64 1/3 (pow.f64 eps 6))) (/.f64 1 (*.f64 eps eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps))) (+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (/.f64 1/3 (pow.f64 eps 6)))))
(+.f64 (fma.f64 2 (log.f64 eps) (log.f64 -1)) (-.f64 (-.f64 (/.f64 -1/2 (pow.f64 eps 4)) (/.f64 1 (*.f64 eps eps))) (/.f64 1/3 (pow.f64 eps 6))))
(+.f64 (+.f64 (fma.f64 2 (log.f64 eps) (log.f64 -1)) (/.f64 -1/2 (pow.f64 eps 4))) (-.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 6))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (/.f64 1 (*.f64 eps eps)))
(+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4))))
(-.f64 (+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1 (*.f64 eps eps)))) (/.f64 1/2 (pow.f64 eps 4)))
(+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (-.f64 (/.f64 -1/2 (pow.f64 eps 4)) (/.f64 1 (*.f64 eps eps)))))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (/.f64 1/3 (pow.f64 eps 6))) (/.f64 1 (*.f64 eps eps))))
(-.f64 (-.f64 (+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1 (*.f64 eps eps)))) (/.f64 1/2 (pow.f64 eps 4))) (/.f64 1/3 (pow.f64 eps 6)))
(+.f64 (log.f64 -1) (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1 (*.f64 eps eps))) (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (/.f64 1/3 (pow.f64 eps 6)))))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (+.f64 (/.f64 -1/2 (pow.f64 eps 4)) (/.f64 -1/3 (pow.f64 eps 6)))))

eval293.0ms (3.6%)

Compiler

Compiled 9392 to 5347 computations (43.1% saved)

prune143.0ms (1.8%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New4331434
Fresh000
Picked011
Done156
Total4347441
Error
0b
Counts
441 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.4b
(log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps)))))
57.4b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
57.4b
(neg.f64 (log.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))
0.2b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
0.9b
(*.f64 -2 eps)
Compiler

Compiled 79 to 58 computations (26.6% saved)

localize49.0ms (0.6%)

Local error

Found 3 expressions with local error:

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

Compiled 61 to 48 computations (21.3% saved)

series5.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

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

rewrite136.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
464×log-prod_binary64
358×exp-prod_binary64
311×prod-diff_binary64
255×pow-prod-down_binary64
231×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0928
120922
2273520
Stop Event
node limit
Counts
2 → 182
Calls
Call 1
Inputs
(log.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1))
(/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) (fma.f64 (neg.f64 (sqrt.f64 (log1p.f64 (neg.f64 eps)))) (sqrt.f64 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 eps) (neg.f64 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (neg.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)))) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (*.f64 -1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 -1) (log.f64 (neg.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (log1p.f64 (neg.f64 eps))) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (log1p.f64 eps) (neg.f64 (*.f64 (log1p.f64 (neg.f64 eps)) 1))) (fma.f64 (neg.f64 (log1p.f64 (neg.f64 eps))) 1 (*.f64 (log1p.f64 (neg.f64 eps)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)) (neg.f64 (*.f64 (log1p.f64 (neg.f64 eps)) 1))) (fma.f64 (neg.f64 (log1p.f64 (neg.f64 eps))) 1 (*.f64 (log1p.f64 (neg.f64 eps)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)) (neg.f64 (*.f64 (log1p.f64 (neg.f64 eps)) 1))) (fma.f64 (neg.f64 (log1p.f64 (neg.f64 eps))) 1 (*.f64 (log1p.f64 (neg.f64 eps)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (log1p.f64 eps) (neg.f64 (*.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps)))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2) (*.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps)))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2) (*.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)) (neg.f64 (*.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps)))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2) (*.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) (pow.f64 (cbrt.f64 (log1p.f64 (neg.f64 eps))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps)))) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (-.f64 1 eps)) -2)) (log.f64 (/.f64 (+.f64 1 eps) (cbrt.f64 (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (-.f64 1 eps) -1/2)) (log.f64 (/.f64 (+.f64 1 eps) (sqrt.f64 (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) -2)) (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) 2)) 1)) (log.f64 (/.f64 (cbrt.f64 (+.f64 1 eps)) (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) 1)) (log.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) 2)) (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2))) (log.f64 (/.f64 (cbrt.f64 (+.f64 1 eps)) (cbrt.f64 (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2))) (log.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (cbrt.f64 (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) 2)) (sqrt.f64 (-.f64 1 eps)))) (log.f64 (/.f64 (cbrt.f64 (+.f64 1 eps)) (sqrt.f64 (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (sqrt.f64 (-.f64 1 eps)))) (log.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (sqrt.f64 (-.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (/.f64 1 (-.f64 1 eps)) 1)) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 (pow.f64 eps 3)))) (log1p.f64 (fma.f64 eps eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (/.f64 1 (neg.f64 (-.f64 1 eps)))) (log.f64 (fma.f64 -1 eps -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (/.f64 1 (-.f64 1 eps)) (cbrt.f64 (pow.f64 (+.f64 1 eps) 2)))) (*.f64 1/3 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (/.f64 1 (-.f64 1 eps)) (hypot.f64 1 (sqrt.f64 eps)))) (*.f64 1/2 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (neg.f64 (/.f64 (neg.f64 (-.f64 1 eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (pow.f64 eps 3)) (log.f64 (*.f64 (-.f64 1 eps) (fma.f64 eps (-.f64 eps 1) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (log1p.f64 eps)) (log.f64 (/.f64 (-.f64 1 eps) (hypot.f64 1 (sqrt.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 1/3 (log1p.f64 eps))) (log.f64 (/.f64 (-.f64 1 eps) (cbrt.f64 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)))) (log.f64 -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (fma.f64 -1 eps -1)) (log.f64 (neg.f64 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 -1) (-.f64 (log.f64 (neg.f64 (-.f64 1 eps))) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 (neg.f64 (*.f64 eps eps))) (*.f64 2 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (log1p.f64 (neg.f64 eps))) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (+.f64 1 eps) 1)) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (+.f64 1 eps) (sqrt.f64 (-.f64 1 eps)))) (*.f64 1/2 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (/.f64 (+.f64 1 eps) (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2))) (*.f64 1/3 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (/.f64 1 (-.f64 1 eps)) (+.f64 1 (pow.f64 eps 3)))) (log1p.f64 (-.f64 (*.f64 eps eps) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (/.f64 1 (-.f64 1 eps)) (-.f64 1 (*.f64 eps eps)))) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) -2)) (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2) (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 -1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (*.f64 3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 3) 0) (+.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 2) (+.f64 0 (*.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 2) 0) (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 2)) (cbrt.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))) (sqrt.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (neg.f64 (/.f64 (neg.f64 (-.f64 1 eps)) (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log1p.f64 eps) (neg.f64 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2) (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log1p.f64 eps)) 2) (cbrt.f64 (log1p.f64 eps)) (neg.f64 (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log1p.f64 eps)) (sqrt.f64 (log1p.f64 eps)) (neg.f64 (log1p.f64 (neg.f64 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 1 (-.f64 1 eps)) (*.f64 eps (/.f64 1 (-.f64 1 eps))))))) (#(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 (/.f64 1 (-.f64 1 eps)) 1) (*.f64 (/.f64 1 (-.f64 1 eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (-.f64 1 eps)) eps) (*.f64 (/.f64 1 (-.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.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 1 eps) (/.f64 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 (cbrt.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) (pow.f64 (cbrt.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.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 (sqrt.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) (sqrt.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))))) (#(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 (neg.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 (pow.f64 (cbrt.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 (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 (hypot.f64 1 (sqrt.f64 eps)) 1) (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (-.f64 1 eps)))))) (#(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 (cbrt.f64 (pow.f64 (+.f64 1 eps) 2)) (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2)) (/.f64 (cbrt.f64 (+.f64 1 eps)) (cbrt.f64 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (pow.f64 (cbrt.f64 (-.f64 1 eps)) 2)) (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (cbrt.f64 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 eps) -1/2) (/.f64 (+.f64 1 eps) (sqrt.f64 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (+.f64 1 eps) 2)) (sqrt.f64 (-.f64 1 eps))) (/.f64 (cbrt.f64 (+.f64 1 eps)) (sqrt.f64 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (sqrt.f64 (-.f64 1 eps))) (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (sqrt.f64 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (-.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 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (-.f64 1 eps))) (fma.f64 -1 eps -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (-.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 1 (-.f64 1 eps)) (hypot.f64 1 (sqrt.f64 eps))) (hypot.f64 1 (sqrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (neg.f64 (log1p.f64 (neg.f64 eps)))) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (*.f64 2 (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))) (pow.f64 (E.f64) (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (E.f64) (*.f64 -1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) (pow.f64 (E.f64) (*.f64 -1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (E.f64) (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) 2) -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 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) -2) 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 (cbrt.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)) (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)) (*.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (*.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (expm1.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (+.f64 1 eps) 3) (pow.f64 (-.f64 1 eps) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (/.f64 (neg.f64 (-.f64 1 eps)) (+.f64 1 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (hypot.f64 1 (sqrt.f64 eps)) (sqrt.f64 (-.f64 1 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (E.f64) -1) (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)) 1) (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 2)) (cbrt.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2))) (cbrt.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)) (cbrt.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))) (cbrt.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))) (sqrt.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) 1) (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (cbrt.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 2))) (sqrt.f64 (cbrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (exp.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))) (sqrt.f64 (sqrt.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 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 sqrt.f64 (pow.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (+.f64 1 eps) (-.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 cbrt.f64 (/.f64 (pow.f64 (+.f64 1 eps) 3) (pow.f64 (-.f64 1 eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (-.f64 1 eps)) (*.f64 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 (/.f64 1 (-.f64 1 eps)) 1 (*.f64 (/.f64 1 (-.f64 1 eps)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 eps)) eps (*.f64 (/.f64 1 (-.f64 1 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 eps))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 eps))) (*.f64 eps (/.f64 1 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 eps))) (sqrt.f64 (/.f64 1 (-.f64 1 eps))) (*.f64 eps (/.f64 1 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (pow.f64 eps 3))) (+.f64 1 (fma.f64 eps eps eps)) (*.f64 eps (/.f64 1 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps) (*.f64 eps (/.f64 1 (-.f64 1 eps))))))))

simplify72.0ms (0.9%)

Algorithm
egg-herbie
Rules
972×fma-neg_binary64
723×fma-def_binary64
634×times-frac_binary64
588×cancel-sign-sub-inv_binary64
505×associate-/l/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
053319
1159307
2443305
31276300
43726296
Stop Event
node limit
Counts
206 → 210
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/7 (pow.f64 eps 7)) (+.f64 (*.f64 2 eps) (+.f64 (*.f64 2/5 (pow.f64 eps 5)) (*.f64 2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(+.f64 (*.f64 2 (/.f64 1 eps)) (log.f64 -1))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps))))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(log.f64 -1)
(+.f64 (*.f64 2 (/.f64 1 eps)) (log.f64 -1))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps))))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.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 3)) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1)))
-1
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 eps)) 1))
(neg.f64 (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))))
-1
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 eps)) 1))
(neg.f64 (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.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 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))))
(fma.f64 2 eps (fma.f64 2/3 (pow.f64 eps 3) (*.f64 2/5 (pow.f64 eps 5))))
(fma.f64 eps (fma.f64 eps (*.f64 eps 2/3) 2) (*.f64 2/5 (pow.f64 eps 5)))
(+.f64 (*.f64 2/7 (pow.f64 eps 7)) (+.f64 (*.f64 2 eps) (+.f64 (*.f64 2/5 (pow.f64 eps 5)) (*.f64 2/3 (pow.f64 eps 3)))))
(fma.f64 2/7 (pow.f64 eps 7) (fma.f64 2 eps (fma.f64 2/5 (pow.f64 eps 5) (*.f64 2/3 (pow.f64 eps 3)))))
(fma.f64 2/7 (pow.f64 eps 7) (fma.f64 2 eps (fma.f64 2/3 (pow.f64 eps 3) (*.f64 2/5 (pow.f64 eps 5)))))
(fma.f64 2 eps (fma.f64 2/7 (pow.f64 eps 7) (fma.f64 2/3 (pow.f64 eps 3) (*.f64 2/5 (pow.f64 eps 5)))))
(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)))))
(fma.f64 eps (fma.f64 eps (*.f64 eps 2/3) 2) (fma.f64 2/5 (pow.f64 eps 5) (*.f64 2/7 (pow.f64 eps 7))))
(log.f64 -1)
(+.f64 (*.f64 2 (/.f64 1 eps)) (log.f64 -1))
(+.f64 (log.f64 -1) (/.f64 2 eps))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps))))
(+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (log.f64 -1) (/.f64 2 eps)))
(+.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (+.f64 (log.f64 -1) (/.f64 2 eps)) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 2/5 (pow.f64 eps 5)) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
(log.f64 -1)
(+.f64 (*.f64 2 (/.f64 1 eps)) (log.f64 -1))
(+.f64 (log.f64 -1) (/.f64 2 eps))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps))))
(+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (log.f64 -1) (/.f64 2 eps)))
(+.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (log.f64 -1) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (+.f64 (log.f64 -1) (/.f64 2 eps)) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 2/5 (pow.f64 eps 5)) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (/.f64 2/5 (pow.f64 eps 5)))))
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 2 eps (fma.f64 2 (*.f64 eps eps) 1))
(fma.f64 2 (*.f64 (+.f64 eps 1) eps) 1)
(fma.f64 2 (fma.f64 eps eps eps) 1)
(+.f64 (*.f64 2 eps) (+.f64 (*.f64 2 (pow.f64 eps 3)) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1)))
(fma.f64 2 eps (fma.f64 2 (pow.f64 eps 3) (fma.f64 2 (*.f64 eps eps) 1)))
(fma.f64 2 eps (fma.f64 2 (+.f64 (pow.f64 eps 3) (*.f64 eps eps)) 1))
(fma.f64 2 (+.f64 eps (*.f64 eps (fma.f64 eps eps eps))) 1)
-1
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 eps)) 1))
(neg.f64 (+.f64 1 (/.f64 2 eps)))
(+.f64 -1 (/.f64 -2 eps))
(-.f64 -1 (/.f64 2 eps))
(neg.f64 (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))))
(-.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (-.f64 (/.f64 -2 eps) (/.f64 (/.f64 2 eps) eps)))
(+.f64 (/.f64 -2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))))
(neg.f64 (+.f64 (+.f64 1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3))))
(+.f64 (-.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))) (/.f64 -2 (pow.f64 eps 3)))
(+.f64 (+.f64 -1 (/.f64 -2 eps)) (+.f64 (/.f64 (/.f64 -2 eps) eps) (/.f64 -2 (pow.f64 eps 3))))
(+.f64 (/.f64 -2 eps) (+.f64 -1 (+.f64 (/.f64 -2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.f64 (/.f64 -2 eps) (fma.f64 (/.f64 (/.f64 1 eps) eps) (-.f64 -2 (/.f64 2 eps)) -1))
-1
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 eps)) 1))
(neg.f64 (+.f64 1 (/.f64 2 eps)))
(+.f64 -1 (/.f64 -2 eps))
(-.f64 -1 (/.f64 2 eps))
(neg.f64 (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))))
(-.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (-.f64 (/.f64 -2 eps) (/.f64 (/.f64 2 eps) eps)))
(+.f64 (/.f64 -2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))))
(neg.f64 (+.f64 (+.f64 1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3))))
(+.f64 (-.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))) (/.f64 -2 (pow.f64 eps 3)))
(+.f64 (+.f64 -1 (/.f64 -2 eps)) (+.f64 (/.f64 (/.f64 -2 eps) eps) (/.f64 -2 (pow.f64 eps 3))))
(+.f64 (/.f64 -2 eps) (+.f64 -1 (+.f64 (/.f64 -2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.f64 (/.f64 -2 eps) (fma.f64 (/.f64 (/.f64 1 eps) eps) (-.f64 -2 (/.f64 2 eps)) -1))

eval137.0ms (1.7%)

Compiler

Compiled 4457 to 2952 computations (33.8% saved)

prune75.0ms (0.9%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New2612263
Fresh000
Picked101
Done156
Total2637270
Error
0b
Counts
270 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
57.4b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.4b
(neg.f64 (log.f64 (/.f64 (*.f64 (/.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps)) 1)))
0.9b
(*.f64 -2 eps)
57.3b
(neg.f64 (-.f64 (log.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))) 0))
0.2b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
Compiler

Compiled 76 to 58 computations (23.7% saved)

regimes33.0ms (0.4%)

Counts
13 → 1
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(neg.f64 (-.f64 (log.f64 (neg.f64 (neg.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))) 0))
(neg.f64 (log.f64 (/.f64 (/.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1)))
(log.f64 (*.f64 (/.f64 (-.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)))
(neg.f64 (log.f64 (/.f64 (*.f64 (/.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps))) (+.f64 1 eps)) 1)))
(log.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 eps eps)) (-.f64 1 eps)) (*.f64 (+.f64 1 eps) (-.f64 1 (*.f64 eps eps)))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(-.f64 (*.f64 2 (log1p.f64 (neg.f64 eps))) (log1p.f64 (neg.f64 (*.f64 eps eps))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
Outputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Calls

4 calls:

15.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
8.0ms
eps
3.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
3.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Results
ErrorSegmentsBranch
0.0b1eps
0.0b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
0.0b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 176 to 125 computations (29% saved)

regimes20.0ms (0.2%)

Accuracy

Total -57.8b remaining (-24633.2%)

Threshold costs -57.8b (-24633.2%)

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

4 calls:

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

Compiled 144 to 104 computations (27.8% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01330
12430
22930
33230
43330
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(*.f64 -2 eps)
Outputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(+.f64 (*.f64 eps (*.f64 eps (*.f64 eps -2/3))) (*.f64 eps -2))
(*.f64 -2 eps)
(*.f64 eps -2)
Compiler

Compiled 23 to 16 computations (30.4% saved)

soundness524.0ms (6.4%)

Algorithm
egg-herbie
Rules
1088×fma-neg_binary64
890×fma-def_binary64
719×distribute-rgt-in_binary64
491×distribute-lft-in_binary64
331×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0712
11810
22810
34110
47110
510310
615910
729210
860410
9103710
10144410
11200210
12274010
13383510
14467010
15476810
16480010
17480010
18639310
19674810
20682610
21683410
22684210
23684210
24704210
Stop Event
node limit
Compiler

Compiled 43 to 33 computations (23.3% saved)

end25.0ms (0.3%)

Compiler

Compiled 21 to 14 computations (33.3% saved)

Profiling

Loading profile data...