Details

Time bar (total: 6.5s)

analyze40.0ms (0.6%)

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.3s (20.5%)

Results
674.0ms5914×body256valid
365.0ms1164×body1024valid
249.0ms1145×body512valid
18.0ms175×body256invalid
12.0ms33×body2048valid

preprocess36.0ms (0.5%)

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)

simplify19.0ms (0.3%)

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

Compiled 26 to 6 computations (76.9% saved)

series12.0ms (0.2%)

Counts
3 → 56
Calls

18 calls:

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

rewrite90.0ms (1.4%)

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

simplify77.0ms (1.2%)

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

eval44.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
0b
Counts
152 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
25.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
39.2b
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
59.9b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
37.2b
(*.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.3b
(-.f64 x x)
61.8b
(*.f64 x 2)
22.9b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.4b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))
Compiler

Compiled 194 to 114 computations (41.2% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

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

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

simplify66.0ms (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)

localize5.0ms (0.1%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

localize16.0ms (0.2%)

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

rewrite95.0ms (1.4%)

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

simplify116.0ms (1.8%)

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

localize51.0ms (0.8%)

Local error

Found 4 expressions with local error:

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

Compiled 81 to 12 computations (85.2% saved)

series7.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

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

rewrite134.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
776×fma-def_binary64
586×log-prod_binary64
315×fma-neg_binary64
218×egg-rr
208×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01239
130127
2457425
Stop Event
node limit
Counts
2 → 256
Calls
Call 1
Inputs
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (+.f64 (-.f64 (*.f64 x x) (*.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 (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 (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 (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 (-.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 1 (-.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 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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)) (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 -1 (/.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))))) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (/.f64 1 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1) (pow.f64 (/.f64 1 (sqrt.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)) (/.f64 (cbrt.f64 eps) (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 eps) (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (/.f64 (sqrt.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 *.f64 (/.f64 1 (neg.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 1) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(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 (-.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)))) 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 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 (neg.f64 (log.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1))))) (#(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 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 (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 (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 (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 (-.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 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 (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 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 (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 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 (-.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 (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 (*.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 (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)) (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))))) (cbrt.f64 (pow.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))))) (cbrt.f64 (pow.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 (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)) (*.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))))) (cbrt.f64 (pow.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 (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 (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 (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 (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 (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 (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 (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 (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))) (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 (-.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 (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 (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 (-.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 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 (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 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 -1 (/.f64 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 -1 (/.f64 1 (/.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 (/.f64 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 -1 (/.f64 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 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 (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 (*.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 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (/.f64 1 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 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (/.f64 1 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 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (/.f64 1 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 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (/.f64 1 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 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (/.f64 1 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 (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 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 1 (-.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 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 1 (-.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 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 1 (-.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 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 1 (-.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 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2) -1) (pow.f64 (cbrt.f64 (/.f64 1 (-.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 (pow.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1) (pow.f64 (/.f64 1 (sqrt.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 (pow.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1) (pow.f64 (/.f64 1 (sqrt.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 (pow.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1) (pow.f64 (/.f64 1 (sqrt.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 (pow.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1) (pow.f64 (/.f64 1 (sqrt.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 (pow.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) -1) (pow.f64 (/.f64 1 (sqrt.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 (/.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 (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) 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 (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))))) (*.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 (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 (-.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 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)))))) (*.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 (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)))))) (*.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) (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2)) (/.f64 (cbrt.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 (pow.f64 (cbrt.f64 eps) 2) (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2)) (/.f64 (cbrt.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 (pow.f64 (cbrt.f64 eps) 2) (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2)) (/.f64 (cbrt.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)) (/.f64 (cbrt.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 (pow.f64 (cbrt.f64 eps) 2) (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2)) (/.f64 (cbrt.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 (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 (-.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 (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)))))) (*.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) (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)))))) (*.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 (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 (-.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 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)))))) (*.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 (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)))))) (*.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 (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)))))) (*.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 (sqrt.f64 eps) (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (/.f64 (sqrt.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 (sqrt.f64 eps) (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (/.f64 (sqrt.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 (sqrt.f64 eps) (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (/.f64 (sqrt.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 eps) (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (/.f64 (sqrt.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 (sqrt.f64 eps) (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (/.f64 (sqrt.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 (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 (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) (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 (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)) (*.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) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4)) (-.f64 (sqrt.f64 x) (pow.f64 (-.f64 (*.f64 x x) eps) 1/4)) (*.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 (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)))) (*.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 (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))))) (*.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 1 (neg.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (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 (neg.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (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 (neg.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (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 (neg.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (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 (neg.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (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 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 1) 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))))) 1) 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))))) 1) 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 (/.f64 1 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 1) 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))))) 1) 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))))) (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 (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 (/.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 (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 (/.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 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))) (/.f64 1 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 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2) (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2) (*.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (/.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) (/.f64 1 (sqrt.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))))) (*.f64 (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (/.f64 1 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (/.f64 1 (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 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2) 1) (/.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 1) (/.f64 (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (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 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2) (pow.f64 (cbrt.f64 eps) 2)) (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (pow.f64 (cbrt.f64 eps) 2)) (/.f64 (sqrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (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 (/.f64 (pow.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) 2) (sqrt.f64 eps)) (/.f64 (cbrt.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps))))) (sqrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.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 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 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 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 (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 (cbrt.f64 (/.f64 1 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (sqrt.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1 (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 cbrt.f64 (/.f64 (pow.f64 (+.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 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 (neg.f64 (log.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))))) 1))))))

simplify99.0ms (1.5%)

Algorithm
egg-herbie
Rules
758×fma-def_binary64
501×cancel-sign-sub-inv_binary64
427×fma-neg_binary64
361×times-frac_binary64
350×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0149995
1446858
21489810
36377792
Stop Event
node limit
Counts
288 → 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 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)))
(+.f64 (/.f64 x eps) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps))))
(+.f64 (/.f64 x eps) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 x 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)))))
(+.f64 (/.f64 x eps) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 x 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps))))))
(*.f64 2 (/.f64 x eps))
(-.f64 (*.f64 2 (/.f64 x eps)) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 2 (/.f64 x eps))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))) (+.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 1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 1 x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/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 7)))))))
(*.f64 2 (/.f64 x eps))
(-.f64 (*.f64 2 (/.f64 x eps)) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 2 (/.f64 x eps))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 x eps)) (*.f64 -1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5))))) (*.f64 1/2 (/.f64 1 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)) (*.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 (/.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) 1/2) (*.f64 x x) (/.f64 x -1)))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 x (*.f64 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 (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 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps 1/8))))
(+.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/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 (*.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 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3)))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (fma.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3)))))
(*.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 (/.f64 eps (pow.f64 x 3)) eps) -1/8 (fma.f64 x 2 (*.f64 (/.f64 eps x) -1/2)))
(+.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 (/.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 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 eps 1/8))))
(+.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/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 (*.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 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3)))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (fma.f64 5/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 (/.f64 1/16 (pow.f64 x 5)) (pow.f64 eps 3)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)))
(+.f64 (/.f64 x eps) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps))))
(+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps))) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(+.f64 (/.f64 x eps) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 x 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)))))
(+.f64 (/.f64 x eps) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)))))
(+.f64 (fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/2 (/.f64 x (/.f64 (sqrt.f64 -1) x)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (/.f64 1/2 (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 x eps)))
(+.f64 (/.f64 x eps) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 x 2) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps))))))
(+.f64 (/.f64 x eps) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (pow.f64 (sqrt.f64 -1) 3))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps))))))
(+.f64 (/.f64 x eps) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (pow.f64 x 4) (*.f64 -1 (sqrt.f64 -1)))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 1/2 (/.f64 x (/.f64 (sqrt.f64 -1) x)))))))
(+.f64 (fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (/.f64 1/2 (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 x eps))) (*.f64 1/8 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 5))) (/.f64 (sqrt.f64 -1) (pow.f64 x 4)))))
(*.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/8 (/.f64 eps (pow.f64 x 3))) (*.f64 2 (/.f64 x eps))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (*.f64 2 (/.f64 x eps))) (/.f64 1/2 x))
(fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 2 (/.f64 x eps) (/.f64 -1/2 x)))
(fma.f64 2 (/.f64 x eps) (fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 -1/2 x)))
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))) (+.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 -1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 2 (/.f64 x eps) (*.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)) (+.f64 (/.f64 (*.f64 (*.f64 eps eps) -1/16) (pow.f64 x 5)) (fma.f64 2 (/.f64 x eps) (/.f64 -1/2 x))))
(fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 2 (/.f64 x eps) (fma.f64 -1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) 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)))))
(fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (+.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)) (fma.f64 1/16 (/.f64 eps (/.f64 (pow.f64 x 5) eps)) (/.f64 1/2 x)))
(fma.f64 1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) eps) (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 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 5))) (*.f64 1/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 7)))))))
(+.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) (fma.f64 1/16 (/.f64 (*.f64 eps eps) (pow.f64 x 5)) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 eps eps) -1/8) 2) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 eps (pow.f64 x 7))))))
(+.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) (fma.f64 1/2 (/.f64 (fma.f64 1/16 (pow.f64 eps 4) (*.f64 (pow.f64 eps 4) 1/64)) (*.f64 eps (pow.f64 x 7))) (*.f64 1/16 (/.f64 eps (/.f64 (pow.f64 x 5) eps)))))
(+.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) (fma.f64 1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) eps) (/.f64 (*.f64 (pow.f64 eps 4) 5/128) (*.f64 eps (pow.f64 x 7)))))
(*.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/8 (/.f64 eps (pow.f64 x 3))) (*.f64 2 (/.f64 x eps))) (*.f64 1/2 (/.f64 1 x)))
(-.f64 (fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (*.f64 2 (/.f64 x eps))) (/.f64 1/2 x))
(fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 2 (/.f64 x eps) (/.f64 -1/2 x)))
(fma.f64 2 (/.f64 x eps) (fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 -1/2 x)))
(-.f64 (+.f64 (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))) (+.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 -1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 2 (/.f64 x eps) (*.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)) (+.f64 (/.f64 (*.f64 (*.f64 eps eps) -1/16) (pow.f64 x 5)) (fma.f64 2 (/.f64 x eps) (/.f64 -1/2 x))))
(fma.f64 -1/8 (/.f64 eps (pow.f64 x 3)) (fma.f64 2 (/.f64 x eps) (fma.f64 -1/16 (*.f64 (/.f64 eps (pow.f64 x 5)) eps) (/.f64 -1/2 x))))

