Details

Time bar (total: 8.1s)

analyze4.0ms (0%)

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

Compiled 10 to 8 computations (20% saved)

sample3.9s (47.7%)

Results
2.6s4087×body1024valid
580.0ms2060×body512valid
393.0ms1649×body256valid
303.0ms460×body2048valid
0.0msbody256invalid

preprocess225.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)

simplify227.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: 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))
58.7b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Compiler

Compiled 16 to 12 computations (25% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
5.9b
(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))

rewrite61.0ms (0.7%)

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 exp.f64 (log.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 +.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 exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 1 eps) (+.f64 1 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))

rewrite43.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 exp.f64 (log.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 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)))))))

simplify78.0ms (1%)

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))))

eval40.0ms (0.5%)

Compiler

Compiled 1882 to 1147 computations (39.1% saved)

prune26.0ms (0.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1436149
Fresh000
Picked011
Done011
Total1438151
Error
0b
Counts
151 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
58.7b
(log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
60.6b
(log.f64 1)
0.3b
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
0.2b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
58.7b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.7b
(*.f64 -2 eps)
58.7b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
Compiler

Compiled 128 to 100 computations (21.9% 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)

series5.0ms (0.1%)

Counts
3 → 3
Calls

9 calls:

TimeVariablePointExpression
1.0ms
eps
@-inf
(*.f64 -2/3 (pow.f64 eps 3))
1.0ms
eps
@0
(*.f64 -2/3 (pow.f64 eps 3))
1.0ms
eps
@0
(*.f64 -2/5 (pow.f64 eps 5))
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))

rewrite74.0ms (0.9%)

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 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 log1p.f64 (expm1.f64 (*.f64 -2/3 (pow.f64 eps 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 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 log1p.f64 (expm1.f64 (*.f64 -2/5 (pow.f64 eps 5))))))))
((#(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 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 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 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)))))))

simplify139.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))

localize2.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

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.4b
(*.f64 eps -2/3)
Compiler

Compiled 21 to 14 computations (33.3% saved)

series3.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
@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
@0
(*.f64 eps -2/3)
0.0ms
eps
@-inf
(*.f64 eps -2/3)

rewrite52.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 exp.f64 (log.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 +.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 exp.f64 (log.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))))))))

simplify203.0ms (2.5%)

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))

localize30.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 25 computations (24.2% saved)

series5.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

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

rewrite98.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
906×pow1_binary64
844×log1p-expm1-u_binary64
844×expm1-log1p-u_binary64
843×add-log-exp_binary64
828×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify70.0ms (0.9%)

