Details

Time bar (total: 7.1s)

analyze20.0ms (0.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%12.8%87.2%0
0%12.8%87.2%1
0%12.8%87.2%2
6.4%6.4%87.2%3
6.4%4.8%88.8%4
7.2%3.2%89.6%5
7.2%2.4%90.4%6
7.6%1.6%90.8%7
7.6%1.2%91.2%8
7.8%0.8%91.4%9
7.8%0.6%91.5%10
7.9%0.4%91.7%11
8%0.3%91.7%12
Compiler

Compiled 25 to 17 computations (32% saved)

sample1.9s (26.6%)

Results
1.1s5938×body256valid
463.0ms1125×body1024valid
320.0ms1160×body512valid
22.0ms173×body256invalid
13.0ms33×body2048valid

preprocess43.0ms (0.6%)

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)

simplify27.0ms (0.4%)

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

eval0.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
22.3b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
22.3b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 10 to 6 computations (40% saved)

localize8.0ms (0.1%)

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.7b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 26 to 6 computations (76.9% saved)

series103.0ms (1.5%)

Counts
3 → 56
Calls

18 calls:

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

rewrite82.0ms (1.2%)

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

simplify89.0ms (1.3%)

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

eval48.0ms (0.7%)

Compiler

Compiled 2547 to 1184 computations (53.5% saved)

prune29.0ms (0.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1438151
Fresh000
Picked011
Done000
Total1439152
Error
0.0b
Counts
152 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
25.6b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
38.9b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
59.0b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
37.6b
(*.f64 1/2 (/.f64 eps x))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
61.7b
(*.f64 x 2)
22.3b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.4b
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 1 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))
61.3b
(-.f64 x x)
Compiler

Compiled 194 to 114 computations (41.2% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (*.f64 x x) eps))
0.0b
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.0b
(-.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)

series10.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
2.0ms
eps
@inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
2.0ms
eps
@-inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
1.0ms
x
@0
(/.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))))
1.0ms
x
@inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))

rewrite109.0ms (1.5%)

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

simplify76.0ms (1.1%)

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

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize6.0ms (0.1%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

localize18.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 44 to 22 computations (50% saved)

series10.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.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))))

rewrite261.0ms (3.7%)

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
01129
125327
2385127
Stop Event
node limit
Counts
2 → 135
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))))
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)))))))

simplify114.0ms (1.6%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
017660
143660
2101660
3325642
41987606
52721606
63667606
73854606
84083606
94357606
107270606
Stop Event
node limit
Counts
183 → 143
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)))
Outputs
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 2)))
(/.f64 (*.f64 1/8 eps) (*.f64 x x))
(*.f64 1/8 (/.f64 eps (*.f64 x x)))
(/.f64 1/8 (*.f64 x (/.f64 x eps)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(/.f64 (*.f64 eps 1/2) x)
(/.f64 eps (/.f64 x 1/2))
(*.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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)))
(/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(*.f64 eps (/.f64 1/8 (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps (*.f64 1/8 eps)) (pow.f64 x 3))
(+.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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)))
(/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(*.f64 eps (/.f64 1/8 (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps (*.f64 1/8 eps)) (pow.f64 x 3))
(+.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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)))
(/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(*.f64 eps (/.f64 1/8 (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps (*.f64 1/8 eps)) (pow.f64 x 3))
(+.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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x)
(/.f64 (*.f64 eps 1/2) x)
(/.f64 eps (/.f64 x 1/2))
(*.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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x)
(/.f64 (*.f64 eps 1/2) x)
(/.f64 eps (/.f64 x 1/2))
(*.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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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 (*.f64 1/2 eps) x))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (*.f64 1/8 eps) eps) (pow.f64 x 3)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (/.f64 eps (/.f64 x 1/2)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 1/8 eps) (*.f64 x 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)))

localize38.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 73 to 14 computations (80.8% saved)

series9.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

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

rewrite119.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
789×fma-def_binary64
561×log-prod_binary64
315×fma-neg_binary64
225×egg-rr
202×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify75.0ms (1.1%)