eval461.0ms (7%)

Compiler

Compiled 21305 to 7341 computations (65.5% saved)

prune245.0ms (3.7%)

Pruning

14 alts after pruning (9 fresh and 5 done)

PrunedKeptTotal
New8716877
Fresh033
Picked011
Done145
Total87214886
Error
0b
Counts
886 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
59.9b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
37.2b
(*.f64 1/2 (/.f64 eps x))
23.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
61.3b
(-.f64 x x)
0.4b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))
37.1b
(/.f64 1 (-.f64 (*.f64 2 (/.f64 x eps)) (*.f64 1/2 (/.f64 1 x))))
61.8b
(*.f64 x 2)
23.8b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (neg.f64 eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))
22.9b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
37.0b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
25.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
37.3b
(*.f64 eps (/.f64 1/2 x))
37.3b
(/.f64 1 (*.f64 2 (/.f64 x eps)))
Compiler

Compiled 286 to 175 computations (38.8% saved)

localize27.0ms (0.4%)

Local error

Found 2 expressions with local error:

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

series27.0ms (0.4%)

Counts
2 → 26
Calls

12 calls:

TimeVariablePointExpression
7.0ms
eps
@0
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
6.0ms
eps
@-inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
4.0ms
eps
@inf
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
3.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))))

rewrite88.0ms (1.3%)

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