Algorithm
egg-herbie
Rules
842×fma-def_binary64
720×times-frac_binary64
399×sub-neg_binary64
258×distribute-neg-frac_binary64
247×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072487
1210474
2551474
31583468
45039465
Stop Event
node limit
Counts
123 → 128
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
1
(+.f64 1 (*.f64 -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))))
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 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)))))
(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/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 (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 (log.f64 -1) (-.f64 (/.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 (log.f64 -1) (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5))))
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 1 (neg.f64 eps)) (*.f64 eps eps))
(fma.f64 eps eps (-.f64 1 eps))
(-.f64 (fma.f64 eps eps 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 (-.f64 (fma.f64 eps eps 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 1 eps) (/.f64 (/.f64 -1 eps) eps))
(-.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 1 (*.f64 eps eps)))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(+.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 (/.f64 -1 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 (/.f64 1 (pow.f64 eps 3)) (/.f64 1 (pow.f64 eps 4))) (-.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 eps)))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (+.f64 (/.f64 (/.f64 -1 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 1 eps) (/.f64 (/.f64 -1 eps) eps))
(-.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 1 (*.f64 eps eps)))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(+.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 (/.f64 -1 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 (/.f64 1 (pow.f64 eps 3)) (/.f64 1 (pow.f64 eps 4))) (-.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 eps)))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4)))))
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 (fma.f64 2 (*.f64 eps eps) (+.f64 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 eps (fma.f64 eps 2 -2) (fma.f64 -2 (pow.f64 eps 3) 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 (/.f64 -2 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 (pow.f64 eps 3)) (+.f64 -1 (/.f64 2 eps))) (/.f64 2 (*.f64 eps eps)))
(+.f64 (/.f64 2 eps) (+.f64 (+.f64 (/.f64 2 (pow.f64 eps 3)) -1) (/.f64 -2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 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 (/.f64 2 eps) (+.f64 -1 (/.f64 (/.f64 -2 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 (pow.f64 eps 3)) (+.f64 -1 (/.f64 2 eps))) (/.f64 2 (*.f64 eps eps)))
(+.f64 (/.f64 2 eps) (+.f64 (+.f64 (/.f64 2 (pow.f64 eps 3)) -1) (/.f64 -2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 eps) eps))))

eval152.0ms (1.9%)

Compiler

Compiled 4467 to 3395 computations (24% saved)

prune41.0ms (0.5%)

Pruning

9 alts after pruning (3 fresh and 6 done)

PrunedKeptTotal
New2763279
Fresh101
Picked011
Done156
Total2789287
Error
0b
Counts
287 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
0.3b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
58.7b
(log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
58.8b
(log.f64 (*.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)) (-.f64 1 eps)))
0.7b
(*.f64 -2 eps)
58.7b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
60.6b
(log.f64 1)
58.7b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
Compiler

Compiled 92 to 71 computations (22.8% saved)

localize26.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 63 to 39 computations (38.1% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

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

rewrite108.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
522×log-prod_binary64
373×pow-prod-down_binary64
342×prod-diff_binary64
270×pow2_binary64
266×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify76.0ms (0.9%)

Algorithm
egg-herbie
Rules
607×sub-neg_binary64
431×associate-*l*_binary64
386×distribute-neg-frac_binary64
367×associate-*r*_binary64
343×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
093703
1264672
2724672
32169672
46422672
Stop Event
node limit
Counts
309 → 316
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))))
1
(+.f64 (pow.f64 eps 2) 1)
(+.f64 (pow.f64 eps 2) (+.f64 1 (pow.f64 eps 4)))
(+.f64 (pow.f64 eps 2) (+.f64 1 (+.f64 (pow.f64 eps 4) (pow.f64 eps 6))))
(/.f64 -1 (pow.f64 eps 2))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (/.f64 1 (pow.f64 eps 2)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (pow.f64 eps 8)) (/.f64 1 (pow.f64 eps 2))))))
(/.f64 -1 (pow.f64 eps 2))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (/.f64 1 (pow.f64 eps 2)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (pow.f64 eps 8)) (/.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)))))
(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/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))))
(+.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 (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/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))))
(+.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))
(+.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 eps (fma.f64 -2 (pow.f64 eps 3) (fma.f64 eps (*.f64 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 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(-.f64 (/.f64 2 eps) (-.f64 (+.f64 1 (/.f64 2 (*.f64 eps eps))) (/.f64 2 (pow.f64 eps 3))))
(-.f64 (/.f64 2 eps) (+.f64 1 (-.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 3)))))
-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 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(-.f64 (/.f64 2 eps) (-.f64 (+.f64 1 (/.f64 2 (*.f64 eps eps))) (/.f64 2 (pow.f64 eps 3))))
(-.f64 (/.f64 2 eps) (+.f64 1 (-.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 3)))))
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 1 (*.f64 eps eps)) (*.f64 -1 (+.f64 eps (pow.f64 eps 3))))
(fma.f64 eps eps (-.f64 (-.f64 1 eps) (pow.f64 eps 3)))
(-.f64 (-.f64 (fma.f64 eps eps 1) eps) (pow.f64 eps 3))
(-.f64 (fma.f64 eps eps (-.f64 1 eps)) (pow.f64 eps 3))
(/.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 1 eps) (/.f64 (/.f64 -1 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 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 (/.f64 -1 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 1 (pow.f64 eps 3)) (+.f64 (/.f64 (/.f64 -1 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 1 eps) (/.f64 (/.f64 -1 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 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 (/.f64 -1 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 1 (pow.f64 eps 3)) (+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4)))))
1
(+.f64 (pow.f64 eps 2) 1)
(+.f64 1 (*.f64 eps eps))
(fma.f64 eps eps 1)
(+.f64 (pow.f64 eps 2) (+.f64 1 (pow.f64 eps 4)))
(+.f64 (+.f64 1 (*.f64 eps eps)) (pow.f64 eps 4))
(+.f64 (pow.f64 eps 4) (fma.f64 eps eps 1))
(+.f64 1 (fma.f64 eps eps (pow.f64 eps 4)))
(+.f64 (pow.f64 eps 2) (+.f64 1 (+.f64 (pow.f64 eps 4) (pow.f64 eps 6))))
(+.f64 (+.f64 1 (*.f64 eps eps)) (+.f64 (pow.f64 eps 4) (pow.f64 eps 6)))
(+.f64 (fma.f64 eps eps 1) (+.f64 (pow.f64 eps 4) (pow.f64 eps 6)))
(+.f64 (pow.f64 eps 4) (+.f64 (fma.f64 eps eps 1) (pow.f64 eps 6)))
(/.f64 -1 (pow.f64 eps 2))
(/.f64 -1 (*.f64 eps eps))
(/.f64 (/.f64 -1 eps) eps)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 4))))
(+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4)))
(+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (/.f64 1 (pow.f64 eps 2)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 6)))))
(-.f64 (/.f64 -1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 6))))
(+.f64 (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4))) (/.f64 -1 (pow.f64 eps 6)))
(+.f64 (+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4))) (/.f64 -1 (pow.f64 eps 6)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (pow.f64 eps 8)) (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 8))))))
(-.f64 (/.f64 -1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 8)))))
(-.f64 (+.f64 (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4))) (/.f64 -1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 8)))
(+.f64 (+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4))) (+.f64 (/.f64 -1 (pow.f64 eps 6)) (/.f64 -1 (pow.f64 eps 8))))
(/.f64 -1 (pow.f64 eps 2))
(/.f64 -1 (*.f64 eps eps))
(/.f64 (/.f64 -1 eps) eps)
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(neg.f64 (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 4))))
(+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4)))
(+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (/.f64 1 (pow.f64 eps 2)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 6)))))
(-.f64 (/.f64 -1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 6))))
(+.f64 (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4))) (/.f64 -1 (pow.f64 eps 6)))
(+.f64 (+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4))) (/.f64 -1 (pow.f64 eps 6)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (pow.f64 eps 8)) (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 8))))))
(-.f64 (/.f64 -1 (pow.f64 eps 4)) (+.f64 (/.f64 1 (pow.f64 eps 6)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 8)))))
(-.f64 (+.f64 (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4))) (/.f64 -1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 8)))
(+.f64 (+.f64 (/.f64 (/.f64 -1 eps) eps) (/.f64 -1 (pow.f64 eps 4))) (+.f64 (/.f64 -1 (pow.f64 eps 6)) (/.f64 -1 (pow.f64 eps 8))))

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 39 to 28 computations (28.2% saved)

