Details

Time bar (total: 7.2s)

analyze32.0ms (0.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%12.8%87.2%0%0%0%0
0%0%12.8%87.2%0%0%0%1
0%0%12.8%87.2%0%0%0%2
50%6.4%6.4%87.2%0%0%0%3
57.1%6.4%4.8%87.2%0%1.6%0%4
69.2%7.2%3.2%87.2%0%2.4%0%5
75%7.2%2.4%87.2%0%3.2%0%6
82.6%7.6%1.6%87.2%0%3.6%0%7
86.4%7.6%1.2%87.2%0%4%0%8
90.7%7.8%0.8%87.2%0%4.2%0%9
92.6%7.8%0.6%87.2%0%4.4%0%10
95%7.9%0.4%87.2%0%4.5%0%11
96.3%8%0.3%87.2%0%4.5%0%12
Compiler

Compiled 25 to 17 computations (32% saved)

sample2.0s (27.1%)

Results
1.0s5910×body256valid
515.0ms1154×body1024valid
355.0ms1150×body512valid
25.0ms42×body2048valid
23.0ms147×body256invalid
Bogosity

preprocess55.0ms (0.8%)

Algorithm
egg-herbie
Rules
144×fma-neg_binary64
96×fma-def_binary64
54×cancel-sign-sub-inv_binary64
44×sub-neg_binary64
26×associate--r+_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01124
12124
23524
36324
410224
521024
635324
750624
860824
966024
1067024
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(-.f64 eps (sqrt.f64 (-.f64 (*.f64 eps eps) x)))
Outputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(-.f64 eps (sqrt.f64 (-.f64 (*.f64 eps eps) x)))
(-.f64 eps (sqrt.f64 (fma.f64 eps eps (neg.f64 x))))
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify34.0ms (0.5%)

Algorithm
egg-herbie
Rules
107×fma-def_binary64
72×fma-neg_binary64
29×cancel-sign-sub-inv_binary64
24×distribute-rgt-in_binary64
24×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11212
22012
33412
45512
510312
619612
726912
836112
943912
1049512
1149912
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Outputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))

eval1.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
25.5b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
25.5b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 10 to 6 computations (40% saved)

localize18.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (*.f64 x x) eps))
0.0b
(-.f64 (*.f64 x x) eps)
4.4b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 26 to 6 computations (76.9% saved)

series19.0ms (0.3%)

Counts
3 → 56
Calls

18 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
2.0ms
eps
@inf
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
2.0ms
x
@0
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
2.0ms
eps
@0
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
1.0ms
eps
@inf
(sqrt.f64 (-.f64 (*.f64 x x) eps))

rewrite111.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
931×pow1_binary64
871×add-log-exp_binary64
871×log1p-expm1-u_binary64
871×expm1-log1p-u_binary64
849×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0728
116228
2242928
Stop Event
node limit
Counts
3 → 97
Calls
Call 1
Inputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(-.f64 (*.f64 x x) eps)
(sqrt.f64 (-.f64 (*.f64 x x) eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (fma.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) 1 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)))) (cbrt.f64 (-.f64 (*.f64 x x) eps)) (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (fma.f64 (neg.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4)) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) 2) (cbrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) (sqrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 3) (pow.f64 (-.f64 (*.f64 x x) eps) 3/2)) (/.f64 1 (fma.f64 x x (+.f64 (-.f64 (*.f64 x x) eps) (*.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 1 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 x) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4)) (-.f64 (sqrt.f64 x) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x (+.f64 (-.f64 (*.f64 x x) eps) (*.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))) (-.f64 (pow.f64 x 3) (pow.f64 (-.f64 (*.f64 x x) eps) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 3) (pow.f64 (-.f64 (*.f64 x x) eps) 3/2)) (fma.f64 x x (+.f64 (-.f64 (*.f64 x x) eps) (*.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 3) (pow.f64 (-.f64 (*.f64 x x) eps) 3/2))) (neg.f64 (fma.f64 x x (+.f64 (-.f64 (*.f64 x x) eps) (*.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)) (neg.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 3) (pow.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) 3)) (+.f64 (*.f64 x x) (-.f64 (*.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)))) (*.f64 x (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 x x) (*.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))) (-.f64 x (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (sqrt.f64 x) (neg.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (*.f64 (neg.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x x) eps) (fma.f64 (neg.f64 eps) 1 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x x) eps) (fma.f64 (neg.f64 (cbrt.f64 eps)) (pow.f64 (cbrt.f64 eps) 2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 x x) eps) (fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 eps) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 eps) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 x x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)) (sqrt.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 x x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 2) (cbrt.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (*.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 6) (pow.f64 eps 3)) (/.f64 1 (+.f64 (pow.f64 x 4) (*.f64 eps (fma.f64 x x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 x 4) (*.f64 eps eps)) (/.f64 1 (fma.f64 x x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4)) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (sqrt.f64 eps)) (-.f64 x (sqrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)) (cbrt.f64 (-.f64 (*.f64 x x) eps))) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 x 4) (*.f64 eps (fma.f64 x x eps))) (-.f64 (pow.f64 x 6) (pow.f64 eps 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x eps) (-.f64 (pow.f64 x 4) (*.f64 eps eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 6) (pow.f64 eps 3)) (+.f64 (pow.f64 x 4) (*.f64 eps (fma.f64 x x eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 4) (*.f64 eps eps)) (fma.f64 x x eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 6) (pow.f64 eps 3))) (neg.f64 (+.f64 (pow.f64 x 4) (*.f64 eps (fma.f64 x x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 x 4) (*.f64 eps eps))) (neg.f64 (fma.f64 x x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 x 6) (pow.f64 (neg.f64 eps) 3)) (+.f64 (pow.f64 x 4) (-.f64 (*.f64 (neg.f64 eps) (neg.f64 eps)) (*.f64 (*.f64 x x) (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 4) (*.f64 (neg.f64 eps) (neg.f64 eps))) (-.f64 (*.f64 x x) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x x) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) (neg.f64 eps))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) (cbrt.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 x 4) (*.f64 eps eps))) (sqrt.f64 (fma.f64 x x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 x 6) (pow.f64 eps 3))) (sqrt.f64 (+.f64 (pow.f64 x 4) (*.f64 eps (fma.f64 x x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 x x) eps) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (*.f64 x x) eps) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 x x) eps))))))))

