Details

Time bar (total: 9.2s)

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)

sample5.5s (59.5%)

Results
3.3s4133×body1024valid
1.2s2147×body512valid
696.0ms376×body2048valid
205.0ms1600×body256valid
0.0msbody256invalid

preprocess235.0ms (2.6%)

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)

simplify226.0ms (2.5%)

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)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 16 to 12 computations (25% saved)

localize24.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 24 to 17 computations (29.2% saved)

series7.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

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

rewrite113.0ms (1.2%)

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

Useful iterations: 1 (0.0ms)

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

simplify61.0ms (0.7%)

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

localize14.0ms (0.2%)

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)

series4.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
2.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))
1.0ms
eps
@-inf
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))

rewrite61.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

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

simplify77.0ms (0.8%)

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

eval49.0ms (0.5%)

Compiler

Compiled 1882 to 1147 computations (39.1% saved)

prune62.0ms (0.7%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1427149
Fresh000
Picked011
Done011
Total1429151
Error
0b
Counts
151 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.9b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
61.1b
(/.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)))
57.9b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
0.1b
(+.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)))))
0.1b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
0.9b
(*.f64 -2 eps)
0.3b
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
Compiler

Compiled 206 to 146 computations (29.1% saved)

localize75.0ms (0.8%)

Local error

Found 4 expressions with local error:

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

Compiled 85 to 68 computations (20% saved)

series14.0ms (0.2%)

Counts
4 → 6
Calls

12 calls:

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

rewrite106.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
716×log-prod_binary64
626×fma-def_binary64
332×fma-neg_binary64
295×expm1-udef_binary64
295×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify139.0ms (1.5%)

Algorithm
egg-herbie
Rules
1083×sqr-pow_binary64
672×cube-prod_binary64
624×unswap-sqr_binary64
619×fabs-mul_binary64
378×pow-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01663
13963
28063
316163
434363
599363
6146363
7241263
8256663
9281263
10312763
11360863
12428763
13518163
14582763
15633463
16673363
17710863
18732663
Stop Event
node limit
Counts
144 → 144
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3)))
(*.f64 -2/7 (pow.f64 eps 7))
(+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/7 (pow.f64 eps 7)))
(*.f64 -2/7 (pow.f64 eps 7))
(+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/7 (pow.f64 eps 7)))
Outputs
(*.f64 -2/3 (pow.f64 eps 3))
(+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/5 (pow.f64 eps 5)))
(*.f64 -2/7 (pow.f64 eps 7))
(+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/7 (pow.f64 eps 7)))
(fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))
(fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/5 (pow.f64 eps 5)))
(*.f64 -2/7 (pow.f64 eps 7))
(+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/7 (pow.f64 eps 7)))
(fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))
(fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/5 (pow.f64 eps 5)))

localize3.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

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)

rewrite50.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify166.0ms (1.8%)

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

Useful iterations: 0 (0.0ms)

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

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 19 computations (24% saved)

localize19.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)))
6.1b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
Compiler

Compiled 39 to 28 computations (28.2% saved)

series5.0ms (0%)

Counts
4 → 48
Calls

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