series4.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite111.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
449×log-prod_binary64
385×fma-def_binary64
338×exp-prod_binary64
312×pow-prod-down_binary64
240×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify74.0ms (0.9%)

Algorithm
egg-herbie
Rules
639×times-frac_binary64
406×sub-neg_binary64
296×fma-def_binary64
295×fma-neg_binary64
273×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072452
1210445
2543441
31607440
44782437
Stop Event
node limit
Counts
372 → 377
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)))))
eps
(+.f64 eps (*.f64 -1 (pow.f64 eps 2)))
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (pow.f64 eps 3)))
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1 (pow.f64 eps 4)) (pow.f64 eps 3))))
1
(-.f64 1 (/.f64 1 eps))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (/.f64 1 eps))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
1
(-.f64 1 (/.f64 1 eps))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (/.f64 1 eps))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
Outputs
(*.f64 -2 eps)
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -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)))))
(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 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 (log.f64 -1) (-.f64 (-.f64 (/.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/5 (pow.f64 eps 5))) (/.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (+.f64 (log.f64 -1) (+.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 (log.f64 -1) (-.f64 (/.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 (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 (/.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/5 (pow.f64 eps 5))) (/.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (+.f64 (log.f64 -1) (+.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 -2 eps (fma.f64 eps (*.f64 eps 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)))
-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 (+.f64 -1 (/.f64 2 eps)) (/.f64 -2 (*.f64 eps eps)))
(+.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps))))
(+.f64 -1 (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 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 2 eps) (+.f64 -1 (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (+.f64 -1 (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 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 (+.f64 -1 (/.f64 2 eps)) (/.f64 -2 (*.f64 eps eps)))
(+.f64 -1 (+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps))))
(+.f64 -1 (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 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 2 eps) (+.f64 -1 (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (+.f64 -1 (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 eps) eps))))
eps
(+.f64 eps (*.f64 -1 (pow.f64 eps 2)))
(+.f64 eps (neg.f64 (*.f64 eps eps)))
(-.f64 eps (*.f64 eps eps))
(fma.f64 eps (neg.f64 eps) eps)
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (pow.f64 eps 3)))
(+.f64 eps (fma.f64 -1 (*.f64 eps eps) (pow.f64 eps 3)))
(+.f64 eps (*.f64 (*.f64 eps eps) (+.f64 eps -1)))
(fma.f64 (*.f64 eps eps) (+.f64 eps -1) eps)
(+.f64 eps (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1 (pow.f64 eps 4)) (pow.f64 eps 3))))
(+.f64 eps (fma.f64 -1 (*.f64 eps eps) (fma.f64 -1 (pow.f64 eps 4) (pow.f64 eps 3))))
(+.f64 (-.f64 eps (*.f64 eps eps)) (-.f64 (pow.f64 eps 3) (pow.f64 eps 4)))
(+.f64 eps (-.f64 (pow.f64 eps 3) (fma.f64 eps eps (pow.f64 eps 4))))
(*.f64 (+.f64 1 (*.f64 eps eps)) (fma.f64 eps (neg.f64 eps) eps))
(*.f64 (-.f64 1 eps) (+.f64 eps (pow.f64 eps 3)))
1
(-.f64 1 (/.f64 1 eps))
(+.f64 1 (/.f64 -1 eps))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (/.f64 1 eps))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 eps)))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 -1 eps)))
(+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 1 (/.f64 -1 eps)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 1 (/.f64 1 (*.f64 eps eps))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3)))))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 -1 eps) (/.f64 -1 (pow.f64 eps 3)))))
(+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 1 (+.f64 (/.f64 -1 eps) (/.f64 -1 (pow.f64 eps 3)))))
1
(-.f64 1 (/.f64 1 eps))
(+.f64 1 (/.f64 -1 eps))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (/.f64 1 eps))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 eps)))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 -1 eps)))
(+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 1 (/.f64 -1 eps)))
(-.f64 (+.f64 1 (/.f64 1 (pow.f64 eps 2))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(-.f64 (+.f64 1 (/.f64 1 (*.f64 eps eps))) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))))
(+.f64 1 (-.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3)))))
(+.f64 1 (+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 -1 eps) (/.f64 -1 (pow.f64 eps 3)))))
(+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 1 (+.f64 (/.f64 -1 eps) (/.f64 -1 (pow.f64 eps 3)))))