simplify127.0ms (1.7%)

Algorithm
egg-herbie
Rules
704×unswap-sqr_binary64
524×fma-def_binary64
425×associate-/l/_binary64
381×associate-/r/_binary64
310×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0111968
1331939
2999925
33977911
46396911
Stop Event
node limit
Counts
153 → 151
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) x))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) x)))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 4) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 x 6))))) x)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 -1 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(*.f64 -1 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(*.f64 -1 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(*.f64 (sqrt.f64 eps) (sqrt.f64 -1))
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1))))))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 6) (pow.f64 (sqrt.f64 -1) 5)))))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(*.f64 -1 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
Outputs
(*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(neg.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(*.f64 (sqrt.f64 eps) (neg.f64 (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(fma.f64 (sqrt.f64 eps) (neg.f64 (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) x))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) x))
(-.f64 (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) x) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 -1/2 (/.f64 (*.f64 x x) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 eps) (neg.f64 (sqrt.f64 -1)) x))
(-.f64 x (fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x (/.f64 (sqrt.f64 -1) x)) 1/2) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) x)))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (fma.f64 1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) x)))
(-.f64 (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (fma.f64 1/8 (*.f64 (/.f64 (pow.f64 x 4) (neg.f64 (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) x)) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(-.f64 (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) x)) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(-.f64 (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 x (/.f64 (sqrt.f64 -1) x))) x) (fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (*.f64 1/8 (*.f64 (/.f64 (pow.f64 x 4) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (/.f64 (pow.f64 x 3) eps) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (/.f64 (pow.f64 x 3) eps) eps))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 eps eps) -1/8) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 (fma.f64 1/16 (pow.f64 eps 4) (*.f64 (pow.f64 eps 4) 1/64)) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/2 (+.f64 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 4) 5/64) (pow.f64 x 7))) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 1/8 (/.f64 (/.f64 (pow.f64 x 3) eps) eps))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 4) 5/128) (pow.f64 x 7)))))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 -1/2 (/.f64 eps x)))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1/8)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 x 2 (/.f64 (*.f64 eps (*.f64 eps -1/8)) (pow.f64 x 3))))
(fma.f64 x 2 (fma.f64 -1/2 (/.f64 eps x) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps -1/8)))))
(fma.f64 x 2 (*.f64 (/.f64 eps x) (+.f64 -1/2 (/.f64 (*.f64 eps -1/8) (*.f64 x x)))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1/8))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 x 2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (*.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16))))
(fma.f64 x 2 (fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps -1/8))))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 x 2 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps -1/8))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (/.f64 (pow.f64 x 3) eps) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (/.f64 (pow.f64 x 3) eps) eps))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 eps 4) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 x 6))))) x)) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/2 (/.f64 (pow.f64 eps 4) (/.f64 x (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (/.f64 1/16 (pow.f64 x 6))))) (fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 eps 4) x) (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (/.f64 1/16 (pow.f64 x 6)))) (fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (/.f64 1/16 (pow.f64 x 6))) (/.f64 (pow.f64 eps 4) x)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 (*.f64 eps 1/8) (pow.f64 x 3)) eps)) (*.f64 (/.f64 1/2 x) (+.f64 (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 1/64 (pow.f64 x 6)) (/.f64 1/16 (pow.f64 x 6)))) eps)))
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 -1 eps (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(*.f64 (sqrt.f64 eps) (sqrt.f64 -1))
(*.f64 (sqrt.f64 -1) (sqrt.f64 eps))
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) 1/2))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) 1/2)))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) 1/2) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x (/.f64 (sqrt.f64 -1) x)) 1/2) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1))))))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) (fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) 1/2)))
(fma.f64 (*.f64 (/.f64 (pow.f64 x 4) (neg.f64 (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) -1/8 (fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) 1/2))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) 1/2) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x (/.f64 (sqrt.f64 -1) x)) 1/2) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 6) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) (fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 6) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 (*.f64 (/.f64 (pow.f64 x 4) (neg.f64 (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) -1/8 (fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 (sqrt.f64 -1) 5)) 1/16)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) 1/2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 (sqrt.f64 -1) 5)))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (*.f64 1/16 (/.f64 (pow.f64 x 6) (pow.f64 (sqrt.f64 -1) 5))) (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x (/.f64 (sqrt.f64 -1) x)) 1/2)))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) -1/8 x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1/8 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) -1/8 (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1/8 x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(fma.f64 1/2 (/.f64 eps x) (neg.f64 x))
(-.f64 (*.f64 1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (neg.f64 x)))
(-.f64 (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3))) x)
(-.f64 (fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (/.f64 (pow.f64 x 3) eps) eps))) x)
(-.f64 (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))) x)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (neg.f64 x))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))) x))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (/.f64 (pow.f64 x 3) eps) eps)))) x)
(-.f64 (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 x))
(fma.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))) (-.f64 (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3)) x))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) -1/8 x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1/8 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) -1/8 (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1/8 x)))

eval60.0ms (0.8%)

Compiler

Compiled 2547 to 1184 computations (53.5% saved)