rewrite101.0ms (1.1%)

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
0836
118435
2285234
Stop Event
node limit
Counts
4 → 380
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 1 (+.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 log1p.f64 (expm1.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1) 1))))))
((#(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 log1p.f64 (expm1.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/2 (-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (+.f64 1 eps)) (/.f64 (neg.f64 eps) (+.f64 1 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 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 (exp.f64 (log1p.f64 (/.f64 1 (+.f64 1 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (+.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.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 (fma.f64 -1 eps -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 eps)) -2) (/.f64 1 (cbrt.f64 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 1 (pow.f64 eps 3))) (fma.f64 eps (-.f64 eps 1) 1))))) (#(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 (E.f64) (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 eps) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 eps) 2) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 eps) 3) -1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (+.f64 1 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 eps)) -3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 eps) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 1 eps)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 eps) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 -1) (log1p.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (fma.f64 -1 eps -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (neg.f64 (log1p.f64 eps))) 2)) (cbrt.f64 (neg.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (neg.f64 (log1p.f64 eps)))) (sqrt.f64 (neg.f64 (log1p.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 eps) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (+.f64 1 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 1 eps) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (+.f64 1 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log1p.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (neg.f64 (log1p.f64 eps)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/3 (neg.f64 (log1p.f64 eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -1/2 (log1p.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 -3 (log1p.f64 eps)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log1p.f64 eps) 1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log1p.f64 eps) -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log1p.f64 eps)) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (neg.f64 (log1p.f64 eps)) 3) 1/3))))))
((#(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 log1p.f64 (expm1.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 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))))))

simplify69.0ms (0.8%)

Algorithm
egg-herbie
Rules
756×times-frac_binary64
592×sub-neg_binary64
400×fma-neg_binary64
341×fma-def_binary64
291×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
084630
1250612
2666608
31937605
45861605
Stop Event
node limit
Counts
428 → 434
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))))
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 eps (*.f64 -2/5 (pow.f64 eps 5))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/3 (pow.f64 eps 3)))))
(fma.f64 -2 eps (fma.f64 -2/5 (pow.f64 eps 5) (fma.f64 -2/3 (pow.f64 eps 3) (*.f64 -2/7 (pow.f64 eps 7)))))
(fma.f64 -2 eps (fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/5 (pow.f64 eps 5) (*.f64 -2/7 (pow.f64 eps 7)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 eps))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (log.f64 -1) (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2/5 (/.f64 1 (pow.f64 eps 5))))))
(-.f64 (log.f64 -1) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))))
(-.f64 (-.f64 (log.f64 -1) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (log.f64 -1) (+.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5))))
(+.f64 (+.f64 (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/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 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5)))) (/.f64 2/3 (pow.f64 eps 3)))
(+.f64 (log.f64 -1) (+.f64 (-.f64 (/.f64 -2 eps) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2/5 (pow.f64 eps 5))))
(+.f64 (+.f64 (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 eps (*.f64 eps 2) (fma.f64 -2 eps 1))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 1 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 -2 eps (+.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 -1 (/.f64 2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3)))
(+.f64 (+.f64 -1 (/.f64 2 eps)) (+.f64 (/.f64 -2 (*.f64 eps 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)))))
-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 -1 (/.f64 2 (*.f64 eps eps)))) (/.f64 2 (pow.f64 eps 3)))
(+.f64 (+.f64 -1 (/.f64 2 eps)) (+.f64 (/.f64 -2 (*.f64 eps 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)))))
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 (*.f64 eps eps) 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 1 (*.f64 eps (-.f64 eps (fma.f64 eps eps 1))))
(/.f64 1 eps)
(-.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (/.f64 1 eps) (/.f64 1 (*.f64 eps eps)))
(+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 eps 2)))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 eps eps))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 4)))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4)))))
(/.f64 1 eps)
(-.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (/.f64 1 eps) (/.f64 1 (*.f64 eps eps)))
(+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps)))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 eps 2)))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 1 (*.f64 eps eps))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 eps) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (/.f64 1 eps) (/.f64 1 (pow.f64 eps 3))) (+.f64 (/.f64 1 (pow.f64 eps 4)) (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 1 eps) (-.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1 (pow.f64 eps 4)))))
(+.f64 (/.f64 1 eps) (+.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1 (pow.f64 eps 4)))))
eps
(+.f64 eps (*.f64 -1 (pow.f64 eps 2)))
(+.f64 eps (neg.f64 (*.f64 eps eps)))
(-.f64 eps (*.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 -1 eps)))
(*.f64 eps (-.f64 (fma.f64 eps eps 1) eps))
(*.f64 eps (fma.f64 eps eps (-.f64 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 (fma.f64 eps eps 1) (-.f64 eps (*.f64 eps eps)))
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 1 (pow.f64 eps 2))) (+.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 (+.f64 1 (/.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)))))
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 1 (pow.f64 eps 2))) (+.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 (+.f64 1 (/.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)))))

eval288.0ms (3.1%)

Compiler

Compiled 12679 to 9356 computations (26.2% saved)

prune77.0ms (0.8%)

Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New6213624
Fresh202
Picked011
Done336
Total6267633
Error
0b
Counts
633 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.9b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (-.f64 eps (*.f64 eps (+.f64 1 eps)))) (*.f64 2 (log1p.f64 eps)))
57.9b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
0.3b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
0.9b
(*.f64 -2 eps)
57.8b
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))
Compiler