simplify114.0ms (1.7%)

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

localize6.0ms (0.1%)

Compiler

Compiled 6 to 3 computations (50% saved)

localize14.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 11 computations (47.6% saved)

series7.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite97.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
809×pow1_binary64
751×add-log-exp_binary64
751×log1p-expm1-u_binary64
751×expm1-log1p-u_binary64
736×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087
11697
220977
Stop Event
node limit
Counts
1 → 26
Calls
Call 1
Inputs
(/.f64 1 (*.f64 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 (*.f64 1/2 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 eps x)) 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 1/2 (/.f64 eps x))) (sqrt.f64 (*.f64 1/2 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 (/.f64 x eps) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (pow.f64 (/.f64 x eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 x eps) -1) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 x eps))) 2) -1) (pow.f64 (cbrt.f64 (*.f64 2 (/.f64 x eps))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 2 (/.f64 x eps))) -1) (pow.f64 (sqrt.f64 (*.f64 2 (/.f64 x eps))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 2 x)) eps)))) (#(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 pow.f64 (*.f64 2 (/.f64 x eps)) -1)))) (#(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 (/.f64 1/4 (pow.f64 (/.f64 x eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.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))))))))

simplify20.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

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

localize66.0ms (1%)

Local error

Found 2 expressions with local error:

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

Compiled 47 to 30 computations (36.2% saved)

series12.0ms (0.2%)

Counts
2 → 30
Calls

12 calls:

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

rewrite129.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
621×log-prod_binary64
391×fma-def_binary64
330×pow2_binary64
229×pow1/3_binary64
229×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify138.0ms (2.1%)

Algorithm
egg-herbie
Rules
767×associate-/l*_binary64
561×fma-def_binary64
553×associate-+l+_binary64
459×associate-/r*_binary64
332×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051606
1130606
2362606
31210597
45722597
56777597
67240597
Stop Event
node limit
Counts
246 → 234
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 x)
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(/.f64 -1/2 x)
(/.f64 -1/2 x)
Outputs
(*.f64 -2 x)
(+.f64 (*.f64 -8 (/.f64 (pow.f64 x 3) eps)) (*.f64 -2 x))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (*.f64 -2 x))
(fma.f64 -2 x (*.f64 -8 (/.f64 (pow.f64 x 3) eps)))
(fma.f64 (/.f64 -8 eps) (pow.f64 x 3) (*.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)))))
(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 (pow.f64 x 5)) (*.f64 eps eps))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (pow.f64 x 5) (/.f64 (*.f64 eps eps) -32))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 (/.f64 (/.f64 -32 eps) eps) (pow.f64 x 5) (*.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 (pow.f64 x 5)) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -2 x (/.f64 (pow.f64 x 5) (/.f64 (*.f64 eps eps) -32)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 (/.f64 (/.f64 -32 eps) eps) (pow.f64 x 5) (*.f64 -2 x))))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 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 x (/.f64 eps x)))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 3) 1/32) (pow.f64 x 5))))
(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 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 1/8 (/.f64 x (/.f64 eps x))))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 (*.f64 eps 1/32) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 1/128 (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 (*.f64 1/128 (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 x (/.f64 eps x)))))))
(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 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 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 x (/.f64 eps x)))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 3) 1/32) (pow.f64 x 5))))
(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 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 1/8 (/.f64 x (/.f64 eps x))))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 (*.f64 eps 1/32) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 1/128 (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 (*.f64 1/128 (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 x (/.f64 eps x)))))))
(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 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 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 x (/.f64 eps x)))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 (pow.f64 eps 3) 1/32) (pow.f64 x 5))))
(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 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 1/8 (/.f64 x (/.f64 eps x))))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 (*.f64 eps 1/32) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/128 (/.f64 (pow.f64 eps 4) (pow.f64 x 7)) (*.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/32 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 1/128 (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 (*.f64 1/128 (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 x (/.f64 eps x)))))))
(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 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))))
(*.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)))
(fma.f64 (/.f64 -8 eps) (pow.f64 x 3) (*.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)))))
(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 (pow.f64 x 5)) (*.f64 eps eps))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (pow.f64 x 5) (/.f64 (*.f64 eps eps) -32))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 (/.f64 (/.f64 -32 eps) eps) (pow.f64 x 5) (*.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 (pow.f64 x 5)) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -2 x (/.f64 (pow.f64 x 5) (/.f64 (*.f64 eps eps) -32)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 (/.f64 (/.f64 -32 eps) eps) (pow.f64 x 5) (*.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)))
(fma.f64 (/.f64 -8 eps) (pow.f64 x 3) (*.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)))))
(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 (pow.f64 x 5)) (*.f64 eps eps))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (/.f64 (pow.f64 x 5) (/.f64 (*.f64 eps eps) -32))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 (/.f64 (/.f64 -32 eps) eps) (pow.f64 x 5) (*.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 (pow.f64 x 5)) (*.f64 eps eps)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 -2 x (/.f64 (pow.f64 x 5) (/.f64 (*.f64 eps eps) -32)))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -2 x (fma.f64 -32 (/.f64 (pow.f64 x 5) (*.f64 eps eps)) (*.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3))))))
(fma.f64 -8 (/.f64 (pow.f64 x 3) eps) (fma.f64 -128 (/.f64 (pow.f64 x 7) (pow.f64 eps 3)) (fma.f64 (/.f64 (/.f64 -32 eps) eps) (pow.f64 x 5) (*.f64 -2 x))))
(/.f64 -1/2 x)
(*.f64 2 (/.f64 x eps))
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 x (/.f64 2 eps))
(/.f64 -1/2 x)
(/.f64 -1/2 x)