prune42.0ms (0.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1447151
Fresh000
Picked011
Done000
Total1448152
Error
0b
Counts
152 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
28.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
25.5b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
36.2b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
61.2b
(-.f64 x x)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
61.8b
(*.f64 x 2)
42.8b
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
34.5b
(*.f64 1/2 (/.f64 eps x))
Compiler

Compiled 176 to 112 computations (36.4% saved)

localize23.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (*.f64 x x) eps))
0.0b
(-.f64 (*.f64 x x) eps)
0.0b
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
Compiler

Compiled 60 to 9 computations (85% saved)

series18.0ms (0.3%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
3.0ms
eps
@inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
3.0ms
eps
@-inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
2.0ms
x
@0
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
2.0ms
x
@-inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
1.0ms
x
@inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))

rewrite150.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
700×fma-def_binary64
508×log-prod_binary64
308×fma-neg_binary64
272×pow2_binary64
185×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify100.0ms (1.4%)

Algorithm
egg-herbie
Rules
776×fma-def_binary64
516×cancel-sign-sub-inv_binary64
392×fma-neg_binary64
356×associate-*l*_binary64
346×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0132962
1400841
21374803
36258785
Stop Event
node limit
Counts
226 → 230
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps))
(+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))))
(+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (+.f64 (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 eps))))) (pow.f64 x 2)))))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 4) eps))) (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 eps))))) (sqrt.f64 -1))))) (pow.f64 x 3)) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (+.f64 (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 eps))))) (pow.f64 x 2))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/32 (pow.f64 eps 4)) (*.f64 -1/128 (pow.f64 eps 4))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 eps (pow.f64 x 5)))) (*.f64 -1/4 (/.f64 (*.f64 eps (+.f64 (*.f64 -1/4 (pow.f64 eps 2)) (*.f64 1/8 (pow.f64 eps 2)))) (pow.f64 x 5)))))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 eps))
(+.f64 x (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(+.f64 x (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (+.f64 x (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 eps 4)) (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2)) (pow.f64 x 7))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
Outputs
(*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps))
(/.f64 (sqrt.f64 eps) (sqrt.f64 -1))
(+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))))
(fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps) (neg.f64 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))))
(-.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (/.f64 x -1))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (*.f64 1 x))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (+.f64 (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 eps))))) (pow.f64 x 2)))))
(fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps) (*.f64 -1 (+.f64 (/.f64 x (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (fma.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3))) 1/2)) (*.f64 x x)))))
(-.f64 (-.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (/.f64 x -1)) (*.f64 (*.f64 (*.f64 -1 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))) -1/2) (*.f64 x x)))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) (*.f64 x x) (*.f64 1 x)))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 x x)) (/.f64 -1/2 (sqrt.f64 -1)) x))
(+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -1) 4) eps))) (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 eps))))) (sqrt.f64 -1))))) (pow.f64 x 3)) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (+.f64 (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)))) (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 eps))))) (pow.f64 x 2))))))
(fma.f64 (-.f64 (/.f64 1/2 (*.f64 eps (pow.f64 (sqrt.f64 -1) 4))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (fma.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3))) 1/2)) (sqrt.f64 -1))))) (pow.f64 x 3) (fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps) (*.f64 -1 (+.f64 (/.f64 x (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (fma.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (sqrt.f64 -1) 3))) 1/2)) (*.f64 x x))))))
(fma.f64 (+.f64 (/.f64 1/2 eps) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 (*.f64 -1 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))) -1/2) (sqrt.f64 -1)))) (pow.f64 x 3) (-.f64 (-.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (/.f64 x -1)) (*.f64 (*.f64 (*.f64 -1 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))) -1/2) (*.f64 x x))))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) 1/2) (sqrt.f64 -1)) (/.f64 1/2 eps)) (pow.f64 x 3) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) (*.f64 x x) (*.f64 1 x))))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 (*.f64 x x) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) (*.f64 x (-.f64 (/.f64 1/2 eps) (/.f64 (*.f64 (/.f64 1 eps) (/.f64 -1/2 (sqrt.f64 -1))) (sqrt.f64 -1))))) x))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 eps 1/2) x)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/32 (pow.f64 eps 4)) (*.f64 -1/128 (pow.f64 eps 4))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 -1 (/.f64 (*.f64 (pow.f64 eps 4) -5/128) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (/.f64 1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 5/128 (pow.f64 x 7)) (pow.f64 eps 4)))))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (/.f64 (*.f64 eps -1/2) x))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (/.f64 (*.f64 (*.f64 eps eps) -1/8) (pow.f64 x 3))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (*.f64 x 2)))
(fma.f64 x 2 (fma.f64 (/.f64 eps x) -1/2 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps -1/8)))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 eps (pow.f64 x 5)))) (*.f64 -1/4 (/.f64 (*.f64 eps (+.f64 (*.f64 -1/4 (pow.f64 eps 2)) (*.f64 1/8 (pow.f64 eps 2)))) (pow.f64 x 5)))))))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (+.f64 (/.f64 (*.f64 (*.f64 eps eps) -1/8) (pow.f64 x 3)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -2 (/.f64 (fma.f64 1/16 (pow.f64 eps 4) (pow.f64 (*.f64 (*.f64 eps eps) -1/8) 2)) (*.f64 eps (pow.f64 x 5))) (*.f64 -1/4 (/.f64 eps (/.f64 (pow.f64 x 5) (*.f64 (*.f64 eps eps) -1/8)))))))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -1/4 (/.f64 (*.f64 (pow.f64 eps 3) -1/8) (pow.f64 x 5)) (*.f64 (/.f64 -2 eps) (/.f64 (fma.f64 1/16 (pow.f64 eps 4) (*.f64 (pow.f64 eps 4) 1/64)) (pow.f64 x 5))))))))
(fma.f64 x 2 (fma.f64 (/.f64 eps x) -1/2 (fma.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) -1/8 (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -2 (/.f64 (*.f64 (pow.f64 eps 4) 5/64) (*.f64 eps (pow.f64 x 5))) (/.f64 (*.f64 (pow.f64 eps 3) 1/32) (pow.f64 x 5)))))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 eps 1/2) x)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 -1 (/.f64 (*.f64 (pow.f64 eps 4) -5/128) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (/.f64 1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 5/128 (pow.f64 x 7)) (pow.f64 eps 4)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 eps))
(+.f64 x (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
(+.f64 x (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))))
(+.f64 x (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) x)) (fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x (sqrt.f64 -1)) x)) x))
(+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (+.f64 x (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (sqrt.f64 -1)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))))
(fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) (+.f64 x (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))))
(+.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 eps))) (fma.f64 -1/8 (*.f64 (/.f64 (pow.f64 x 4) (*.f64 -1 (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) x))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 1/2 (*.f64 (/.f64 x (sqrt.f64 -1)) x)) (fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x (sqrt.f64 -1)) x)) x)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (/.f64 (*.f64 eps -1/2) x))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (/.f64 (*.f64 (*.f64 eps eps) -1/8) (pow.f64 x 3))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (*.f64 x 2)))
(fma.f64 x 2 (fma.f64 (/.f64 eps x) -1/2 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps -1/8)))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 (*.f64 eps eps) -1/8) (pow.f64 x 3)))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (/.f64 -1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3))))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 2 (fma.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) -1/8 (/.f64 -1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3))))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 eps 1/2) x)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (pow.f64 eps 4)) (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2)) (pow.f64 x 7))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 -1 (/.f64 (*.f64 (pow.f64 eps 4) -5/128) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (/.f64 1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 5/128 (pow.f64 x 7)) (pow.f64 eps 4)))))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (/.f64 (*.f64 eps -1/2) x))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (/.f64 (*.f64 (*.f64 eps eps) -1/8) (pow.f64 x 3))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (*.f64 x 2)))
(fma.f64 x 2 (fma.f64 (/.f64 eps x) -1/2 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps -1/8)))))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 2 x) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 (*.f64 eps eps) -1/8) (pow.f64 x 3)))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (/.f64 -1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3))))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 2 (fma.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) -1/8 (/.f64 -1/16 (/.f64 (pow.f64 x 5) (pow.f64 eps 3))))))