Compiled 69 to 51 computations (26.1% saved)

localize15.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 24 computations (27.3% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite54.0ms (0.6%)

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

simplify49.0ms (0.5%)

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

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 21 computations (36.4% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite46.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

simplify164.0ms (1.8%)

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

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (log1p.f64 (-.f64 eps (*.f64 eps (+.f64 1 eps)))) (*.f64 2 (log1p.f64 eps)))
0.0b
(log1p.f64 (-.f64 eps (*.f64 eps (+.f64 1 eps))))
0.0b
(*.f64 eps (+.f64 1 eps))
6.3b
(-.f64 eps (*.f64 eps (+.f64 1 eps)))
Compiler

Compiled 46 to 28 computations (39.1% saved)

series14.0ms (0.2%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
6.0ms
eps
@-inf
(-.f64 (log1p.f64 (-.f64 eps (*.f64 eps (+.f64 1 eps)))) (*.f64 2 (log1p.f64 eps)))
3.0ms
eps
@0
(log1p.f64 (-.f64 eps (*.f64 eps (+.f64 1 eps))))
1.0ms
eps
@inf
(log1p.f64 (-.f64 eps (*.f64 eps (+.f64 1 eps))))
1.0ms
eps
@-inf
(-.f64 eps (*.f64 eps (+.f64 1 eps)))
1.0ms
eps
@0
(-.f64 eps (*.f64 eps (+.f64 1 eps)))

rewrite95.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
590×fma-def_binary64
577×log-prod_binary64
380×pow-prod-down_binary64
307×pow2_binary64
249×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
649×associate-*l*_binary64
624×fma-neg_binary64
506×sub-neg_binary64
486×associate-*r*_binary64
459×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096685
1290658
2893656
33270566
Stop Event
node limit
Counts
318 → 322
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
eps
(+.f64 (pow.f64 eps 2) eps)
(+.f64 (pow.f64 eps 2) eps)
(+.f64 (pow.f64 eps 2) eps)
(pow.f64 eps 2)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (pow.f64 eps 2))
(pow.f64 eps 2)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (pow.f64 eps 2))
(*.f64 -1 (pow.f64 eps 2))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 4)))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4))))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/4 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(*.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 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1)))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps)))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (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 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
eps
(+.f64 (pow.f64 eps 2) eps)
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(+.f64 (pow.f64 eps 2) eps)
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(+.f64 (pow.f64 eps 2) eps)
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(pow.f64 eps 2)
(*.f64 eps eps)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(pow.f64 eps 2)
(*.f64 eps eps)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(+.f64 eps (pow.f64 eps 2))
(+.f64 eps (*.f64 eps eps))
(fma.f64 eps eps eps)
(*.f64 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 4)))
(fma.f64 -1 (*.f64 eps eps) (*.f64 -1/2 (pow.f64 eps 4)))
(-.f64 (*.f64 -1/2 (pow.f64 eps 4)) (*.f64 eps eps))
(fma.f64 -1/2 (pow.f64 eps 4) (*.f64 eps (neg.f64 eps)))
(*.f64 eps (-.f64 (*.f64 (pow.f64 eps 3) -1/2) eps))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4))))
(fma.f64 -1 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/2 (pow.f64 eps 4))))
(-.f64 (fma.f64 -1/2 (pow.f64 eps 4) (*.f64 -1/3 (pow.f64 eps 6))) (*.f64 eps eps))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/4 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4)))))
(fma.f64 -1 (*.f64 eps eps) (fma.f64 -1/4 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/2 (pow.f64 eps 4)))))
(-.f64 (fma.f64 -1/4 (pow.f64 eps 8) (fma.f64 -1/2 (pow.f64 eps 4) (*.f64 -1/3 (pow.f64 eps 6)))) (*.f64 eps eps))
(-.f64 (fma.f64 -1/2 (pow.f64 eps 4) (fma.f64 -1/4 (pow.f64 eps 8) (*.f64 -1/3 (pow.f64 eps 6)))) (*.f64 eps eps))
(-.f64 (fma.f64 -1/2 (pow.f64 eps 4) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/4 (pow.f64 eps 8)))) (*.f64 eps eps))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1))
(fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1))
(+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 1 (*.f64 eps eps)))
(+.f64 (*.f64 2 (log.f64 eps)) (+.f64 (log.f64 -1) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (log.f64 -1) (fma.f64 2 (log.f64 eps) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4))))
(+.f64 (-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 1/2 (pow.f64 eps 4))) (/.f64 -1 (*.f64 eps eps)))
(+.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4))))
(+.f64 (log.f64 -1) (+.f64 (fma.f64 2 (log.f64 eps) (/.f64 -1 (*.f64 eps eps))) (/.f64 -1/2 (pow.f64 eps 4))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 1/2 (pow.f64 eps 4))) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 6))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (/.f64 1/3 (pow.f64 eps 6)))))
(+.f64 (*.f64 2 (log.f64 eps)) (-.f64 (-.f64 (log.f64 -1) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 6)))) (/.f64 1/2 (pow.f64 eps 4))))
(+.f64 (log.f64 -1) (+.f64 (+.f64 (fma.f64 2 (log.f64 eps) (/.f64 -1 (*.f64 eps eps))) (/.f64 -1/3 (pow.f64 eps 6))) (/.f64 -1/2 (pow.f64 eps 4))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (/.f64 1 (*.f64 eps eps)))
(+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1 (*.f64 eps eps))))
(fma.f64 -2 (log.f64 (/.f64 -1 eps)) (-.f64 (log.f64 -1) (/.f64 1 (*.f64 eps eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4))))
(+.f64 (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (/.f64 1/2 (pow.f64 eps 4))) (/.f64 -1 (*.f64 eps eps)))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 6)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (/.f64 1/3 (pow.f64 eps 6)))))
(+.f64 (log.f64 -1) (+.f64 (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1 (*.f64 eps eps))) (/.f64 1/3 (pow.f64 eps 6))) (/.f64 -1/2 (pow.f64 eps 4))))
(+.f64 (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4))) (+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (/.f64 -1/3 (pow.f64 eps 6))))
(*.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 eps -2 (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -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 eps -2 (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 eps -2)))
(+.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 eps -2 (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 eps -2 (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 (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 (-.f64 (log.f64 -1) (/.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 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (*.f64 -2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1))))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (*.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps)))))
(fma.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)))
(neg.f64 (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 2 eps) (*.f64 2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (/.f64 2 eps)))
(+.f64 (/.f64 -2 eps) (fma.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1))))
(+.f64 (/.f64 -2 eps) (neg.f64 (log.f64 -1)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (fma.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3))))))
(+.f64 (+.f64 (neg.f64 (log.f64 -1)) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (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 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5))))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5))) (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (fma.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 -2 eps) (/.f64 -2/3 (pow.f64 eps 3)))) (/.f64 -2/5 (pow.f64 eps 5))))
(+.f64 (+.f64 (+.f64 (neg.f64 (log.f64 -1)) (/.f64 -2/3 (pow.f64 eps 3))) (/.f64 -2 eps)) (/.f64 -2/5 (pow.f64 eps 5)))