localize12.0ms (0.2%)

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)

series5.0ms (0.1%)

Counts
1 → 13
Calls

6 calls:

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

rewrite85.0ms (1.3%)

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

simplify33.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

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

eval191.0ms (2.9%)

Compiler

Compiled 7491 to 4258 computations (43.2% saved)

prune85.0ms (1.3%)

Pruning

18 alts after pruning (13 fresh and 5 done)

PrunedKeptTotal
New40410414
Fresh134
Picked011
Done549
Total41018428
Error
0b
Counts
428 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
60.6b
(/.f64 1 (/.f64 -1/2 x))
61.8b
x
56.9b
(/.f64 eps x)
37.0b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
37.2b
(*.f64 1/2 (/.f64 eps x))
60.8b
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
59.9b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
23.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
45.5b
(/.f64 1 (/.f64 (-.f64 (*.f64 (*.f64 2 x) x) (*.f64 eps 1/2)) (*.f64 eps x)))
37.3b
(/.f64 1 (*.f64 x (/.f64 2 eps)))
60.6b
(*.f64 -2 x)
23.8b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (neg.f64 eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))
22.9b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
37.1b
(/.f64 1 (+.f64 (/.f64 -1/2 x) (*.f64 2 (/.f64 x eps))))
37.2b
(/.f64 1 (fma.f64 (*.f64 2 x) (/.f64 1 eps) (/.f64 -1/2 x)))
25.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
37.3b
(*.f64 (/.f64 1/2 x) eps)
Compiler