localize24.0ms (0.3%)

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.4b
(*.f64 eps -2/3)
Compiler

Compiled 33 to 21 computations (36.4% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite78.0ms (1%)

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 exp.f64 (log.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 -.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 exp.f64 (log.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)))))))

simplify170.0ms (2.1%)

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))

eval296.0ms (3.6%)

Compiler

Compiled 14387 to 9683 computations (32.7% saved)

prune102.0ms (1.3%)

Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New7633766
Fresh000
Picked011
Done088
Total76312775
Error
0b
Counts
775 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
0.3b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
58.7b
(log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
58.8b
(log.f64 (*.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)) (-.f64 1 eps)))
0.7b
(*.f64 -2 eps)
0.3b
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) 1) eps) (*.f64 -2 eps))
58.7b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
60.6b
(log.f64 1)
58.7b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
58.7b
(log.f64 (/.f64 (-.f64 (/.f64 (+.f64 1 eps) eps) (+.f64 1 eps)) (*.f64 (+.f64 1 eps) (/.f64 (+.f64 1 eps) eps))))
58.7b
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))
Compiler

Compiled 139 to 106 computations (23.7% saved)

localize26.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 68 to 46 computations (32.4% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

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

rewrite108.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
609×log-prod_binary64
471×fma-def_binary64
322×fma-neg_binary64
287×log-div_binary64
283×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify57.0ms (0.7%)

Algorithm
egg-herbie
Rules
614×fma-def_binary64
502×times-frac_binary64
462×fma-neg_binary64
450×associate-/l/_binary64
403×associate-*l/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
061459
1173457
2425457
31148451
43371447
Stop Event
node limit
Counts
349 → 339
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))))))
(/.f64 1 eps)
(+.f64 (/.f64 1 eps) 2)
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
eps
(+.f64 2 eps)
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
eps
(+.f64 2 eps)
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
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)))))
(/.f64 1 eps)
(+.f64 (/.f64 1 eps) 1)
(+.f64 (/.f64 1 eps) 1)
(+.f64 (/.f64 1 eps) 1)
1
(+.f64 (/.f64 1 eps) 1)
(+.f64 (/.f64 1 eps) 1)
(+.f64 (/.f64 1 eps) 1)
1
(+.f64 (/.f64 1 eps) 1)
(+.f64 (/.f64 1 eps) 1)
(+.f64 (/.f64 1 eps) 1)
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 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)))))
(fma.f64 eps (fma.f64 -2/3 (*.f64 eps eps) -2) (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 -2 eps) (+.f64 (log.f64 -1) (/.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 (+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps)) (/.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))))
(+.f64 (log.f64 -1) (+.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/5 (pow.f64 eps 5))) (/.f64 -2/3 (pow.f64 eps 3))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 eps))
(+.f64 (log.f64 -1) (/.f64 -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 -2 eps) (+.f64 (log.f64 -1) (/.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 (+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps)) (/.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))))
(+.f64 (log.f64 -1) (+.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/5 (pow.f64 eps 5))) (/.f64 -2/3 (pow.f64 eps 3))))
(/.f64 1 eps)
(+.f64 (/.f64 1 eps) 2)
(+.f64 2 (/.f64 1 eps))
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 eps 2))
(+.f64 eps (+.f64 2 (/.f64 1 eps)))
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 eps 2))
(+.f64 eps (+.f64 2 (/.f64 1 eps)))
eps
(+.f64 2 eps)
(+.f64 eps 2)
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 eps 2))
(+.f64 eps (+.f64 2 (/.f64 1 eps)))
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 eps 2))
(+.f64 eps (+.f64 2 (/.f64 1 eps)))
eps
(+.f64 2 eps)
(+.f64 eps 2)
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 eps 2))
(+.f64 eps (+.f64 2 (/.f64 1 eps)))
(+.f64 (/.f64 1 eps) (+.f64 2 eps))
(+.f64 (/.f64 1 eps) (+.f64 eps 2))
(+.f64 eps (+.f64 2 (/.f64 1 eps)))
1
(+.f64 (*.f64 -2 eps) 1)
(fma.f64 -2 eps 1)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 1))
(fma.f64 -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))
(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 eps) (/.f64 -2 (*.f64 eps 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 -1 (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.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 eps) (/.f64 -2 (*.f64 eps 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 -1 (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (fma.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 2 eps) -2) -1))
(/.f64 1 eps)
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
1
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
1
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))
(+.f64 (/.f64 1 eps) 1)
(+.f64 1 (/.f64 1 eps))

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 24 computations (27.3% saved)