localize5.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize4.0ms (0.1%)

Compiler

Compiled 6 to 3 computations (50% saved)

localize8.0ms (0.1%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

localize28.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))
0.1b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
10.9b
(/.f64 (*.f64 eps 1/8) (*.f64 x x))
Compiler

Compiled 44 to 22 computations (50% saved)

series16.0ms (0.2%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
3.0ms
eps
@0
(/.f64 (*.f64 eps 1/8) (*.f64 x x))
1.0ms
eps
@inf
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
1.0ms
eps
@inf
(/.f64 (*.f64 eps 1/8) (*.f64 x x))
1.0ms
x
@0
(/.f64 (*.f64 eps 1/8) (*.f64 x x))
1.0ms
eps
@-inf
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))

rewrite165.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
688×log-prod_binary64
393×prod-diff_binary64
285×log-div_binary64
231×pow1/3_binary64
224×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify191.0ms (2.6%)

Algorithm
egg-herbie
Rules
1171×associate-/l/_binary64
671×associate-/r/_binary64
591×unswap-sqr_binary64
407×sqr-pow_binary64
313×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
018927
145891
2105891
3329837
41978837
52706837
63654837
73841837
84070837
94347837
107234837
Stop Event
node limit
Counts
269 → 207
Calls
Call 1
Inputs
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
1/2
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
1/2
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
1/2
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
Outputs
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(*.f64 eps (/.f64 1/2 x))
(/.f64 1/2 (/.f64 x eps))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(*.f64 eps (/.f64 1/2 x))
(/.f64 1/2 (/.f64 x eps))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(*.f64 eps (/.f64 1/2 x))
(/.f64 1/2 (/.f64 x eps))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 1/8 (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(*.f64 (/.f64 eps x) (fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
1/2
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(*.f64 (/.f64 1/8 (*.f64 x x)) eps)
(*.f64 eps (/.f64 1/8 (*.f64 x x)))
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
1/2
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
1/2
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)
(+.f64 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 2))))
(+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)
(fma.f64 1/8 (/.f64 eps (*.f64 x x)) 1/2)

eval280.0ms (3.9%)

Compiler

Compiled 12008 to 4710 computations (60.8% saved)

prune144.0ms (2%)

Pruning

10 alts after pruning (4 fresh and 6 done)

PrunedKeptTotal
New5262528
Fresh022
Picked011
Done055
Total52610536
Error
0b
Counts
536 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
34.1b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
61.8b
(*.f64 x 2)
28.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
25.5b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
36.2b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
61.2b
(-.f64 x x)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
34.6b
(/.f64 1/2 (/.f64 x eps))
42.8b
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
34.5b
(*.f64 1/2 (/.f64 eps x))
Compiler