Algorithm
egg-herbie
Rules
524×associate-*l*_binary64
482×associate-*r*_binary64
449×associate-+l+_binary64
439×times-frac_binary64
370×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01711152
1543949
21958881
37866871
Stop Event
node limit
Counts
285 → 301
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 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps)))
(+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) eps))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 -1 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (pow.f64 x 2))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) eps)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 -1 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (pow.f64 x 2))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (sqrt.f64 -1) 4)))) (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 -1 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (sqrt.f64 -1))))) (pow.f64 x 3)) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) eps))))))
(/.f64 1/2 x)
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/128 (pow.f64 eps 3)) (*.f64 -1/32 (pow.f64 eps 3))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5))))))
(*.f64 2 (/.f64 x eps))
(-.f64 (*.f64 2 (/.f64 x eps)) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 -1/4 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 2 (/.f64 x eps)))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 5)))) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 -1/4 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 eps (+.f64 (*.f64 -1/4 eps) (*.f64 1/8 eps))) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 x eps)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5)))))))) (*.f64 1/2 (/.f64 1 x)))
(/.f64 1/2 x)
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5)))))
(+.f64 (*.f64 5/128 (/.f64 (pow.f64 eps 3) (pow.f64 x 7))) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5))))))
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 (/.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) (fma.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2)) (neg.f64 (*.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 x (*.f64 x (*.f64 (*.f64 -1 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))) -1/2))))
(+.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 (-.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) (fma.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2)) (neg.f64 (*.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 x (*.f64 x (*.f64 (*.f64 -1 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))) -1/2)))))
(+.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) (*.f64 x x) (*.f64 1 x)) (fma.f64 (-.f64 (/.f64 1/2 eps) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) (sqrt.f64 -1)))) (pow.f64 x 3) (/.f64 (sqrt.f64 eps) (sqrt.f64 -1))))
(+.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) (*.f64 x x) (*.f64 1 x)) (fma.f64 (-.f64 (/.f64 1/2 eps) (/.f64 (*.f64 (/.f64 1 eps) (/.f64 -1/2 (sqrt.f64 -1))) (sqrt.f64 -1))) (pow.f64 x 3) (/.f64 (sqrt.f64 eps) (sqrt.f64 -1))))
(*.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 x eps)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps 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/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 (*.f64 1/16 (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 eps x) (/.f64 (*.f64 1/16 (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))))))
(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 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5)))))
(*.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 x eps)))
(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) (pow.f64 x 3)) -1/8)))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) -1/8 (*.f64 x 2)))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 2 (*.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) 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) (pow.f64 x 3)) -1/8) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -2 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 eps eps) -1/8) 2) (*.f64 1/16 (pow.f64 eps 4))) (*.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 -2 (/.f64 (/.f64 (fma.f64 1/16 (pow.f64 eps 4) (*.f64 (pow.f64 eps 4) 1/64)) eps) (pow.f64 x 5))))))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 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 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 x eps)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps 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/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 (*.f64 1/16 (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 eps x) (/.f64 (*.f64 1/16 (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))))))
(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 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5)))))
(*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps)))
(/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))
(+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) eps))))
(fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps)) (neg.f64 (/.f64 x (*.f64 eps (pow.f64 (sqrt.f64 -1) 2)))))
(+.f64 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (*.f64 1 (/.f64 x eps)))
(+.f64 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 -1 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (pow.f64 x 2))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps))) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) eps)))))
(fma.f64 -1 (*.f64 (*.f64 x x) (*.f64 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) -1/2)) (fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps)) (neg.f64 (/.f64 x (*.f64 eps (pow.f64 (sqrt.f64 -1) 2))))))
(-.f64 (+.f64 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (*.f64 1 (/.f64 x eps))) (*.f64 x (*.f64 x (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 (/.f64 -1 (sqrt.f64 -1)) -1/2)))))
(+.f64 (/.f64 x eps) (fma.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (sqrt.f64 -1))) (*.f64 x x) (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 -1 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (pow.f64 x 2))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps))) (+.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (sqrt.f64 -1) 4)))) (*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 -1 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (sqrt.f64 -1))))) (pow.f64 x 3)) (*.f64 -1 (/.f64 x (*.f64 (pow.f64 (sqrt.f64 -1) 2) eps))))))
(fma.f64 -1 (*.f64 (*.f64 x x) (*.f64 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) -1/2)) (fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 eps)) (fma.f64 (-.f64 (/.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 -1) 4) (*.f64 eps eps))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 (*.f64 (/.f64 1 (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) -1/2) (sqrt.f64 -1))))) (pow.f64 x 3) (neg.f64 (/.f64 x (*.f64 eps (pow.f64 (sqrt.f64 -1) 2)))))))
(+.f64 (fma.f64 (pow.f64 x 3) (+.f64 (/.f64 1/2 (*.f64 eps eps)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 (/.f64 -1 (sqrt.f64 -1)) -1/2))) (sqrt.f64 -1))) (*.f64 1 (/.f64 x eps))) (fma.f64 (*.f64 (*.f64 (/.f64 -1 (sqrt.f64 -1)) (neg.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) -1/2) (*.f64 x x) (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))))
(+.f64 (fma.f64 (pow.f64 x 3) (+.f64 (/.f64 1/2 (*.f64 eps eps)) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) 1))) (/.f64 x eps)) (fma.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (sqrt.f64 -1))) (*.f64 x x) (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))))
(/.f64 1/2 x)
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5)))))
(+.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) (*.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5)) (/.f64 1/2 x)))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) eps) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/128 (pow.f64 eps 3)) (*.f64 -1/32 (pow.f64 eps 3))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 -1 (/.f64 (*.f64 (pow.f64 eps 3) -5/128) (pow.f64 x 7)) (+.f64 (/.f64 1/2 x) (*.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (-.f64 (fma.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5)) (/.f64 1/2 x)) (/.f64 (pow.f64 eps 3) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 5/128 (/.f64 (pow.f64 eps 3) (pow.f64 x 7)) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) eps) (/.f64 1/2 x))))
(*.f64 2 (/.f64 x eps))
(-.f64 (*.f64 2 (/.f64 x eps)) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (*.f64 2 (/.f64 x eps)) (/.f64 1/2 x))
(fma.f64 2 (/.f64 x eps) (/.f64 -1/2 x))
(-.f64 (+.f64 (*.f64 -1/4 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 2 (/.f64 x eps)))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (fma.f64 -1/4 (/.f64 eps (pow.f64 x 3)) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (*.f64 2 (/.f64 x eps)))) (/.f64 1/2 x))
(+.f64 (*.f64 (/.f64 eps (pow.f64 x 3)) -1/8) (fma.f64 2 (/.f64 x eps) (/.f64 -1/2 x)))
(+.f64 (fma.f64 2 (/.f64 x eps) (/.f64 -1/2 x)) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))))
(-.f64 (+.f64 (*.f64 -2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 5)))) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 -1/4 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 eps (+.f64 (*.f64 -1/4 eps) (*.f64 1/8 eps))) (pow.f64 x 5))) (+.f64 (*.f64 2 (/.f64 x eps)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5)))))))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (fma.f64 -2 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 eps eps) -1/8) 2) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (*.f64 eps eps) (pow.f64 x 5))) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 -1/4 (/.f64 eps (pow.f64 x 3)) (fma.f64 -1/4 (/.f64 eps (/.f64 (pow.f64 x 5) (*.f64 eps -1/8))) (fma.f64 2 (/.f64 x eps) (*.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5)))))))) (/.f64 1/2 x))
(fma.f64 -2 (/.f64 (fma.f64 1/16 (pow.f64 eps 4) (*.f64 (pow.f64 eps 4) 1/64)) (*.f64 (*.f64 eps eps) (pow.f64 x 5))) (+.f64 (+.f64 (fma.f64 -1/4 (/.f64 (*.f64 (*.f64 eps eps) -1/8) (pow.f64 x 5)) (fma.f64 2 (/.f64 x eps) (/.f64 (*.f64 (*.f64 eps eps) 1/16) (pow.f64 x 5)))) (*.f64 (/.f64 eps (pow.f64 x 3)) -1/8)) (/.f64 -1/2 x)))
(+.f64 (+.f64 (/.f64 (*.f64 eps (*.f64 1/32 eps)) (pow.f64 x 5)) (fma.f64 2 (/.f64 x eps) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (*.f64 eps eps)))) (+.f64 (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))) (fma.f64 (/.f64 -2 (pow.f64 x 5)) (/.f64 (*.f64 (pow.f64 eps 4) 5/64) (*.f64 eps eps)) (/.f64 -1/2 x))))
(/.f64 1/2 x)
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5)))))
(+.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) (*.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5))))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5)) (/.f64 1/2 x)))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) eps) (/.f64 1/2 x)))
(+.f64 (*.f64 5/128 (/.f64 (pow.f64 eps 3) (pow.f64 x 7))) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 -1 (/.f64 (*.f64 (pow.f64 eps 3) -5/128) (pow.f64 x 7)) (+.f64 (/.f64 1/2 x) (*.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (-.f64 (fma.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5)) (/.f64 1/2 x)) (/.f64 (pow.f64 eps 3) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 5/128 (/.f64 (pow.f64 eps 3) (pow.f64 x 7)) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) eps) (/.f64 1/2 x))))