eval142.0ms (1.5%)

Compiler

Compiled 8652 to 4365 computations (49.5% saved)

prune57.0ms (0.6%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New4472449
Fresh000
Picked101
Done066
Total4488456
Error
0b
Counts
456 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.9b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
57.8b
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))
58.0b
(neg.f64 (log.f64 (-.f64 (+.f64 1 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) 1)))
0.0b
(-.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 2 (log1p.f64 eps)))
57.9b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
0.3b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
0.9b
(*.f64 -2 eps)
Compiler

Compiled 80 to 61 computations (23.8% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 61 to 48 computations (21.3% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

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

rewrite90.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
641×prod-diff_binary64
527×fma-def_binary64
450×log-prod_binary64
250×pow2_binary64
230×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify65.0ms (0.7%)

Algorithm
egg-herbie
Rules
405×fma-neg_binary64
366×distribute-lft-out_binary64
365×fma-def_binary64
297×sub-neg_binary64
291×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
071508
1218484
2632480
31969473
45214473
Stop Event
node limit
Counts
309 → 315
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)))))))
2
(+.f64 (*.f64 2 eps) 2)
(+.f64 (*.f64 2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 2))
(+.f64 (*.f64 2 eps) (+.f64 (*.f64 2 (pow.f64 eps 3)) (+.f64 (*.f64 2 (pow.f64 eps 2)) 2)))
(/.f64 -2 eps)
(neg.f64 (+.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 (*.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 (*.f64 2 (/.f64 1 eps)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 2))) (*.f64 2 (/.f64 1 (pow.f64 eps 4)))))))
(/.f64 -2 eps)
(neg.f64 (+.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 (*.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 (*.f64 2 (/.f64 1 eps)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 2))) (*.f64 2 (/.f64 1 (pow.f64 eps 4)))))))
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 eps (*.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/7 (pow.f64 eps 7) (fma.f64 2/3 (pow.f64 eps 3) (fma.f64 2 eps (*.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)))))
(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 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 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))
(+.f64 1 (*.f64 eps (fma.f64 2 eps 2)))
(+.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)))
(+.f64 (fma.f64 2 eps 1) (*.f64 (*.f64 eps eps) (fma.f64 2 eps 2)))
(+.f64 1 (*.f64 (*.f64 2 eps) (+.f64 eps (fma.f64 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))
(neg.f64 (+.f64 1 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))))
(+.f64 -1 (neg.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))))
(+.f64 -1 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))))
(+.f64 (+.f64 -1 (/.f64 -2 eps)) (/.f64 -2 (*.f64 eps eps)))
(+.f64 -1 (+.f64 (/.f64 -2 eps) (/.f64 (/.f64 -2 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 -2 (pow.f64 eps 3)) (+.f64 (+.f64 1 (/.f64 2 eps)) (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))) (/.f64 -2 (pow.f64 eps 3))))
(+.f64 (+.f64 -1 (/.f64 -2 eps)) (+.f64 (/.f64 -2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 eps) eps)))
-1
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 eps)) 1))
(neg.f64 (+.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))))))
(+.f64 -1 (neg.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))))
(+.f64 -1 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))))
(+.f64 (+.f64 -1 (/.f64 -2 eps)) (/.f64 -2 (*.f64 eps eps)))
(+.f64 -1 (+.f64 (/.f64 -2 eps) (/.f64 (/.f64 -2 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 -2 (pow.f64 eps 3)) (+.f64 (+.f64 1 (/.f64 2 eps)) (/.f64 2 (*.f64 eps eps))))
(+.f64 -1 (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))) (/.f64 -2 (pow.f64 eps 3))))
(+.f64 (+.f64 -1 (/.f64 -2 eps)) (+.f64 (/.f64 -2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 eps) eps)))
2
(+.f64 (*.f64 2 eps) 2)
(fma.f64 2 eps 2)
(+.f64 (*.f64 2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) 2))
(fma.f64 2 eps (fma.f64 2 (*.f64 eps eps) 2))
(*.f64 2 (+.f64 eps (fma.f64 eps eps 1)))
(+.f64 2 (*.f64 eps (fma.f64 2 eps 2)))
(+.f64 (*.f64 2 eps) (+.f64 (*.f64 2 (pow.f64 eps 3)) (+.f64 (*.f64 2 (pow.f64 eps 2)) 2)))
(fma.f64 2 eps (fma.f64 2 (pow.f64 eps 3) (fma.f64 2 (*.f64 eps eps) 2)))
(+.f64 (fma.f64 2 eps 2) (*.f64 (*.f64 eps eps) (fma.f64 2 eps 2)))
(*.f64 (fma.f64 eps eps 1) (fma.f64 2 eps 2))
(/.f64 -2 eps)
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(neg.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps)))
(+.f64 (/.f64 -2 eps) (/.f64 (/.f64 -2 eps) eps))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))) (/.f64 2 (pow.f64 eps 3))))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))) (/.f64 -2 (pow.f64 eps 3)))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 (/.f64 -2 eps) eps)) (/.f64 -2 (pow.f64 eps 3)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 2))) (*.f64 2 (/.f64 1 (pow.f64 eps 4)))))))
(neg.f64 (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 4))))))
(-.f64 (/.f64 -2 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 4)))))
(+.f64 (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))) (/.f64 -2 (pow.f64 eps 3))) (/.f64 -2 (pow.f64 eps 4)))
(+.f64 (+.f64 (/.f64 -2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 eps) eps)) (+.f64 (/.f64 -2 eps) (/.f64 -2 (pow.f64 eps 4))))
(/.f64 -2 eps)
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(neg.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps)))
(+.f64 (/.f64 -2 eps) (/.f64 (/.f64 -2 eps) eps))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))))
(neg.f64 (+.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))) (/.f64 2 (pow.f64 eps 3))))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))) (/.f64 -2 (pow.f64 eps 3)))
(+.f64 (+.f64 (/.f64 -2 eps) (/.f64 (/.f64 -2 eps) eps)) (/.f64 -2 (pow.f64 eps 3)))
(neg.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (+.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 2))) (*.f64 2 (/.f64 1 (pow.f64 eps 4)))))))
(neg.f64 (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 4))))))
(-.f64 (/.f64 -2 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 4)))))
(+.f64 (+.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2 (*.f64 eps eps))) (/.f64 -2 (pow.f64 eps 3))) (/.f64 -2 (pow.f64 eps 4)))
(+.f64 (+.f64 (/.f64 -2 (pow.f64 eps 3)) (/.f64 (/.f64 -2 eps) eps)) (+.f64 (/.f64 -2 eps) (/.f64 -2 (pow.f64 eps 4))))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 11 computations (63.3% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite55.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

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

simplify48.0ms (0.5%)

Algorithm
egg-herbie
Rules
649×associate-*l*_binary64
624×fma-neg_binary64
507×sub-neg_binary64
482×associate-*r*_binary64
455×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
094541
1288532
2889530
33266440
Stop Event
node limit
Counts
76 → 99
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 eps 2))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 4)))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4))))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/4 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(*.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 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1)))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps)))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (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 -1 (pow.f64 eps 2))
(neg.f64 (*.f64 eps eps))
(*.f64 eps (neg.f64 eps))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 4)))
(fma.f64 -1 (*.f64 eps eps) (*.f64 -1/2 (pow.f64 eps 4)))
(-.f64 (*.f64 -1/2 (pow.f64 eps 4)) (*.f64 eps eps))
(fma.f64 -1/2 (pow.f64 eps 4) (*.f64 eps (neg.f64 eps)))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4))))
(fma.f64 -1 (*.f64 eps eps) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/2 (pow.f64 eps 4))))
(-.f64 (fma.f64 -1/2 (pow.f64 eps 4) (*.f64 -1/3 (pow.f64 eps 6))) (*.f64 eps eps))
(fma.f64 -1/2 (pow.f64 eps 4) (-.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 eps eps)))
(+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -1/4 (pow.f64 eps 8)) (+.f64 (*.f64 -1/3 (pow.f64 eps 6)) (*.f64 -1/2 (pow.f64 eps 4)))))
(fma.f64 -1 (*.f64 eps eps) (fma.f64 -1/4 (pow.f64 eps 8) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/2 (pow.f64 eps 4)))))
(-.f64 (fma.f64 -1/4 (pow.f64 eps 8) (fma.f64 -1/2 (pow.f64 eps 4) (*.f64 -1/3 (pow.f64 eps 6)))) (*.f64 eps eps))
(-.f64 (fma.f64 -1/3 (pow.f64 eps 6) (fma.f64 -1/2 (pow.f64 eps 4) (*.f64 -1/4 (pow.f64 eps 8)))) (*.f64 eps eps))
(-.f64 (fma.f64 -1/2 (pow.f64 eps 4) (fma.f64 -1/3 (pow.f64 eps 6) (*.f64 -1/4 (pow.f64 eps 8)))) (*.f64 eps eps))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 eps))) (log.f64 -1))
(fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1))
(-.f64 (log.f64 -1) (*.f64 -2 (log.f64 eps)))
(+.f64 (log.f64 -1) (*.f64 2 (log.f64 eps)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 1 (*.f64 eps eps)))
(+.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 -1 (*.f64 eps eps)))
(+.f64 (log.f64 -1) (+.f64 (*.f64 2 (log.f64 eps)) (/.f64 -1 (*.f64 eps eps))))
(+.f64 (log.f64 -1) (fma.f64 2 (log.f64 eps) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4))))
(+.f64 (-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 1/2 (pow.f64 eps 4))) (/.f64 -1 (*.f64 eps eps)))
(+.f64 (-.f64 (log.f64 -1) (*.f64 -2 (log.f64 eps))) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4))))
(+.f64 (log.f64 -1) (+.f64 (fma.f64 2 (log.f64 eps) (/.f64 -1 (*.f64 eps eps))) (/.f64 -1/2 (pow.f64 eps 4))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (/.f64 1/2 (pow.f64 eps 4))) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 6))))
(-.f64 (fma.f64 -2 (neg.f64 (log.f64 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (/.f64 1/3 (pow.f64 eps 6)))))
(+.f64 (*.f64 2 (log.f64 eps)) (+.f64 (log.f64 -1) (-.f64 (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4))) (/.f64 1/3 (pow.f64 eps 6)))))
(+.f64 (log.f64 -1) (+.f64 (fma.f64 2 (log.f64 eps) (/.f64 -1 (*.f64 eps eps))) (+.f64 (/.f64 -1/2 (pow.f64 eps 4)) (/.f64 -1/3 (pow.f64 eps 6)))))
(+.f64 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1))
(fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (/.f64 1 (pow.f64 eps 2)))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (/.f64 1 (*.f64 eps eps)))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (/.f64 -1 (*.f64 eps eps)))
(+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1 (*.f64 eps eps))))
(fma.f64 -2 (log.f64 (/.f64 -1 eps)) (+.f64 (log.f64 -1) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 eps 2))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4))))
(+.f64 (log.f64 -1) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4)))))
(+.f64 (log.f64 -1) (+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -1/2 (pow.f64 eps 4))) (/.f64 -1 (*.f64 eps eps))))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 1/2 (/.f64 1 (pow.f64 eps 4))) (+.f64 (*.f64 1/3 (/.f64 1 (pow.f64 eps 6))) (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 1/2 (pow.f64 eps 4)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/3 (pow.f64 eps 6)))))
(-.f64 (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 1 (*.f64 eps eps)) (/.f64 1/2 (pow.f64 eps 4)))) (/.f64 1/3 (pow.f64 eps 6)))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4)))) (-.f64 (log.f64 -1) (/.f64 1/3 (pow.f64 eps 6))))
(fma.f64 -2 (log.f64 (/.f64 -1 eps)) (+.f64 (+.f64 (log.f64 -1) (/.f64 -1/3 (pow.f64 eps 6))) (+.f64 (/.f64 -1 (*.f64 eps eps)) (/.f64 -1/2 (pow.f64 eps 4)))))
(*.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 eps -2 (*.f64 -2/3 (pow.f64 eps 3)))
(fma.f64 -2/3 (pow.f64 eps 3) (*.f64 eps -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 eps -2 (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 eps -2 (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 eps -2 (fma.f64 -2/3 (pow.f64 eps 3) (fma.f64 -2/7 (pow.f64 eps 7) (*.f64 -2/5 (pow.f64 eps 5)))))
(fma.f64 eps -2 (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 (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/5 (pow.f64 eps 5))) (/.f64 -2/3 (pow.f64 eps 3))))
(+.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 (*.f64 -2 (log.f64 (/.f64 -1 eps))) (log.f64 -1)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (*.f64 -2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1))))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (*.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps)))))
(fma.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)))
(neg.f64 (log.f64 -1))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 2 eps) (*.f64 2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (/.f64 2 eps)))
(+.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 -2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (/.f64 -2 eps)))
(+.f64 (/.f64 -2 eps) (neg.f64 (log.f64 -1)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (log.f64 -1))) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3)))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (log.f64 -1) (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -2 eps)) (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (/.f64 2/3 (pow.f64 eps 3)))))
(+.f64 (+.f64 (/.f64 -2 eps) (neg.f64 (log.f64 -1))) (/.f64 -2/3 (pow.f64 eps 3)))
(-.f64 (+.f64 (log.f64 -1) (*.f64 -2 (log.f64 (/.f64 -1 eps)))) (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 eps))) (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 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (fma.f64 2 (fma.f64 -1 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (/.f64 2/3 (pow.f64 eps 3)) (+.f64 (/.f64 2 eps) (/.f64 2/5 (pow.f64 eps 5))))))
(-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (log.f64 -1)) (+.f64 (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (+.f64 (/.f64 2 eps) (/.f64 2/3 (pow.f64 eps 3)))) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (log.f64 -1) (-.f64 (-.f64 (fma.f64 -2 (log.f64 (/.f64 -1 eps)) (/.f64 -2 eps)) (fma.f64 2 (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 eps))) (/.f64 2/3 (pow.f64 eps 3)))) (/.f64 2/5 (pow.f64 eps 5))))
(+.f64 (-.f64 (+.f64 (/.f64 -2 eps) (/.f64 -2/5 (pow.f64 eps 5))) (/.f64 2/3 (pow.f64 eps 3))) (neg.f64 (log.f64 -1)))