Compiled 121 to 75 computations (38% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
Compiler

Compiled 14 to 5 computations (64.3% saved)

series6.0ms (0.1%)

Counts
1 → 13
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@inf
(-.f64 x (sqrt.f64 (neg.f64 eps)))
1.0ms
x
@0
(-.f64 x (sqrt.f64 (neg.f64 eps)))
1.0ms
eps
@0
(-.f64 x (sqrt.f64 (neg.f64 eps)))
1.0ms
eps
@-inf
(-.f64 x (sqrt.f64 (neg.f64 eps)))
1.0ms
x
@inf
(-.f64 x (sqrt.f64 (neg.f64 eps)))

rewrite79.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
625×pow1_binary64
583×add-log-exp_binary64
582×log1p-expm1-u_binary64
582×expm1-log1p-u_binary64
569×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify35.0ms (0.5%)

Algorithm
egg-herbie
Rules
101×fma-def_binary64
56×fma-neg_binary64
27×cancel-sign-sub-inv_binary64
17×sub-neg_binary64
13×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
09121
116112
232112
345112
457112
588112
6148112
7196112
8254112
9341112
10391112
11397112
Stop Event
saturated
Counts
48 → 40
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
x
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
x
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
x
Outputs
(*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(neg.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
x
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
x
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1))) x)
(fma.f64 -1 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (neg.f64 (sqrt.f64 eps)) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 eps)) x)
(-.f64 x (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
x

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1/2 (/.f64 x eps))
Compiler

Compiled 13 to 6 computations (53.8% saved)

series15.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
10.0ms
eps
@0
(/.f64 1/2 (/.f64 x eps))
1.0ms
eps
@inf
(/.f64 1/2 (/.f64 x eps))
1.0ms
x
@0
(/.f64 1/2 (/.f64 x eps))
1.0ms
eps
@-inf
(/.f64 1/2 (/.f64 x eps))
1.0ms
x
@inf
(/.f64 1/2 (/.f64 x eps))

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
699×pow1_binary64
652×add-log-exp_binary64
652×log1p-expm1-u_binary64
652×expm1-log1p-u_binary64
639×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify19.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-*r/_binary64
associate-*l/_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
19168
213168
317168
418168
Stop Event
saturated
Counts
50 → 26
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
Outputs
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))

localize39.0ms (0.5%)

Local error

Found 2 expressions with local error:

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

Compiled 67 to 21 computations (68.7% saved)

series11.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

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

rewrite116.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
702×fma-def_binary64
658×log-prod_binary64
399×fma-neg_binary64
233×log-div_binary64
233×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify114.0ms (1.6%)

Algorithm
egg-herbie
Rules
766×associate-/l*_binary64
603×associate-+l+_binary64
566×fma-def_binary64
454×associate-/r*_binary64
335×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051804
1133804
2369804
31216795
45726795
56781795
67244795
Stop Event
node limit
Counts
175 → 148
Calls
Call 1
Inputs
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(*.f64 -1/2 (/.f64 eps x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(*.f64 -1/2 (/.f64 eps x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(*.f64 -1/2 (/.f64 eps x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
Outputs
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))
(fma.f64 -2 x (*.f64 -8 (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps) (*.f64 -2 x)))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps) (*.f64 -2 x))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 eps eps) 1/8) (pow.f64 x 3)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3))))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/2 (/.f64 eps x))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 (/.f64 1/32 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x))))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x)))))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 eps eps) 1/8) (pow.f64 x 3)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3))))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/2 (/.f64 eps x))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 (/.f64 1/32 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x))))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x)))))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 eps eps) 1/8) (pow.f64 x 3)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3))))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/2 (/.f64 eps x))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 (/.f64 1/32 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x))))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 1/8 (/.f64 eps (*.f64 x x)))))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))
(fma.f64 -2 x (*.f64 -8 (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps) (*.f64 -2 x)))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps) (*.f64 -2 x))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))
(fma.f64 -2 x (*.f64 -8 (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps) (*.f64 -2 x)))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 (/.f64 -32 eps) (/.f64 (pow.f64 x 5) eps) (*.f64 -2 x))))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) -1/2)
(/.f64 eps (/.f64 x -1/2))
(*.f64 eps (/.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(*.f64 2 x)
(*.f64 x 2)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) -1/2)
(/.f64 eps (/.f64 x -1/2))
(*.f64 eps (/.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) -1/2)
(/.f64 eps (/.f64 x -1/2))
(*.f64 eps (/.f64 -1/2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 x 2))
(fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2))
(fma.f64 x 2 (/.f64 eps (/.f64 x -1/2)))
(fma.f64 x 2 (*.f64 eps (/.f64 -1/2 x)))

localize85.0ms (1.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
10.9b
(/.f64 (*.f64 eps 1/8) (*.f64 x x))
13.8b
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
32.2b
(/.f64 (pow.f64 eps 3) (pow.f64 x 5))
Compiler

Compiled 82 to 47 computations (42.7% saved)

series13.0ms (0.2%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
2.0ms
eps
@0
(/.f64 (pow.f64 eps 3) (pow.f64 x 5))
2.0ms
x
@0
(/.f64 (pow.f64 eps 3) (pow.f64 x 5))
1.0ms
eps
@inf
(/.f64 (pow.f64 eps 3) (pow.f64 x 5))
1.0ms
eps
@-inf
(/.f64 (pow.f64 eps 3) (pow.f64 x 5))
1.0ms
x
@-inf
(/.f64 (pow.f64 eps 3) (pow.f64 x 5))

rewrite189.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
629×prod-diff_binary64
344×expm1-udef_binary64
344×log1p-udef_binary64
198×add-sqr-sqrt_binary64
190×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01842
141440
2563140
Stop Event
node limit
Counts
2 → 61
Calls
Call 1
Inputs
(/.f64 (pow.f64 eps 3) (pow.f64 x 5))
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (*.f64 (*.f64 eps eps) (pow.f64 x -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3) (pow.f64 x -5))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps eps) (*.f64 eps (pow.f64 x -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 (pow.f64 x 5))) (pow.f64 (/.f64 eps (cbrt.f64 (pow.f64 x 5))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 eps (cbrt.f64 (pow.f64 x 5))) 2) (/.f64 eps (cbrt.f64 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 eps 3/2) (pow.f64 x 5/2)) (/.f64 (pow.f64 eps 3/2) (pow.f64 x 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 eps 3)) (/.f64 1 (neg.f64 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -5) (pow.f64 eps 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 3/2) (*.f64 (pow.f64 eps 3/2) (pow.f64 x -5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps 1) (/.f64 (*.f64 eps eps) (pow.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps eps) 1) (/.f64 eps (pow.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 eps 3/2) 1) (/.f64 (pow.f64 eps 3/2) (pow.f64 x 5)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 (pow.f64 x 10))) (/.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 x 10))) (/.f64 (pow.f64 eps 3) (cbrt.f64 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x 10))) (/.f64 eps (cbrt.f64 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 eps 3/2) (cbrt.f64 (pow.f64 x 10))) (/.f64 (pow.f64 eps 3/2) (cbrt.f64 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (pow.f64 x 5/2)) (/.f64 (*.f64 eps eps) (pow.f64 x 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 5/2)) (/.f64 eps (pow.f64 x 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 x 5/2)) (/.f64 (pow.f64 eps 3) (pow.f64 x 5/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 eps (cbrt.f64 (pow.f64 x 5))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 eps 3/2) (pow.f64 x 5/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (pow.f64 eps 3) (neg.f64 (pow.f64 x 5))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 (pow.f64 eps 6) (pow.f64 x 10)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 eps 3)) (pow.f64 x -5)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (pow.f64 eps 3) 3) (pow.f64 (pow.f64 x 5) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)) (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) 1) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) (*.f64 (/.f64 eps x) 1/2)) (*.f64 (pow.f64 (/.f64 eps x) 2) (/.f64 1/8 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))) (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))) 2) (cbrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))) (sqrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) 3) (pow.f64 (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)) 3)) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16)) (-.f64 (pow.f64 (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)) 2) (*.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16)) (pow.f64 (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)) 2)) (-.f64 (*.f64 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) 1/16) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2)))) 1))))))