eval275.0ms (3.9%)

Compiler

Compiled 21941 to 7251 computations (67% saved)

prune186.0ms (2.6%)

Pruning

15 alts after pruning (9 fresh and 6 done)

PrunedKeptTotal
New8716877
Fresh033
Picked011
Done055
Total87115886
Error
0b
Counts
886 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
25.6b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
38.9b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
59.0b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
37.6b
(*.f64 1/2 (/.f64 eps x))
61.3b
(-.f64 x x)
41.6b
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
37.6b
(/.f64 1/2 (/.f64 x eps))
37.7b
(*.f64 eps (/.f64 1/2 x))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
61.7b
(*.f64 x 2)
36.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
23.8b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
0.8b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
22.3b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.4b
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 1 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))
Compiler

Compiled 325 to 191 computations (41.2% saved)

localize22.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) eps)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
0.6b
(cbrt.f64 (-.f64 (*.f64 x x) eps))
0.7b
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)
Compiler

Compiled 84 to 22 computations (73.8% saved)

series23.0ms (0.3%)

Counts
3 → 32
Calls

18 calls:

TimeVariablePointExpression
7.0ms
x
@0
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)
4.0ms
x
@-inf
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)
3.0ms
eps
@0
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)
1.0ms
x
@inf
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)
1.0ms
eps
@inf
(pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3)

rewrite102.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
774×fma-def_binary64
570×log-prod_binary64
332×fma-neg_binary64
209×expm1-udef_binary64
209×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify67.0ms (0.9%)