Compiled 342 to 228 computations (33.3% saved)

localize16.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 66 to 12 computations (81.8% saved)

series6.0ms (0.1%)

Counts
2 → 26
Calls

12 calls:

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

rewrite82.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
518×log-prod_binary64
473×fma-def_binary64
298×fma-neg_binary64
264×pow2_binary64
180×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify66.0ms (1%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
061579
1171516
2568472
32489453
46120453
Stop Event
node limit
Counts
178 → 173
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 (/.f64 1 eps)) (sqrt.f64 -1))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(/.f64 x eps)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(/.f64 x eps)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(/.f64 x eps)
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 (*.f64 x x) -1) (sqrt.f64 -1))) (/.f64 x -1)))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (fma.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 x (/.f64 (neg.f64 (sqrt.f64 -1)) x)) x))
(+.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 x -1)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 (/.f64 (*.f64 x x) -1) (sqrt.f64 -1))) (*.f64 -1 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (/.f64 (sqrt.f64 eps) (sqrt.f64 -1)) (-.f64 (fma.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 x (/.f64 (neg.f64 (sqrt.f64 -1)) x)) x) (/.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 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 -1) (/.f64 (pow.f64 eps 3/2) (*.f64 x 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 (pow.f64 (sqrt.f64 -1) 2) (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(+.f64 (-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x)))) (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1))
(-.f64 (fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1 (/.f64 eps x)) (*.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.f64 (/.f64 eps x) (fma.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x)) (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(+.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 (pow.f64 (sqrt.f64 -1) 2) (/.f64 (pow.f64 x 3) (*.f64 eps eps))) (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 (sqrt.f64 (pow.f64 eps 5)))) (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 (*.f64 eps eps) (pow.f64 x 3)) -1 (/.f64 eps x))) (*.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.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 eps (/.f64 (pow.f64 x 3) 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 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 -1) (/.f64 (pow.f64 eps 3/2) (*.f64 x 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 (pow.f64 (sqrt.f64 -1) 2) (/.f64 (pow.f64 x 3) (*.f64 eps eps))))
(+.f64 (-.f64 (/.f64 eps x) (*.f64 (sqrt.f64 (pow.f64 eps 3)) (/.f64 (sqrt.f64 -1) (*.f64 x x)))) (*.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1))
(-.f64 (fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) -1 (/.f64 eps x)) (*.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.f64 (/.f64 eps x) (fma.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x)) (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(+.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 (pow.f64 (sqrt.f64 -1) 2) (/.f64 (pow.f64 x 3) (*.f64 eps eps))) (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 (sqrt.f64 (pow.f64 eps 5)))) (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 (*.f64 eps eps) (pow.f64 x 3)) -1 (/.f64 eps x))) (*.f64 (pow.f64 eps 3/2) (/.f64 (sqrt.f64 -1) (*.f64 x x))))
(-.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 eps (/.f64 (pow.f64 x 3) eps))))
(/.f64 eps x)
(*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1))
(*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(/.f64 x eps)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(/.f64 x eps)
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1)) (/.f64 x eps))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (sqrt.f64 -1) (/.f64 x eps))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 eps)) (/.f64 x eps))
(/.f64 x eps)

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 8 computations (38.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite52.0ms (0.8%)

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

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

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series5.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

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

rewrite71.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
785×pow1_binary64
727×add-log-exp_binary64
727×log1p-expm1-u_binary64
727×expm1-log1p-u_binary64
712×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify16.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
09336
115336
221336
329336
431336
Stop Event
saturated
Counts
103 → 59
Calls
Call 1
Inputs
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 2 (/.f64 x eps))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.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 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 2 (/.f64 x eps))
(*.f64 (/.f64 2 eps) x)
(*.f64 x (/.f64 2 eps))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
2.9b
(-.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
1.0ms
eps
@inf
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
0.0ms
eps
@0
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
0.0ms
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)