simplify234.0ms (3.2%)

Algorithm
egg-herbie
Rules
1276×associate-/l/_binary64
899×fma-def_binary64
564×unswap-sqr_binary64
377×times-frac_binary64
358×sqr-pow_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
023594
162594
2157594
3508579
42757546
53709540
64930540
75791540
86565540
97008540
Stop Event
node limit
Counts
85 → 71
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
Outputs
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 1/2 x) eps)
(*.f64 eps (/.f64 1/2 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 (/.f64 1/2 x) eps))
(*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2))
(*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))
(*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))
(*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 (*.f64 eps 1/16) (pow.f64 x 5))))
(*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))
(*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 (*.f64 eps 1/16) (pow.f64 x 5))))
(*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))
(*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 (*.f64 eps 1/16) (pow.f64 x 5))))
(*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 1/2 x) eps)
(*.f64 eps (/.f64 1/2 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 (/.f64 1/2 x) eps))
(*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2))
(*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))
(*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 1/2 x) eps)
(*.f64 eps (/.f64 1/2 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 (/.f64 1/2 x) eps))
(*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2))
(*.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2))
(*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 1/2 x) eps)))
(fma.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3) (*.f64 (/.f64 eps x) (+.f64 (*.f64 1/8 (/.f64 eps (*.f64 x x))) 1/2)))
(fma.f64 (/.f64 eps x) (fma.f64 (/.f64 eps x) (/.f64 1/8 x) 1/2) (*.f64 (pow.f64 eps 3) (/.f64 1/16 (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (fma.f64 1/16 (/.f64 eps (pow.f64 x 5)) (/.f64 1/8 (pow.f64 x 3)))))

eval741.0ms (10.2%)

Compiler

Compiled 9814 to 5328 computations (45.7% saved)

prune124.0ms (1.7%)

Pruning

14 alts after pruning (7 fresh and 7 done)

PrunedKeptTotal
New4217428
Fresh000
Picked101
Done279
Total42414438
Error
0b
Counts
438 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
60.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
60.5b
(*.f64 -2 x)
34.6b
(*.f64 (/.f64 1/2 x) eps)
28.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
25.5b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
36.2b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
61.2b
(-.f64 x x)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
61.8b
x
34.1b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
60.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
34.6b
(/.f64 1/2 (/.f64 x eps))
60.7b
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
34.5b
(*.f64 1/2 (/.f64 eps x))
Compiler

Compiled 230 to 141 computations (38.7% saved)

localize33.0ms (0.4%)

Local error

Found 2 expressions with local error:

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

Compiled 64 to 23 computations (64.1% saved)

series6.0ms (0.1%)

Counts
2 → 30
Calls

12 calls:

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

rewrite82.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
662×log-prod_binary64
560×fma-def_binary64
289×fma-neg_binary64
233×expm1-udef_binary64
233×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify94.0ms (1.3%)

Algorithm
egg-herbie
Rules
763×associate-/l*_binary64
604×associate-+l+_binary64
561×fma-def_binary64
452×associate-/r*_binary64
336×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
050606
1130606
2363606
31210597
45734597
56789597
67252597
Stop Event
node limit
Counts
142 → 131
Calls
Call 1
Inputs
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(*.f64 2 x)
(*.f64 -1/2 (/.f64 eps x))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 2 x)
(*.f64 2 x)
Outputs
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))
(fma.f64 -2 x (*.f64 -8 (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -2 x)))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (*.f64 (/.f64 -32 eps) (pow.f64 x 5)) eps)))
(fma.f64 -2 x (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 (pow.f64 x 5) (/.f64 -32 (*.f64 eps eps)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -2 x))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (*.f64 (/.f64 -32 eps) (pow.f64 x 5)) eps))))
(fma.f64 (/.f64 -32 (*.f64 eps eps)) (pow.f64 x 5) (fma.f64 (/.f64 -128 (pow.f64 eps 3)) (pow.f64 x 7) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 1/2 (/.f64 x eps))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/32 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 1/32 (/.f64 eps (pow.f64 x 5))))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 1/128 (pow.f64 eps 4)) (pow.f64 x 7)))))
(fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 1/32 (/.f64 eps (pow.f64 x 5)))))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 1/2 (/.f64 x eps))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/32 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 1/32 (/.f64 eps (pow.f64 x 5))))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 1/128 (pow.f64 eps 4)) (pow.f64 x 7)))))
(fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 1/32 (/.f64 eps (pow.f64 x 5)))))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 1/2 (/.f64 x eps))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 1/32 (/.f64 (pow.f64 x 5) (pow.f64 eps 3)))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 1/32 (/.f64 eps (pow.f64 x 5))))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 1/128 (pow.f64 eps 4)) (pow.f64 x 7)))))
(fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))))
(fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 1/32 (/.f64 eps (pow.f64 x 5)))))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))
(fma.f64 -2 x (*.f64 -8 (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -2 x)))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (*.f64 (/.f64 -32 eps) (pow.f64 x 5)) eps)))
(fma.f64 -2 x (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 (pow.f64 x 5) (/.f64 -32 (*.f64 eps eps)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -2 x))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (*.f64 (/.f64 -32 eps) (pow.f64 x 5)) eps))))
(fma.f64 (/.f64 -32 (*.f64 eps eps)) (pow.f64 x 5) (fma.f64 (/.f64 -128 (pow.f64 eps 3)) (pow.f64 x 7) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))))
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))
(fma.f64 -2 x (*.f64 -8 (/.f64 (pow.f64 x 3) eps)))
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -2 x)))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (*.f64 (/.f64 -32 eps) (pow.f64 x 5)) eps)))
(fma.f64 -2 x (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 (pow.f64 x 5) (/.f64 -32 (*.f64 eps eps)))))
(+.f64 (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))) (+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (+.f64 (*.f64 -2 x) (*.f64 -32 (/.f64 (pow.f64 x 5) (pow.f64 eps 2))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (*.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps))))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -2 x))))
(fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (*.f64 (/.f64 -32 eps) (pow.f64 x 5)) eps))))
(fma.f64 (/.f64 -32 (*.f64 eps eps)) (pow.f64 x 5) (fma.f64 (/.f64 -128 (pow.f64 eps 3)) (pow.f64 x 7) (fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))))
(*.f64 2 x)
(*.f64 x 2)
(*.f64 -1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) -1/2)
(*.f64 eps (/.f64 -1/2 x))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) -1/2)
(*.f64 eps (/.f64 -1/2 x))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) -1/2)
(*.f64 eps (/.f64 -1/2 x))
(*.f64 2 x)
(*.f64 x 2)
(*.f64 2 x)
(*.f64 x 2)

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 1/2 x) eps)
Compiler