Algorithm
egg-herbie
Rules
939×times-frac_binary64
488×associate-/l*_binary64
448×associate-/r*_binary64
354×distribute-lft-in_binary64
354×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02711632
18791407
231201347
Stop Event
node limit
Counts
327 → 350
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 eps (pow.f64 1 1/3)))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 5/81 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 10/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)))) (*.f64 -2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) (pow.f64 (cbrt.f64 -1) 2))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))))
(*.f64 (pow.f64 1 1/3) (pow.f64 x 2))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2))))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9))) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 1 (pow.f64 x 2)))) (*.f64 -2/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))))))))) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2)))))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2))))))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 8)) 1/3) (/.f64 (pow.f64 x 6) (pow.f64 (cbrt.f64 -1) 8)))))))
(pow.f64 (pow.f64 x 2) 1/3)
(+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9)))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 eps 3)) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))))
(*.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))))))
Outputs
(*.f64 -1 (*.f64 eps (pow.f64 1 1/3)))
(neg.f64 eps)
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))
(+.f64 (neg.f64 eps) (*.f64 x x))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3)))))
(fma.f64 (fma.f64 -2/9 (/.f64 1 eps) (fma.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))) -1/9)) (*.f64 (/.f64 1 eps) 1/9))) (pow.f64 x 4) (+.f64 (neg.f64 eps) (*.f64 x x)))
(-.f64 (fma.f64 (+.f64 (/.f64 -2/9 eps) (fma.f64 (*.f64 (cbrt.f64 eps) (cbrt.f64 -1)) (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) -1/9) (*.f64 -1 (cbrt.f64 -1))) (/.f64 1/9 eps))) (pow.f64 x 4) (*.f64 x x)) eps)
(-.f64 (fma.f64 (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) (cbrt.f64 -1)) 1/9) (cbrt.f64 eps))) (*.f64 (/.f64 1 eps) -1/9)) (pow.f64 x 4) (*.f64 x x)) eps)
(+.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 5/81 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 10/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)))) (*.f64 -2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) (pow.f64 (cbrt.f64 -1) 2))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))))
(fma.f64 (fma.f64 -2/27 (/.f64 1 (*.f64 (*.f64 eps eps) (pow.f64 (cbrt.f64 -1) 6))) (fma.f64 5/81 (/.f64 1 (*.f64 (*.f64 eps eps) (pow.f64 (cbrt.f64 -1) 6))) (fma.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 7))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))) 4/81)) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (/.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))) -1/9) (pow.f64 (cbrt.f64 -1) 2))))))) (pow.f64 x 6) (fma.f64 (fma.f64 -2/9 (/.f64 1 eps) (fma.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))) -1/9)) (*.f64 (/.f64 1 eps) 1/9))) (pow.f64 x 4) (+.f64 (neg.f64 eps) (*.f64 x x))))
(fma.f64 (+.f64 (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (/.f64 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) (*.f64 -1 (cbrt.f64 -1))) (/.f64 (pow.f64 (cbrt.f64 -1) 2) -1/9))) (*.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 -1) (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 7))) 4/81) (pow.f64 (cbrt.f64 -1) 7))))) (*.f64 (/.f64 1 (*.f64 eps eps)) -1/81)) (pow.f64 x 6) (-.f64 (fma.f64 (+.f64 (/.f64 -2/9 eps) (fma.f64 (*.f64 (cbrt.f64 eps) (cbrt.f64 -1)) (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) -1/9) (*.f64 -1 (cbrt.f64 -1))) (/.f64 1/9 eps))) (pow.f64 x 4) (*.f64 x x)) eps))
(fma.f64 (+.f64 (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) -1/9) 1)) (*.f64 (cbrt.f64 eps) (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 7))) (*.f64 4/81 (cbrt.f64 -1))) (pow.f64 (cbrt.f64 -1) 7)))) (/.f64 -1/81 (*.f64 eps eps))) (pow.f64 x 6) (-.f64 (fma.f64 (+.f64 (*.f64 (cbrt.f64 -1) (*.f64 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 4))) (cbrt.f64 -1)) 1/9) (cbrt.f64 eps))) (*.f64 (/.f64 1 eps) -1/9)) (pow.f64 x 4) (*.f64 x x)) eps))
(*.f64 (pow.f64 1 1/3) (pow.f64 x 2))
(*.f64 x x)
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)))
(fma.f64 eps (*.f64 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18)) -1) (*.f64 x x))
(fma.f64 x x (*.f64 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18)) (neg.f64 eps)))
(fma.f64 eps (neg.f64 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18))) (*.f64 x x))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2))))
(+.f64 (fma.f64 eps (*.f64 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18)) -1) (*.f64 x x)) (*.f64 (*.f64 eps eps) (fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)) -1/9) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) 1/9))))
(fma.f64 eps (*.f64 -1 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18))) (fma.f64 x x (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)) (*.f64 -1/9 (cbrt.f64 (*.f64 x x))))))))
(fma.f64 eps (neg.f64 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18))) (fma.f64 (*.f64 eps eps) (fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) -1/9)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)))) (*.f64 x x)))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9))) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 1 (pow.f64 x 2)))) (*.f64 -2/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))))))))) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2)))))
(+.f64 (fma.f64 eps (*.f64 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18)) -1) (*.f64 x x)) (fma.f64 (pow.f64 eps 3) (fma.f64 -1/3 (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)) -1/9) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (+.f64 (*.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 x 4)))) (fma.f64 -1/3 (*.f64 1 (fma.f64 -1/27 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) (*.f64 2/9 (cbrt.f64 (/.f64 1 (pow.f64 x 4)))))) (*.f64 (cbrt.f64 (*.f64 x x)) (fma.f64 2/27 (/.f64 1 (*.f64 x x)) (*.f64 -2/3 (*.f64 (fma.f64 -1/27 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) (*.f64 2/9 (cbrt.f64 (/.f64 1 (pow.f64 x 4))))) (cbrt.f64 (/.f64 1 (*.f64 x x)))))))))) (*.f64 (*.f64 eps eps) (fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)) -1/9) (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) 1/9)))))
(fma.f64 eps (*.f64 -1 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18))) (fma.f64 x x (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)) 1/9 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)) (*.f64 -1/9 (cbrt.f64 (*.f64 x x))))) (*.f64 (pow.f64 eps 3) (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18)) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))) (fma.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) 5/27) (*.f64 (cbrt.f64 (*.f64 x x)) (fma.f64 -2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) 5/27) (cbrt.f64 (/.f64 1 (*.f64 x x)))) (/.f64 2/27 (*.f64 x x)))))))))))
(fma.f64 eps (neg.f64 (*.f64 (pow.f64 (pow.f64 x 8) 1/18) (pow.f64 (pow.f64 x 8) 1/18))) (fma.f64 x x (*.f64 (*.f64 eps eps) (+.f64 (fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) -1/9)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (*.f64 x x)) 1/18) (pow.f64 (/.f64 1 (*.f64 x x)) 1/18)))) (*.f64 (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/18) -1/9)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (fma.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) (fma.f64 (cbrt.f64 (*.f64 x x)) (fma.f64 -2/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) 5/27) (cbrt.f64 (/.f64 1 (*.f64 x x)))) (/.f64 2/27 (*.f64 x x))) (*.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) 5/27))))) eps)))))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1))
(*.f64 (cbrt.f64 eps) (cbrt.f64 -1))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 -1) 2)))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (*.f64 (*.f64 1/3 (/.f64 x (/.f64 (pow.f64 (cbrt.f64 -1) 2) x))) (cbrt.f64 (/.f64 1 (*.f64 eps eps)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (/.f64 x (pow.f64 (cbrt.f64 -1) 2)) x)) (*.f64 (cbrt.f64 eps) (cbrt.f64 -1)))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2))))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5))) (*.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 -1) 2))))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5))) (*.f64 (*.f64 1/3 (/.f64 x (/.f64 (pow.f64 (cbrt.f64 -1) 2) x))) (cbrt.f64 (/.f64 1 (*.f64 eps eps))))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (/.f64 x (pow.f64 (cbrt.f64 -1) 2)) x)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (*.f64 (pow.f64 x 4) -1/9) (pow.f64 (cbrt.f64 -1) 5)))))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 8)) 1/3) (/.f64 (pow.f64 x 6) (pow.f64 (cbrt.f64 -1) 8)))))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 -1) 2))) (*.f64 5/81 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 8))) (/.f64 (pow.f64 x 6) (pow.f64 (cbrt.f64 -1) 8)))))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (/.f64 x (/.f64 (pow.f64 (cbrt.f64 -1) 2) x))) (*.f64 (*.f64 5/81 (/.f64 (pow.f64 x 6) (pow.f64 (cbrt.f64 -1) 8))) (cbrt.f64 (/.f64 1 (pow.f64 eps 8)))))))
(fma.f64 (cbrt.f64 eps) (cbrt.f64 -1) (fma.f64 -1/9 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 eps eps))) (*.f64 (/.f64 x (pow.f64 (cbrt.f64 -1) 2)) x)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 eps 8))) (*.f64 (/.f64 (pow.f64 x 6) (pow.f64 (cbrt.f64 -1) 8)) 5/81)))))
(pow.f64 (pow.f64 x 2) 1/3)
(cbrt.f64 (*.f64 x x))
(+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))
(+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))))
(fma.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (cbrt.f64 (*.f64 x x)))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9)))))
(fma.f64 -1/9 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18))) (+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))))))
(fma.f64 -1/9 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18))) (fma.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (cbrt.f64 (*.f64 x x))))
(fma.f64 -1/9 (*.f64 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18)) (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18))) (fma.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (cbrt.f64 (*.f64 x x))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 eps 3)) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))))
(fma.f64 -1/9 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18))) (fma.f64 -1/3 (*.f64 (fma.f64 -1/27 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) (*.f64 2/9 (cbrt.f64 (/.f64 1 (pow.f64 x 4))))) (*.f64 (pow.f64 eps 3) (cbrt.f64 (/.f64 1 (pow.f64 x 4))))) (+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18)))))))
(fma.f64 -1/9 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) (*.f64 (pow.f64 eps 3) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) 5/27))) (fma.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (cbrt.f64 (*.f64 x x)))))
(fma.f64 -1/9 (*.f64 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18)) (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/18))) (fma.f64 -1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 x 4))) 5/27) (*.f64 (pow.f64 eps 3) (cbrt.f64 (/.f64 1 (pow.f64 x 4))))) (fma.f64 -1/3 (*.f64 eps (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/18))) (cbrt.f64 (*.f64 x x)))))
(*.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 x (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)))
(+.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 (*.f64 x x) (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 (-.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (/.f64 x -1)) (*.f64 (*.f64 x x) (*.f64 (*.f64 -1 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))) -1/2)))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 (*.f64 x x) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.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 (*.f64 x x) (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)))))))
(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 x x) (*.f64 (*.f64 -1 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))) -1/2))))
(+.f64 (fma.f64 (*.f64 x x) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) x) (fma.f64 (-.f64 (/.f64 1/2 eps) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 -1/2 (sqrt.f64 -1))) (sqrt.f64 -1)))) (pow.f64 x 3) (/.f64 (sqrt.f64 eps) (sqrt.f64 -1))))
(*.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 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 eps eps)))
(+.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 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 3) 1/16) (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))))))
(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 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 3) 1/16) (pow.f64 x 5)))))
(*.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))
(+.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) (pow.f64 x 3)) -1/8)))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 2 (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1/8)))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 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) (pow.f64 x 3)) -1/8) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -2 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 eps eps) -1/8) 2) (*.f64 (pow.f64 eps 4) 1/16)) (*.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 (*.f64 eps eps) (pow.f64 x 3)) -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 -2 (/.f64 (fma.f64 (pow.f64 eps 4) 1/16 (*.f64 (pow.f64 eps 4) 1/64)) (*.f64 eps (pow.f64 x 5)))))))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 x 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 -1/4 (/.f64 (pow.f64 eps 3) (/.f64 (pow.f64 x 5) -1/8)) (*.f64 -2 (/.f64 (/.f64 (*.f64 (pow.f64 eps 4) 5/64) (pow.f64 x 5)) eps)))))))
(*.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 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) (*.f64 eps eps)))
(+.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 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 3) 1/16) (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))))))
(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 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))) (/.f64 (pow.f64 eps 4) (/.f64 (pow.f64 x 7) -5/128))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 3) 1/16) (pow.f64 x 5)))))