series5.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

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

rewrite56.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
843×pow1_binary64
786×log1p-expm1-u_binary64
786×expm1-log1p-u_binary64
785×add-log-exp_binary64
771×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0722
115120
2207920
Stop Event
node limit
Counts
2 → 62
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 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 (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 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (+.f64 (neg.f64 eps) -1)) (log.f64 (neg.f64 (-.f64 1 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 (-.f64 (pow.f64 (log1p.f64 eps) 3) (pow.f64 (log1p.f64 (neg.f64 eps)) 3)) (+.f64 (*.f64 (log1p.f64 eps) (log1p.f64 eps)) (+.f64 (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps))) (*.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (log1p.f64 eps) (log1p.f64 eps)) (*.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 (neg.f64 eps)))) (+.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 (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 neg.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 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 exp.f64 (log.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 +.f64 1 (expm1.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 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 (+.f64 (neg.f64 eps) -1) (/.f64 1 (neg.f64 (-.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 eps)) (+.f64 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (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 (fma.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 eps) (log1p.f64 (neg.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 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 (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 neg.f64 (/.f64 (+.f64 1 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 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 exp.f64 (-.f64 (log1p.f64 eps) (log1p.f64 (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))))))

simplify48.0ms (0.6%)

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
86 → 90
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))

localize22.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 58 to 42 computations (27.6% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite58.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
942×pow1_binary64
881×add-log-exp_binary64
881×log1p-expm1-u_binary64
881×expm1-log1p-u_binary64
99×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0929
119717
2269717
Stop Event
node limit
Counts
2 → 72
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) 1)
(*.f64 (-.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) 1) eps)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 eps (*.f64 eps -2/3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (fma.f64 eps (*.f64 eps -2/3) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -2/3 (*.f64 eps eps)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 eps (*.f64 eps -2/3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (fma.f64 eps (*.f64 eps -2/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 eps (*.f64 eps -2/3) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -2/3 (*.f64 eps eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (*.f64 eps -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2/3 (*.f64 eps eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps -2/3) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -2/3 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) -2/3)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 eps eps) 4/9)) (*.f64 (cbrt.f64 (*.f64 eps -2/3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) (pow.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) 2) (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 eps) 2) (*.f64 (cbrt.f64 eps) (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 eps -2/3)) (*.f64 (sqrt.f64 (*.f64 eps -2/3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (sqrt.f64 -2/3)) (*.f64 eps (sqrt.f64 -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 3) -1) (/.f64 1 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) -1) (/.f64 1 (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (hypot.f64 1 (*.f64 eps (sqrt.f64 -2/3))) 1) (-.f64 (hypot.f64 1 (*.f64 eps (sqrt.f64 -2/3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 (*.f64 (*.f64 eps eps) 4/9))) (cbrt.f64 (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (sqrt.f64 (*.f64 eps -2/3))) (sqrt.f64 (*.f64 eps -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 eps -2/3) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 eps -2/3) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2)) (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2) (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) (-.f64 1 (*.f64 (fma.f64 eps (*.f64 eps -2/3) 1) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) -1) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) -1) (-.f64 (fma.f64 eps (*.f64 eps -2/3) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 3) -1)) (neg.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) -1)) (neg.f64 (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) -1) 3)) (+.f64 1 (-.f64 (*.f64 (fma.f64 eps (*.f64 eps -2/3) -1) (fma.f64 eps (*.f64 eps -2/3) -1)) (fma.f64 eps (*.f64 eps -2/3) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (fma.f64 eps (*.f64 eps -2/3) -1) (fma.f64 eps (*.f64 eps -2/3) -1))) (-.f64 1 (fma.f64 eps (*.f64 eps -2/3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -2/3 (*.f64 eps eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -2/3 (*.f64 eps eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (sqrt.f64 -2/3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 eps eps) 3) -8/27) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 -2/3 (*.f64 eps eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -2/3 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 eps eps) 3) -8/27))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -2/3 (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 eps (*.f64 eps -2/3) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 eps (*.f64 eps -2/3) 1)) 2) (cbrt.f64 (fma.f64 eps (*.f64 eps -2/3) 1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 eps (sqrt.f64 -2/3))) (hypot.f64 1 (*.f64 eps (sqrt.f64 -2/3))) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 eps (*.f64 (fma.f64 eps (*.f64 eps -2/3) -1) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 eps (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 eps (*.f64 eps -2/3) 1) eps) (*.f64 -1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (fma.f64 eps (*.f64 eps -2/3) 1)) (*.f64 eps -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 3) -1) eps) (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) -1) eps) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 3) -1)) (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 (pow.f64 (fma.f64 eps (*.f64 eps -2/3) 1) 2) -1)) (+.f64 (*.f64 -2/3 (*.f64 eps eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 eps (sqrt.f64 -2/3)) (sqrt.f64 eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (*.f64 -2/3 (*.f64 eps eps))) eps))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 (*.f64 eps eps) 3) -8/27)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (pow.f64 (*.f64 eps eps) 3) -8/27) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (*.f64 -2/3 (*.f64 eps eps)))))))))

