Details

Time bar (total: 7.8s)

analyze7.0ms (0.1%)

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

Compiled 10 to 8 computations (20% saved)

sample4.5s (58%)

Results
2.8s4194×body1024valid
711.0ms2039×body512valid
527.0ms1624×body256valid
357.0ms399×body2048valid
0.0msbody256invalid
Bogosity

preprocess232.0ms (3%)

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)

simplify270.0ms (3.4%)

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

Useful iterations: 1 (0.0ms)

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

prune2.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
58.6b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Compiler

Compiled 16 to 12 computations (25% saved)

localize19.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 24 to 17 computations (29.2% saved)

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

rewrite140.0ms (1.8%)

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

Useful iterations: 1 (0.0ms)

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

simplify68.0ms (0.9%)

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

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 5 computations (66.7% saved)

series4.0ms (0.1%)

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

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

simplify94.0ms (1.2%)

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

eval82.0ms (1%)

Compiler

Compiled 1882 to 1147 computations (39.1% saved)

prune45.0ms (0.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

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

Compiled 120 to 94 computations (21.7% saved)

localize20.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 52 to 41 computations (21.2% saved)

series9.0ms (0.1%)

Counts
3 → 3
Calls

9 calls:

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

rewrite80.0ms (1%)

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

Useful iterations: 0 (0.0ms)

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

simplify136.0ms (1.7%)

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

Useful iterations: 0 (0.0ms)

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

localize2.0ms (0%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize8.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.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify170.0ms (2.2%)

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

Useful iterations: 0 (0.0ms)

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

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 19 computations (24% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 48 to 37 computations (22.9% saved)

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

rewrite119.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
816×prod-diff_binary64
548×fma-def_binary64
464×log-prod_binary64
282×fma-neg_binary64
207×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify63.0ms (0.8%)

Algorithm
egg-herbie
Rules
945×fma-neg_binary64
837×fma-def_binary64
533×associate-/l*_binary64
322×distribute-neg-frac_binary64
308×sub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
072488
1215484
2561482
31536468
44552460
Stop Event
node limit
Counts
372 → 378
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)))))
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 2)) (+.f64 2 (*.f64 -2 (pow.f64 eps 3)))))
(/.f64 2 eps)
(-.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.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)
(-.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.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))))
(+.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/5 (pow.f64 eps 5) (fma.f64 -2/7 (pow.f64 eps 7) (fma.f64 -2 eps (*.f64 -2/3 (pow.f64 eps 3)))))
(log.f64 -1)
(-.f64 (log.f64 -1) (*.f64 2 (/.f64 1 eps)))
(-.f64 (log.f64 -1) (/.f64 2 eps))
(+.f64 (log.f64 -1) (/.f64 -2 eps))
(-.f64 (log.f64 -1) (+.f64 (*.f64 2/3 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))))
(-.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 2 eps))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (/.f64 -2 eps) (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (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 (-.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 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps)) (/.f64 2/5 (pow.f64 eps 5)))
(+.f64 (+.f64 (/.f64 -2 eps) (-.f64 (log.f64 -1) (/.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 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 2 eps))
(+.f64 (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps))
(+.f64 (/.f64 -2 eps) (-.f64 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))))
(+.f64 (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 (-.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 (log.f64 -1) (/.f64 2/3 (pow.f64 eps 3))) (/.f64 -2 eps)) (/.f64 2/5 (pow.f64 eps 5)))
(+.f64 (+.f64 (/.f64 -2 eps) (-.f64 (log.f64 -1) (/.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 -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)))
(+.f64 (fma.f64 -2 eps 1) (*.f64 (*.f64 eps eps) (fma.f64 -2 eps 2)))
(fma.f64 -2 (pow.f64 eps 3) (fma.f64 eps (fma.f64 eps 2 -2) 1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(+.f64 -1 (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(+.f64 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 -1 (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (fma.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 2 eps) -2) -1))
-1
(-.f64 (*.f64 2 (/.f64 1 eps)) 1)
(+.f64 (/.f64 2 eps) -1)
(+.f64 -1 (/.f64 2 eps))
(-.f64 (*.f64 2 (/.f64 1 eps)) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (+.f64 -1 (/.f64 -2 (*.f64 eps eps))))
(+.f64 -1 (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 1 (*.f64 2 (/.f64 1 (pow.f64 eps 2)))))
(+.f64 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 1 (/.f64 2 (*.f64 eps eps)))))
(+.f64 -1 (+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps)))))
(+.f64 (/.f64 2 eps) (fma.f64 (/.f64 1 (*.f64 eps eps)) (+.f64 (/.f64 2 eps) -2) -1))
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))
(fma.f64 (fma.f64 eps eps 1) 2 (*.f64 -2 eps))
(fma.f64 eps (fma.f64 eps 2 -2) 2)
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 2 (pow.f64 eps 2)) (+.f64 2 (*.f64 -2 (pow.f64 eps 3)))))
(fma.f64 -2 eps (+.f64 (fma.f64 2 (*.f64 eps eps) 2) (*.f64 -2 (pow.f64 eps 3))))
(fma.f64 -2 eps (fma.f64 2 (*.f64 eps eps) (fma.f64 -2 (pow.f64 eps 3) 2)))
(fma.f64 (fma.f64 eps eps 1) 2 (*.f64 -2 (+.f64 (pow.f64 eps 3) eps)))
(*.f64 (fma.f64 eps eps 1) (fma.f64 -2 eps 2))
(/.f64 2 eps)
(-.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))
(+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps)))
(*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps)))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps))))
(+.f64 (/.f64 2 (pow.f64 eps 3)) (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 2))) (*.f64 2 (/.f64 1 (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 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 4)))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 -2 (pow.f64 eps 4)))))
(+.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 -2 (pow.f64 eps 4))))
(fma.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 2 (/.f64 -2 eps)) (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps))))
(/.f64 2 eps)
(-.f64 (*.f64 2 (/.f64 1 eps)) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(-.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps)))
(+.f64 (/.f64 2 eps) (/.f64 -2 (*.f64 eps eps)))
(*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps)))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (*.f64 2 (/.f64 1 (pow.f64 eps 2))))
(+.f64 (/.f64 2 (pow.f64 eps 3)) (-.f64 (/.f64 2 eps) (/.f64 2 (*.f64 eps eps))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (/.f64 -2 (*.f64 eps eps))))
(+.f64 (/.f64 2 (pow.f64 eps 3)) (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps))))
(-.f64 (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 3))) (*.f64 2 (/.f64 1 eps))) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 eps 2))) (*.f64 2 (/.f64 1 (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 2 eps) (-.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 (/.f64 2 (*.f64 eps eps)) (/.f64 2 (pow.f64 eps 4)))))
(+.f64 (/.f64 2 eps) (+.f64 (/.f64 2 (pow.f64 eps 3)) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 -2 (pow.f64 eps 4)))))
(+.f64 (+.f64 (/.f64 2 eps) (/.f64 2 (pow.f64 eps 3))) (+.f64 (/.f64 -2 (*.f64 eps eps)) (/.f64 -2 (pow.f64 eps 4))))
(fma.f64 (/.f64 1 (pow.f64 eps 3)) (+.f64 2 (/.f64 -2 eps)) (*.f64 (/.f64 1 eps) (+.f64 2 (/.f64 -2 eps))))