localize3.0ms (0%)

Compiler

Compiled 6 to 3 computations (50% saved)

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

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite71.0ms (1%)

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

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

localize21.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series7.0ms (0.1%)

Counts
3 → 54
Calls

18 calls:

TimeVariablePointExpression
1.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
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)))
1.0ms
eps
@-inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))

rewrite98.0ms (1.4%)

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

simplify91.0ms (1.3%)

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
051828
1133828
2369828
31216819
45726819
56781819
67244819
Stop Event
node limit
Counts
237 → 205
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))
x
(*.f64 -1/2 (/.f64 eps x))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 -1/2 (/.f64 eps x))
x
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)))
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 -1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) -1/2)
(/.f64 eps (/.f64 x -1/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))
x
x

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 48 to 9 computations (81.3% saved)

series10.0ms (0.1%)

Counts
2 → 26
Calls

12 calls:

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

rewrite80.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
444×log-prod_binary64
417×fma-def_binary64
296×fma-neg_binary64
287×pow-prod-down_binary64
229×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify63.0ms (0.9%)

Algorithm
egg-herbie
Rules
634×fma-neg_binary64
593×cancel-sign-sub-inv_binary64
411×div-sub_binary64
310×neg-sub0_binary64
294×neg-mul-1_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060513
1170450
2568406
32491387
46123387
Stop Event
node limit
Counts
120 → 114
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 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3)))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) eps))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (+.f64 (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3))))))
(/.f64 eps x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x))
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sqrt.f64 -1) 2)) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (+.f64 (/.f64 eps x) (+.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 eps 2)) (pow.f64 x 3)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 eps 5)))))))
(/.f64 eps x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x))
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sqrt.f64 -1) 2)) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (+.f64 (/.f64 eps x) (+.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 eps 2)) (pow.f64 x 3)) (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 5)) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)))))))
(/.f64 eps x)
(*.f64 (sqrt.f64 eps) (sqrt.f64 -1))
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
x
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
x
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
x
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)) x)
(+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (+.f64 (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3)))))
(fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps) (fma.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 -1) 3)))))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (-.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x -1) (/.f64 x (sqrt.f64 -1)))) (/.f64 x -1)))
(+.f64 x (fma.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 x (/.f64 (neg.f64 (sqrt.f64 -1)) x)) (/.f64 (sqrt.f64 eps) (sqrt.f64 -1))))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 (neg.f64 x) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 x (sqrt.f64 -1))) x))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 (pow.f64 (sqrt.f64 -1) 4) eps))) (+.f64 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps)) (+.f64 (*.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2))) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (pow.f64 x 2) (pow.f64 (sqrt.f64 -1) 3))))))
(fma.f64 -1 (/.f64 (pow.f64 x 3) (*.f64 eps (pow.f64 (sqrt.f64 -1) 4))) (fma.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 eps) (fma.f64 -1 (/.f64 x (pow.f64 (sqrt.f64 -1) 2)) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (*.f64 x x) (pow.f64 (sqrt.f64 -1) 3))))))
(-.f64 (+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (-.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (/.f64 x -1) (/.f64 x (sqrt.f64 -1)))) (/.f64 x -1))) (/.f64 (pow.f64 x 3) (*.f64 1 eps)))
(+.f64 x (-.f64 (fma.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 x (/.f64 (neg.f64 (sqrt.f64 -1)) x)) (/.f64 (sqrt.f64 eps) (sqrt.f64 -1))) (/.f64 (pow.f64 x 3) eps)))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (+.f64 x (*.f64 (*.f64 x x) (-.f64 (/.f64 (sqrt.f64 (/.f64 1 eps)) (neg.f64 (sqrt.f64 -1))) (/.f64 x eps)))))
(/.f64 eps x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x))
(fma.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 eps x))
(-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.f64 (/.f64 eps x) (*.f64 (/.f64 (pow.f64 eps 3/2) (*.f64 x x)) (sqrt.f64 -1)))
(fma.f64 (/.f64 (sqrt.f64 -1) (*.f64 x x)) (neg.f64 (pow.f64 eps 3/2)) (/.f64 eps x))
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sqrt.f64 -1) 2)) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x)))
(+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 eps x)) (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 eps eps)) (pow.f64 x 3)))
(+.f64 (/.f64 eps x) (-.f64 (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x)))))
(-.f64 (fma.f64 (/.f64 -1 (pow.f64 x 3)) (*.f64 eps eps) (/.f64 eps x)) (*.f64 (/.f64 (pow.f64 eps 3/2) (*.f64 x x)) (sqrt.f64 -1)))
(-.f64 (/.f64 eps x) (fma.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x)) (/.f64 (*.f64 eps eps) (pow.f64 x 3))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (+.f64 (/.f64 eps x) (+.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 eps 2)) (pow.f64 x 3)) (*.f64 -1 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 eps 5)))))))
(+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 eps x)) (+.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 eps eps)) (pow.f64 x 3)) (neg.f64 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 eps 5))))))
(+.f64 (-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x)))) (-.f64 (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1) (/.f64 (*.f64 (sqrt.f64 -1) (neg.f64 (fabs.f64 (pow.f64 eps 5/2)))) (pow.f64 x 4))))
(-.f64 (fma.f64 (pow.f64 eps 5/2) (/.f64 1 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (/.f64 -1 (pow.f64 x 3)) (*.f64 eps eps) (/.f64 eps x))) (*.f64 (/.f64 (pow.f64 eps 3/2) (*.f64 x x)) (sqrt.f64 -1)))
(-.f64 (fma.f64 (pow.f64 eps 5/2) (/.f64 (sqrt.f64 -1) (pow.f64 x 4)) (/.f64 eps x)) (fma.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x)) (/.f64 (*.f64 eps eps) (pow.f64 x 3))))
(/.f64 eps x)
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x))
(fma.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 eps x))
(-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.f64 (/.f64 eps x) (*.f64 (/.f64 (pow.f64 eps 3/2) (*.f64 x x)) (sqrt.f64 -1)))
(fma.f64 (/.f64 (sqrt.f64 -1) (*.f64 x x)) (neg.f64 (pow.f64 eps 3/2)) (/.f64 eps x))
(+.f64 (/.f64 (*.f64 (pow.f64 eps 2) (pow.f64 (sqrt.f64 -1) 2)) (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (/.f64 eps x)))
(+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 eps x)) (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 eps eps)) (pow.f64 x 3)))
(+.f64 (/.f64 eps x) (-.f64 (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x)))))
(-.f64 (fma.f64 (/.f64 -1 (pow.f64 x 3)) (*.f64 eps eps) (/.f64 eps x)) (*.f64 (/.f64 (pow.f64 eps 3/2) (*.f64 x x)) (sqrt.f64 -1)))
(-.f64 (/.f64 eps x) (fma.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x)) (/.f64 (*.f64 eps eps) (pow.f64 x 3))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (pow.f64 x 2)))) (+.f64 (/.f64 eps x) (+.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 eps 2)) (pow.f64 x 3)) (*.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 5)) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)))))))
(+.f64 (fma.f64 -1 (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 eps x)) (+.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (*.f64 eps eps)) (pow.f64 x 3)) (neg.f64 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 x 4)) (sqrt.f64 (pow.f64 eps 5))))))
(+.f64 (-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x)))) (-.f64 (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1) (/.f64 (*.f64 (sqrt.f64 -1) (neg.f64 (fabs.f64 (pow.f64 eps 5/2)))) (pow.f64 x 4))))
(-.f64 (fma.f64 (pow.f64 eps 5/2) (/.f64 1 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) (fma.f64 (/.f64 -1 (pow.f64 x 3)) (*.f64 eps eps) (/.f64 eps x))) (*.f64 (/.f64 (pow.f64 eps 3/2) (*.f64 x x)) (sqrt.f64 -1)))
(-.f64 (fma.f64 (pow.f64 eps 5/2) (/.f64 (sqrt.f64 -1) (pow.f64 x 4)) (/.f64 eps x)) (fma.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x)) (/.f64 (*.f64 eps eps) (pow.f64 x 3))))
(/.f64 eps x)
(*.f64 (sqrt.f64 eps) (sqrt.f64 -1))
(*.f64 (sqrt.f64 -1) (sqrt.f64 eps))
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
x
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
x
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
(+.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 -1)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 -1) x)
(fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) x)
x