rewrite64.0ms (1%)

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

Useful iterations: 1 (0.0ms)

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

eval124.0ms (1.9%)

Compiler

Compiled 6291 to 2993 computations (52.4% saved)

prune98.0ms (1.5%)

Pruning

22 alts after pruning (12 fresh and 10 done)

PrunedKeptTotal
New4244428
Fresh088
Picked011
Done099
Total42422446
Error
0b
Counts
446 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(/.f64 1 (/.f64 (-.f64 (*.f64 (*.f64 2 x) x) (*.f64 eps 1/2)) (*.f64 eps x)))
37.2b
(/.f64 1 (/.f64 1 (/.f64 (*.f64 eps 1/2) x)))
60.6b
(/.f64 1 (/.f64 -1/2 x))
61.8b
x
38.4b
(/.f64 1 (-.f64 (+.f64 1 (*.f64 x (/.f64 2 eps))) 1))
23.8b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (neg.f64 eps))) (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps)))
56.9b
(/.f64 eps x)
37.0b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
56.9b
(/.f64 1 (/.f64 x eps))
37.2b
(*.f64 1/2 (/.f64 eps x))
60.8b
(-.f64 (+.f64 1 (*.f64 1/2 (/.f64 eps x))) 1)
59.9b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
23.7b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
37.3b
(/.f64 1/2 (/.f64 x eps))
37.3b
(/.f64 1 (*.f64 x (/.f64 2 eps)))
60.6b
(*.f64 -2 x)
22.9b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
37.1b
(/.f64 1 (+.f64 (/.f64 -1/2 x) (*.f64 2 (/.f64 x eps))))
37.2b
(/.f64 1 (fma.f64 (*.f64 2 x) (/.f64 1 eps) (/.f64 -1/2 x)))
25.2b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
37.3b
(*.f64 (/.f64 1/2 x) eps)
Compiler

Compiled 241 to 162 computations (32.8% saved)

regimes143.0ms (2.2%)

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

3 calls:

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

Compiled 279 to 135 computations (51.6% saved)

regimes515.0ms (7.9%)

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

3 calls:

288.0ms
x
181.0ms
eps
38.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Results
ErrorSegmentsBranch
5.9b6x
9.4b2eps
0.4b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 241 to 130 computations (46.1% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-2.4805032603427483e-154
0.0
Compiler

Compiled 15 to 10 computations (33.3% saved)

regimes225.0ms (3.4%)

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

2 calls:

140.0ms
x
73.0ms
eps
Results
ErrorSegmentsBranch
6.5b6x
10.5b2eps
Compiler

Compiled 179 to 107 computations (40.2% saved)

bsearch479.0ms (7.3%)

Algorithm
binary-search
Steps
TimeLeftRight
39.0ms
3.10015178853059e-35
3.3074123211339633e-34
37.0ms
3.0160653848447498e-40
8.378038992091419e-40
177.0ms
4.235891610793166e-87
1.401207925803421e-83
164.0ms
6.613930900285591e-102
1.467895235195642e-99
62.0ms
7.083063768451469e-115
2.1477079663958382e-114
Compiler

Compiled 615 to 370 computations (39.8% saved)

regimes32.0ms (0.5%)

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

2 calls:

15.0ms
eps
11.0ms
x
Results
ErrorSegmentsBranch
37.0b1x
37.0b1eps
Compiler

Compiled 174 to 104 computations (40.2% saved)

regimes33.0ms (0.5%)

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

2 calls:

14.0ms
x
12.0ms
eps
Results
ErrorSegmentsBranch
37.1b1x
37.1b1eps
Compiler

Compiled 155 to 97 computations (37.4% saved)

regimes26.0ms (0.4%)

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

2 calls:

12.0ms
eps
10.0ms
x
Results
ErrorSegmentsBranch
37.2b1x
37.2b1eps
Compiler

Compiled 103 to 64 computations (37.9% saved)

regimes18.0ms (0.3%)

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

2 calls:

8.0ms
eps
7.0ms
x
Results
ErrorSegmentsBranch
37.3b1x
37.3b1eps
Compiler

Compiled 46 to 27 computations (41.3% saved)

regimes21.0ms (0.3%)

Accuracy

Total -5.4b remaining (-9.4%)

Threshold costs -5.4b (-9.4%)

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

2 calls:

11.0ms
x
8.0ms
eps
Results
ErrorSegmentsBranch
56.9b1x
56.9b1eps
Compiler

Compiled 26 to 15 computations (42.3% saved)

simplify12.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
049285
172285
287285
396285
4100285
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))) -3019169939857233/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))))
(if (<=.f64 x 7985288719067947/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (-.f64 x (sqrt.f64 (neg.f64 eps))) (if (<=.f64 x 7141613623096499/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))) (if (<=.f64 x 4927438432791169/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (-.f64 x (sqrt.f64 (neg.f64 eps))) (if (<=.f64 x 231105337661727/766247770432944429179173513575154591809369561091801088) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))) (if (<=.f64 x 1449880612771771/46768052394588893382517914646921056628989841375232) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))))))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
(/.f64 1 (+.f64 (/.f64 -1/2 x) (*.f64 2 (/.f64 x eps))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 1/2 (/.f64 x eps))
(/.f64 eps 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))) -3019169939857233/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))))
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -3019169939857233/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 x (*.f64 -1/2 (/.f64 eps x))))))
(if (<=.f64 x 7985288719067947/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (-.f64 x (sqrt.f64 (neg.f64 eps))) (if (<=.f64 x 7141613623096499/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))) (if (<=.f64 x 4927438432791169/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (-.f64 x (sqrt.f64 (neg.f64 eps))) (if (<=.f64 x 231105337661727/766247770432944429179173513575154591809369561091801088) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))) (if (<=.f64 x 1449880612771771/46768052394588893382517914646921056628989841375232) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))))))))
(if (<=.f64 x 7985288719067947/11090678776483259438313656736572334813745748301503266300681918322458485231222502492159897624416558312389564843845614287315896631296) (-.f64 x (sqrt.f64 (neg.f64 eps))) (if (<=.f64 x 7141613623096499/4925250774549309901534880012517951725634967408808180833493536675530715221437151326426783281860614455100828498788352) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 x (*.f64 -1/2 (/.f64 eps x))))) (if (<=.f64 x 4927438432791169/1119872371088902105278721140284222139060822748617324767449994550481895935590080472690438746635803557888) (-.f64 x (sqrt.f64 (neg.f64 eps))) (if (<=.f64 x 231105337661727/766247770432944429179173513575154591809369561091801088) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 x (*.f64 -1/2 (/.f64 eps x))))) (if (<=.f64 x 1449880612771771/46768052394588893382517914646921056628989841375232) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 x (*.f64 -1/2 (/.f64 eps x))))))))))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x)))
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (+.f64 x (*.f64 -1/2 (/.f64 eps x)))))
(/.f64 1 (+.f64 (/.f64 -1/2 x) (*.f64 2 (/.f64 x eps))))
(*.f64 1/2 (/.f64 eps x))
(*.f64 (/.f64 eps x) 1/2)
(/.f64 1/2 (/.f64 x eps))
(/.f64 eps x)
x
Compiler

Compiled 210 to 101 computations (51.9% saved)

soundness0.0ms (0%)

end100.0ms (1.5%)

Compiler

Compiled 194 to 69 computations (64.4% saved)

Profiling

Loading profile data...