simplify165.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
96 → 74
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))

eval233.0ms (2.9%)

Compiler

Compiled 13024 to 8198 computations (37.1% saved)

prune71.0ms (0.9%)

Pruning

13 alts after pruning (1 fresh and 12 done)

PrunedKeptTotal
New5661567
Fresh000
Picked011
Done01111
Total56613579
Error
0b
Counts
579 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
0.3b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
58.7b
(log.f64 (*.f64 (/.f64 1 (+.f64 1 eps)) (-.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
58.8b
(log.f64 (*.f64 (*.f64 (/.f64 1 (-.f64 1 (*.f64 eps eps))) (-.f64 1 eps)) (-.f64 1 eps)))
0.7b
(*.f64 -2 eps)
58.7b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
0.3b
(+.f64 (+.f64 eps (*.f64 (fma.f64 eps (*.f64 eps -2/3) -1) eps)) (*.f64 -2 eps))
0.3b
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) 1) eps) (*.f64 -2 eps))
58.7b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
60.6b
(log.f64 1)
58.7b
(log.f64 (/.f64 (-.f64 (/.f64 (+.f64 1 eps) eps) (+.f64 1 eps)) (*.f64 (+.f64 1 eps) (/.f64 (+.f64 1 eps) eps))))
58.7b
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))
Compiler