eval432.0ms (6.1%)

Compiler

Compiled 18708 to 7068 computations (62.2% saved)

prune195.0ms (2.7%)

Pruning

19 alts after pruning (10 fresh and 9 done)

PrunedKeptTotal
New7347741
Fresh134
Picked011
Done2810
Total73719756
Error
0b
Counts
756 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
25.6b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
38.9b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
59.0b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
37.6b
(*.f64 1/2 (/.f64 eps x))
60.9b
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
60.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 eps (/.f64 -1/2 x)))
60.5b
(*.f64 -2 x)
37.7b
(*.f64 (/.f64 1/2 x) eps)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
60.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (*.f64 -1/2 (/.f64 eps x)))
36.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
23.8b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
0.8b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
22.3b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.4b
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 1 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))
41.6b
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
56.9b
(/.f64 eps x)
37.6b
(/.f64 1/2 (/.f64 x eps))
36.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
Compiler

Compiled 394 to 236 computations (40.1% saved)

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

series2.0ms (0%)

Counts
1 → 13
Calls

6 calls:

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

rewrite54.0ms (0.8%)

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

simplify20.0ms (0.3%)

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

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize97.0ms (1.4%)

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)

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

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

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 30 to 17 computations (43.3% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.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
eps
@-inf
(-.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
x
@inf
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)

rewrite233.0ms (3.3%)

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
0913
12037
228447
Stop Event
node limit
Counts
1 → 119
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
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)))))