eval479.0ms (6.1%)

Compiler

Compiled 13343 to 9862 computations (26.1% saved)

prune139.0ms (1.8%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New6061607
Fresh000
Picked011
Done246
Total6086614
Error
0b
Counts
614 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
0.5b
(*.f64 -2 eps)
0.0b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
58.6b
(log.f64 (-.f64 (+.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1))
58.6b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Compiler

Compiled 61 to 47 computations (23% saved)

localize22.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 33 to 21 computations (36.4% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

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

rewrite78.0ms (1%)

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

Useful iterations: 1 (0.0ms)

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

simplify170.0ms (2.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09168
123168
248168
3105168
4296168
51235168
62405168
72571168
82821168
93108168
103487168
113993168
124591168
135301168
145768168
156093168
166367168
176537168
186631168
197308168
Stop Event
node limit
Counts
46 → 25
Calls
Call 1
Inputs
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
Outputs
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 2))
(*.f64 -2/3 (*.f64 eps eps))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))
(*.f64 -2/3 (pow.f64 eps 3))

eval20.0ms (0.3%)

Compiler

Compiled 472 to 348 computations (26.3% saved)

prune7.0ms (0.1%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New37037
Fresh000
Picked011
Done055
Total37643
Error
0b
Counts
43 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
0.5b
(*.f64 -2 eps)
0.0b
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
58.6b
(log.f64 (-.f64 (+.f64 1 (/.f64 (-.f64 1 eps) (+.f64 1 eps))) 1))
58.6b
(log.f64 (/.f64 (-.f64 1 eps) (+.f64 1 eps)))
0.0b
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
Compiler

Compiled 61 to 47 computations (23% saved)

regimes17.0ms (0.2%)

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

4 calls:

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

Compiled 100 to 74 computations (26% saved)

regimes13.0ms (0.2%)

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

4 calls:

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

Compiled 85 to 62 computations (27.1% saved)

regimes14.0ms (0.2%)

Accuracy

Total -58.7b remaining (-63840.1%)

Threshold costs -58.7b (-63840.1%)

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

4 calls:

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

Compiled 79 to 58 computations (26.6% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02252
13752
24252
34552
44652
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(*.f64 -2 eps)
Outputs
(+.f64 (*.f64 -2 eps) (+.f64 (*.f64 -2/5 (pow.f64 eps 5)) (*.f64 -2/3 (pow.f64 eps 3))))
(-.f64 (log1p.f64 (neg.f64 eps)) (log1p.f64 eps))
(+.f64 (*.f64 (*.f64 eps (*.f64 eps -2/3)) eps) (*.f64 -2 eps))
(+.f64 (*.f64 -2 eps) (*.f64 eps (*.f64 eps (*.f64 eps -2/3))))
(*.f64 -2 eps)
Compiler

Compiled 39 to 29 computations (25.6% saved)

soundness520.0ms (6.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: 1 (0.0ms)

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

Compiled 43 to 33 computations (23.3% saved)

end65.0ms (0.8%)

Compiler

Compiled 36 to 26 computations (27.8% saved)

Profiling

Loading profile data...