Compiled 154 to 116 computations (24.7% saved)

regimes23.0ms (0.3%)

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

5 calls:

7.0ms
eps
4.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
3.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
3.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
3.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Results
ErrorSegmentsBranch
0.0b1eps
0.0b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
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 198 to 145 computations (26.8% saved)

regimes24.0ms (0.3%)

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

5 calls:

7.0ms
eps
5.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))
3.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
Results
ErrorSegmentsBranch
0.3b1eps
0.3b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.3b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.3b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
0.3b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 177 to 129 computations (27.1% saved)

regimes4.0ms (0.1%)

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

1 calls:

3.0ms
eps
Results
ErrorSegmentsBranch
0.3b1eps
Compiler

Compiled 19 to 13 computations (31.6% saved)

regimes4.0ms (0%)

Accuracy

Total -59.9b remaining (-8930.7%)

Threshold costs -59.9b (-8930.7%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 -2 eps)
(log.f64 1)
Outputs
(*.f64 -2 eps)
Calls

1 calls:

3.0ms
eps
Results
ErrorSegmentsBranch
0.7b1eps
Compiler

Compiled 8 to 6 computations (25% 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
02053
13653
24253
34553
44653
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) 1) eps) (*.f64 -2 eps))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(*.f64 -2 eps)
(log.f64 1)
Outputs
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (-.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) 1) eps) (*.f64 -2 eps))
(+.f64 (*.f64 eps (+.f64 (+.f64 1 (*.f64 eps (*.f64 eps -2/3))) -1)) (*.f64 eps -2))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(+.f64 (*.f64 eps -2) (*.f64 eps (*.f64 eps (*.f64 eps -2/3))))
(*.f64 -2 eps)
(*.f64 eps -2)
(log.f64 1)
0
Compiler

Compiled 41 to 30 computations (26.8% saved)

soundness502.0ms (6.2%)

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)

end37.0ms (0.5%)

Compiler

Compiled 37 to 26 computations (29.7% saved)

Profiling

Loading profile data...