simplify12.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
06168
19168
213168
317168
418168
Stop Event
saturated
Counts
143 → 119
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))

localize22.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 47 to 15 computations (68.1% saved)

series36.0ms (0.5%)

Counts
2 → 48
Calls

12 calls:

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

rewrite216.0ms (3%)

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

Useful iterations: 1 (0.0ms)

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

simplify183.0ms (2.6%)

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
08264
112264
216264
320264
421264
Stop Event
saturated
Counts
130 → 85
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))
(*.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 -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))
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)
(*.f64 -2 x)
(*.f64 x -2)

eval148.0ms (2.1%)

Compiler

Compiled 3373 to 1815 computations (46.2% saved)

prune58.0ms (0.8%)

Pruning

24 alts after pruning (11 fresh and 13 done)

PrunedKeptTotal
New2597266
Fresh145
Picked101
Done01313
Total26124285
Error
0b
Counts
285 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
22.3b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
60.5b
(neg.f64 (/.f64 eps (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
25.6b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
38.9b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
59.0b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
37.6b
(*.f64 1/2 (/.f64 eps x))
60.9b
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
60.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 (*.f64 eps -1/2) x))
60.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 1 (/.f64 x (*.f64 eps -1/2))))
41.6b
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
60.9b
(*.f64 (/.f64 1 eps) (/.f64 eps (/.f64 -1/2 x)))
56.9b
(/.f64 eps x)
60.5b
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
60.5b
(*.f64 -2 x)
37.7b
(*.f64 (/.f64 1/2 x) eps)
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
60.5b
(*.f64 (/.f64 (*.f64 x -2) eps) eps)
36.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
23.8b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
0.8b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
0.4b
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 1 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))
37.6b
(/.f64 1/2 (/.f64 x eps))
36.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x)))
61.7b
x
Compiler

Compiled 317 to 192 computations (39.4% saved)

regimes84.0ms (1.2%)

Counts
29 → 1
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(/.f64 eps x)
(*.f64 x 2)
(-.f64 x x)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 (*.f64 x -2) eps) eps)
(neg.f64 (/.f64 eps (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.f64 (/.f64 1 eps) (/.f64 eps (/.f64 -1/2 x)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.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 (*.f64 eps -1/2) 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 1 (/.f64 x (*.f64 eps -1/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 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) 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 (neg.f64 eps))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (/.f64 1 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))))
(*.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (*.f64 x x) eps)) 3))))
Outputs
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
Calls