eval179.0ms (1.9%)

Compiler

Compiled 8669 to 6128 computations (29.3% saved)

prune209.0ms (2.3%)

Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New4650465
Fresh000
Picked011
Done077
Total4658473
Error
0b
Counts
473 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
57.9b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
57.8b
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))
58.0b
(neg.f64 (log.f64 (-.f64 (+.f64 1 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) 1)))
0.0b
(-.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 2 (log1p.f64 eps)))
57.9b
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
0.3b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
0.9b
(*.f64 -2 eps)
Compiler

Compiled 80 to 61 computations (23.8% saved)

regimes20.0ms (0.2%)

Counts
14 → 1
Calls
Call 1
Inputs
(*.f64 -2 eps)
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(*.f64 eps (fma.f64 eps (*.f64 eps -2/3) -2))
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
(neg.f64 (log.f64 (/.f64 (+.f64 1 eps) (-.f64 1 eps))))
(+.f64 (*.f64 -2 eps) (*.f64 -2/3 (pow.f64 eps 3)))
(log.f64 (-.f64 (/.f64 1 (+.f64 1 eps)) (/.f64 eps (+.f64 1 eps))))
(neg.f64 (log.f64 (-.f64 (+.f64 1 (/.f64 (+.f64 1 eps) (-.f64 1 eps))) 1)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(-.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 2 (log1p.f64 eps)))
(-.f64 (log1p.f64 (-.f64 eps (*.f64 eps (+.f64 1 eps)))) (*.f64 2 (log1p.f64 eps)))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (+.f64 (*.f64 -2/7 (pow.f64 eps 7)) (*.f64 -2/3 (pow.f64 eps 3)))))
(/.f64 (-.f64 (*.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)))
Outputs
(-.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 2 (log1p.f64 eps)))
Calls