Compiled 13 to 8 computations (38.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
617×pow1_binary64
573×add-log-exp_binary64
573×log1p-expm1-u_binary64
573×expm1-log1p-u_binary64
562×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-*r/_binary64
associate-*l/_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
19168
213168
317168
418168
Stop Event
saturated
Counts
45 → 22
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
Outputs
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (*.f64 1/2 (/.f64 eps x)))
6.8b
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
Compiler

Compiled 30 to 17 computations (43.3% saved)

series3.0ms (0%)

Counts
2 → 30
Calls

12 calls:

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

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
650×unpow-prod-down_binary64
490×prod-diff_binary64
417×log-prod_binary64
410×fma-def_binary64
234×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify16.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-*r/_binary64
associate-*l/_binary64
associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07192
112192
216192
320192
421192
Stop Event
saturated
Counts
218 → 189
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
1
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
1
1
Outputs
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
1
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
1
1

localize15.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
Compiler

Compiled 47 to 12 computations (74.5% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite85.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
520×log-prod_binary64
512×prod-diff_binary64
263×fma-def_binary64
255×pow2_binary64
193×log-div_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify12.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0496
1596
Stop Event
saturated
Counts
75 → 52
Calls
Call 1
Inputs
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
Outputs
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)
(*.f64 -2 x)

eval193.0ms (2.7%)

Compiler

Compiled 6487 to 3501 computations (46% saved)

prune103.0ms (1.4%)

Pruning

17 alts after pruning (6 fresh and 11 done)

PrunedKeptTotal
New3904394
Fresh022
Picked101
Done01111
Total39117408
Error
0b
Counts
408 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
60.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
60.5b
(*.f64 -2 x)
34.6b
(*.f64 (/.f64 1/2 x) eps)
28.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
25.5b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
36.2b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
61.2b
(-.f64 x x)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
61.8b
x
34.1b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
60.3b
(-.f64 (/.f64 (*.f64 x x) (/.f64 (*.f64 eps -1/2) x)) (/.f64 (-.f64 (*.f64 x x) eps) (/.f64 (*.f64 eps -1/2) x)))
60.5b
(*.f64 -2 (/.f64 eps (/.f64 eps x)))
60.5b
(*.f64 (/.f64 (/.f64 x eps) -1/2) eps)
34.6b
(/.f64 1/2 (/.f64 x eps))
60.5b
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 eps x) 1/2)))
60.7b
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
34.5b
(*.f64 1/2 (/.f64 eps x))
Compiler

Compiled 188 to 118 computations (37.2% saved)

regimes67.0ms (0.9%)

Counts
21 → 1
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(-.f64 x x)
(*.f64 x 2)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 1/2 (/.f64 eps x))
(*.f64 -2 (/.f64 eps (/.f64 eps x)))
(*.f64 (/.f64 (/.f64 x eps) -1/2) eps)
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 eps x) 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
(-.f64 (/.f64 (*.f64 x x) (/.f64 (*.f64 eps -1/2) x)) (/.f64 (-.f64 (*.f64 x x) eps) (/.f64 (*.f64 eps -1/2) x)))
(-.f64 x (sqrt.f64 (neg.f64 eps)))
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x)))))
Outputs
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
Calls

3 calls:

23.0ms
eps
18.0ms
x
16.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1eps
0.3b1(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 231 to 100 computations (56.7% saved)

regimes142.0ms (2%)

Counts
19 → 2
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(-.f64 x x)
(*.f64 x 2)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 1/2 (/.f64 eps x))
(*.f64 -2 (/.f64 eps (/.f64 eps x)))
(*.f64 (/.f64 (/.f64 x eps) -1/2) eps)
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 eps x) 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
(-.f64 (/.f64 (*.f64 x x) (/.f64 (*.f64 eps -1/2) x)) (/.f64 (-.f64 (*.f64 x x) eps) (/.f64 (*.f64 eps -1/2) x)))
(-.f64 x (sqrt.f64 (neg.f64 eps)))
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Outputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
Calls

3 calls:

73.0ms
eps
32.0ms
x
28.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Results
ErrorSegmentsBranch
7.5b2x
10.5b4eps
0.6b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 191 to 85 computations (55.5% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.47868583727482e-151
0.0
Compiler

Compiled 15 to 10 computations (33.3% saved)

regimes97.0ms (1.3%)

Counts
18 → 2
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(-.f64 x x)
(*.f64 x 2)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 1/2 (/.f64 eps x))
(*.f64 -2 (/.f64 eps (/.f64 eps x)))
(*.f64 (/.f64 (/.f64 x eps) -1/2) eps)
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 eps x) 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
(-.f64 (/.f64 (*.f64 x x) (/.f64 (*.f64 eps -1/2) x)) (/.f64 (-.f64 (*.f64 x x) eps) (/.f64 (*.f64 eps -1/2) x)))
(-.f64 x (sqrt.f64 (neg.f64 eps)))
Outputs
(-.f64 x (sqrt.f64 (neg.f64 eps)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
Calls

2 calls:

58.0ms
eps
30.0ms
x
Results
ErrorSegmentsBranch
8.1b2x
11.4b4eps
Compiler

Compiled 173 to 77 computations (55.5% saved)

bsearch254.0ms (3.5%)

Algorithm
binary-search
Steps
TimeLeftRight
254.0ms
2.1666274115886516e-80
6.323177605815345e-80
Compiler

Compiled 165 to 105 computations (36.4% saved)

regimes130.0ms (1.8%)

Counts
17 → 1
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(-.f64 x x)
(*.f64 x 2)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 1/2 (/.f64 eps x))
(*.f64 -2 (/.f64 eps (/.f64 eps x)))
(*.f64 (/.f64 (/.f64 x eps) -1/2) eps)
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 eps x) 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
(-.f64 (/.f64 (*.f64 x x) (/.f64 (*.f64 eps -1/2) x)) (/.f64 (-.f64 (*.f64 x x) eps) (/.f64 (*.f64 eps -1/2) x)))
Outputs
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
Calls

2 calls:

107.0ms
eps
16.0ms
x
Results
ErrorSegmentsBranch
34.1b1x
34.1b1eps
Compiler

Compiled 168 to 75 computations (55.4% saved)

regimes60.0ms (0.8%)

Counts
14 → 1
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(-.f64 x x)
(*.f64 x 2)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 1/2 (/.f64 eps x))
(*.f64 -2 (/.f64 eps (/.f64 eps x)))
(*.f64 (/.f64 (/.f64 x eps) -1/2) eps)
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 eps x) 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
Outputs
(*.f64 1/2 (/.f64 eps x))
Calls

2 calls:

41.0ms
eps
14.0ms
x
Results
ErrorSegmentsBranch
34.5b1x
34.5b1eps
Compiler

Compiled 109 to 54 computations (50.5% saved)

regimes46.0ms (0.6%)

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

2 calls:

35.0ms
eps
8.0ms
x
Results
ErrorSegmentsBranch
34.6b1x
34.6b1eps
Compiler

Compiled 28 to 17 computations (39.3% saved)

regimes18.0ms (0.3%)

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

2 calls:

9.0ms
x
8.0ms
eps
Results
ErrorSegmentsBranch
34.6b1x
34.6b1eps
Compiler

Compiled 23 to 14 computations (39.1% saved)

regimes16.0ms (0.2%)

Accuracy

Total -1.8b remaining (-3%)

Threshold costs -1.8b (-3%)

Counts
4 → 1
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(-.f64 x x)
(*.f64 x 2)
Outputs
(*.f64 -2 x)
Calls

2 calls:

7.0ms
x
7.0ms
eps
Results
ErrorSegmentsBranch
60.5b1x
60.5b1eps
Compiler

Compiled 18 to 11 computations (38.9% saved)

simplify17.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
036180
158180
273180
382180
486180
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -2948408144391829/29484081443918291814387145163970850710288447034503440846689111720668938768688662906922865040450459121417721679927842538279457692421287442441886205089317937841010900992) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))))
(if (<=.f64 x 5873964348782503/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 1/2 (/.f64 x eps))
(*.f64 (/.f64 1/2 x) eps)
(*.f64 -2 x)
x
Outputs
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -2948408144391829/29484081443918291814387145163970850710288447034503440846689111720668938768688662906922865040450459121417721679927842538279457692421287442441886205089317937841010900992) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))))
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -2948408144391829/29484081443918291814387145163970850710288447034503440846689111720668938768688662906922865040450459121417721679927842538279457692421287442441886205089317937841010900992) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 x 2))))
(if (<=.f64 x 5873964348782503/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))))
(if (<=.f64 x 5873964348782503/266998379490113760299377713271194014325338065294581596243380200977777465722580068752870260867072) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 x 2))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 x 2)))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) 1/2)
(/.f64 1/2 (/.f64 x eps))
(*.f64 (/.f64 1/2 x) eps)
(*.f64 eps (/.f64 1/2 x))
(*.f64 -2 x)
(*.f64 x -2)
x
Compiler

Compiled 140 to 78 computations (44.3% saved)

soundness0.0ms (0%)

end98.0ms (1.3%)

Compiler

Compiled 124 to 48 computations (61.3% saved)

Profiling

Loading profile data...