3 calls:

40.0ms
x
19.0ms
eps
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 328 to 127 computations (61.3% saved)

regimes247.0ms (3.5%)

Counts
25 → 2
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(/.f64 eps x)
(*.f64 x 2)
(-.f64 x x)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 (*.f64 x -2) eps) eps)
(neg.f64 (/.f64 eps (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.f64 (/.f64 1 eps) (/.f64 eps (/.f64 -1/2 x)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.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 (*.f64 eps -1/2) 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 1 (/.f64 x (*.f64 eps -1/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 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) 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 (neg.f64 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:

111.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
76.0ms
x
52.0ms
eps
Results
ErrorSegmentsBranch
5.8b2x
10.5b2eps
0.5b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 246 to 105 computations (57.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.248262158298355e-152
-8.215063690446345e-153
Compiler

Compiled 15 to 10 computations (33.3% saved)

regimes271.0ms (3.8%)

Counts
23 → 2
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(/.f64 eps x)
(*.f64 x 2)
(-.f64 x x)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 (*.f64 x -2) eps) eps)
(neg.f64 (/.f64 eps (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.f64 (/.f64 1 eps) (/.f64 eps (/.f64 -1/2 x)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.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 (*.f64 eps -1/2) 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 1 (/.f64 x (*.f64 eps -1/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 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) 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:

218.0ms
eps
41.0ms
x
Results
ErrorSegmentsBranch
6.8b2x
12.3b2eps
Compiler

Compiled 213 to 94 computations (55.9% saved)

bsearch59.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
59.0ms
1.0858610229481089e-111
2.718017346592238e-111
Compiler

Compiled 165 to 105 computations (36.4% saved)

regimes43.0ms (0.6%)

Counts
22 → 1
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(/.f64 eps x)
(*.f64 x 2)
(-.f64 x x)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 (*.f64 x -2) eps) eps)
(neg.f64 (/.f64 eps (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.f64 (/.f64 1 eps) (/.f64 eps (/.f64 -1/2 x)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.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 (*.f64 eps -1/2) 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 1 (/.f64 x (*.f64 eps -1/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 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) 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:

22.0ms
x
14.0ms
eps
Results
ErrorSegmentsBranch
36.7b1x
36.7b1eps
Compiler

Compiled 208 to 92 computations (55.8% saved)

regimes90.0ms (1.3%)

Counts
20 → 1
Calls
Call 1
Inputs
x
(*.f64 -2 x)
(/.f64 eps x)
(*.f64 x 2)
(-.f64 x x)
(*.f64 (/.f64 1/2 x) eps)
(/.f64 1/2 (/.f64 x eps))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 (*.f64 x -2) eps) eps)
(neg.f64 (/.f64 eps (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.f64 (/.f64 1 eps) (/.f64 eps (/.f64 -1/2 x)))
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
(*.f64 (neg.f64 eps) (/.f64 1 (*.f64 (/.f64 -1/2 x) (neg.f64 eps))))
(*.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 (*.f64 eps -1/2) 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 1 (/.f64 x (*.f64 eps -1/2))))
Outputs
(*.f64 1/2 (/.f64 eps x))
Calls

2 calls:

54.0ms
eps
31.0ms
x
Results
ErrorSegmentsBranch
37.6b1x
37.6b1eps
Compiler

Compiled 170 to 81 computations (52.4% saved)

regimes15.0ms (0.2%)

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

2 calls:

6.0ms
eps
5.0ms
x
Results
ErrorSegmentsBranch
37.6b1x
37.6b1eps
Compiler

Compiled 36 to 21 computations (41.7% saved)

regimes16.0ms (0.2%)

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

2 calls:

10.0ms
eps
5.0ms
x
Results
ErrorSegmentsBranch
37.7b1x
37.7b1eps
Compiler

Compiled 26 to 15 computations (42.3% saved)

regimes12.0ms (0.2%)

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

2 calls:

6.0ms
eps
5.0ms
x
Results
ErrorSegmentsBranch
56.9b1x
56.9b1eps
Compiler

Compiled 21 to 12 computations (42.9% saved)

regimes9.0ms (0.1%)

Accuracy

Total -1.7b remaining (-2.9%)

Threshold costs -1.7b (-2.9%)

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

2 calls:

5.0ms
eps
3.0ms
x
Results
ErrorSegmentsBranch
60.5b1x
60.5b1eps
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify12.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
036184
158184
273184
382184
486184
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))) -4717453031026927/471745303102692669030194322623533611364615152552055053547025787530703020299018606510765840647207345942683546878845480612471323078740599079070179281429087005456174415872) (-.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 186153360811334/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.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 eps x)
(*.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))) -4717453031026927/471745303102692669030194322623533611364615152552055053547025787530703020299018606510765840647207345942683546878845480612471323078740599079070179281429087005456174415872) (-.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))) -4717453031026927/471745303102692669030194322623533611364615152552055053547025787530703020299018606510765840647207345942683546878845480612471323078740599079070179281429087005456174415872) (-.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 186153360811334/169230328010303641331690318856389386196071598838855992136870091590247882556495704531248437872567112920983350278405979725889536) (-.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 93076680405667/84615164005151820665845159428194693098035799419427996068435045795123941278247852265624218936283556460491675139202989862944768) (-.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 eps x)
(*.f64 -2 x)
(*.f64 x -2)
x
Compiler

Compiled 145 to 81 computations (44.1% saved)

soundness0.0ms (0%)

end76.0ms (1.1%)

Compiler

Compiled 127 to 48 computations (62.2% saved)

Profiling

Loading profile data...