3 calls:

9.0ms
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(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 178 to 120 computations (32.6% saved)

regimes14.0ms (0.1%)

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

3 calls:

5.0ms
eps
3.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
2.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(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 99 to 73 computations (26.3% saved)

regimes24.0ms (0.3%)

Accuracy

Total -58.2b remaining (-20402.5%)

Threshold costs -58.2b (-20402.5%)

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

3 calls:

13.0ms
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
5.0ms
eps
2.0ms
(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Results
ErrorSegmentsBranch
0.3b1eps
0.3b1(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.3b1(/.f64 (-.f64 1 eps) (+.f64 1 eps))
Compiler

Compiled 93 to 69 computations (25.8% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01846
13846
25246
35946
46246
Stop Event
done
saturated
Calls
Call 1
Inputs
(-.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 2 (log1p.f64 eps)))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(*.f64 -2 eps)
Outputs
(-.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 2 (log1p.f64 eps)))
(+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 -2 (log1p.f64 eps)))
(+.f64 (log1p.f64 (*.f64 eps (neg.f64 eps))) (*.f64 (log1p.f64 eps) -2))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(+.f64 (*.f64 eps (*.f64 eps (*.f64 eps -2/3))) (*.f64 eps -2))
(*.f64 -2 eps)
(*.f64 eps -2)
Compiler

Compiled 34 to 24 computations (29.4% saved)

soundness141.0ms (1.5%)

Algorithm
egg-herbie
Rules
649×associate-*l*_binary64
624×fma-neg_binary64
506×sub-neg_binary64
486×associate-*r*_binary64
459×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096685
1290658
2893656
33270566
Stop Event
node limit
Compiler

Compiled 21 to 15 computations (28.6% saved)

end30.0ms (0.3%)

Compiler

Compiled 31 to 19 computations (38.7% saved)

Profiling

Loading profile data...