Details

Time bar (total: 5.4s)

analyze20.0ms (0.4%)

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.8s (33.6%)

Results
771.0ms5899×body256valid
504.0ms1125×body1024valid
436.0ms1186×body512valid
54.0ms169×body256invalid
16.0ms46×body2048valid

preprocess62.0ms (1.2%)

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)

simplify33.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 10 to 6 computations (40% saved)

localize16.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 26 to 6 computations (76.9% saved)

series14.0ms (0.3%)

Counts
2 → 40
Calls

12 calls:

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

rewrite70.0ms (1.3%)

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
0719
116219
2242919
Stop Event
node limit
Counts
2 → 75
Calls
Call 1
Inputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(-.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))))))

simplify67.0ms (1.3%)

Algorithm
egg-herbie
Rules
676×unswap-sqr_binary64
320×fma-def_binary64
311×associate-/l/_binary64
275×distribute-lft-in_binary64
275×distribute-rgt-in_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
085598
1243571
2740561
32994549
44729547
Stop Event
node limit
Counts
115 → 106
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))
Outputs
(*.f64 -1 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(neg.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 eps)))
(*.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)
(fma.f64 (neg.f64 (sqrt.f64 -1)) (sqrt.f64 eps) x)
(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 x (/.f64 (sqrt.f64 -1) x))) x) (*.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 eps) (neg.f64 (sqrt.f64 -1)) x))
(fma.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 -1/2 (*.f64 (/.f64 x (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)))) (+.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 x (/.f64 (sqrt.f64 -1) x))) (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 (sqrt.f64 -1)) x)) (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 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (*.f64 -1/8 (/.f64 (pow.f64 x 4) (sqrt.f64 -1))) x) (fma.f64 (sqrt.f64 -1) (sqrt.f64 eps) (*.f64 (sqrt.f64 (/.f64 1 eps)) (*.f64 (*.f64 (/.f64 x (sqrt.f64 -1)) x) 1/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)))
(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 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/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/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3))))
(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)))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/16 (/.f64 (pow.f64 x 5) eps)))))
(+.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 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3))))
(fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 (pow.f64 eps 4) 5/128) (pow.f64 x 7)))))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.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 x eps)))
(+.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 (pow.f64 x 3) eps)) -1/8)))
(fma.f64 x 2 (fma.f64 -1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (/.f64 -1/8 (pow.f64 x 3)))))
(fma.f64 x 2 (*.f64 (/.f64 eps x) (+.f64 (*.f64 (/.f64 eps (*.f64 x x)) -1/8) -1/2)))
(fma.f64 x 2 (*.f64 eps (+.f64 (/.f64 -1/2 x) (*.f64 (/.f64 -1/8 (pow.f64 x 3)) eps))))
(+.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 -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 (*.f64 x 2))))
(fma.f64 x 2 (fma.f64 -1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 -1/8 (pow.f64 x 3)) (/.f64 -1/16 (/.f64 (pow.f64 x 5) eps))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/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/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 eps (*.f64 eps 1/8)) (pow.f64 x 3))))
(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)))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/16 (/.f64 (pow.f64 x 5) eps)))))
(+.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 eps (*.f64 eps 1/8)) (pow.f64 x 3))) (*.f64 (/.f64 1/2 x) (+.f64 eps (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 1/64 (pow.f64 x 6)) (/.f64 1/16 (pow.f64 x 6)))))))
(+.f64 (*.f64 (*.f64 eps eps) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/16 (/.f64 (pow.f64 x 5) eps)))) (*.f64 (/.f64 1/2 x) (+.f64 eps (*.f64 (pow.f64 eps 4) (+.f64 (/.f64 1/64 (pow.f64 x 6)) (/.f64 1/16 (pow.f64 x 6)))))))
(*.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)

eval33.0ms (0.6%)

Compiler

Compiled 1790 to 766 computations (57.2% saved)

prune38.0ms (0.7%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1015106
Fresh000
Picked011
Done000
Total1016107
Error
0b
Counts
107 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
26.5b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
38.4b
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
61.9b
(*.f64 x 2)
36.0b
(*.f64 1/2 (/.f64 eps x))
24.0b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 118 to 74 computations (37.3% saved)

localize14.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 60 to 9 computations (85% saved)

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

rewrite113.0ms (2.1%)

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

Useful iterations: 2 (0.0ms)

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

simplify95.0ms (1.8%)

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

localize6.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize10.0ms (0.2%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

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

series7.0ms (0.1%)

Counts
1 → 13
Calls

6 calls:

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

rewrite93.0ms (1.7%)

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

simplify36.0ms (0.7%)

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

localize39.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps)))
0.3b
(/.f64 1/8 (/.f64 (pow.f64 x 3) eps))
7.4b
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (pow.f64 x 3) eps))))
7.5b
(/.f64 (pow.f64 x 3) eps)
Compiler

Compiled 49 to 34 computations (30.6% saved)

series29.0ms (0.5%)

Counts
4 → 72
Calls

24 calls:

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

rewrite145.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
691×log-prod_binary64
407×fma-def_binary64
264×log-div_binary64
248×pow1/3_binary64
243×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify118.0ms (2.2%)

Algorithm
egg-herbie
Rules
688×associate-/r*_binary64
682×associate-/l/_binary64
657×associate-*l/_binary64
644×fma-def_binary64
478×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
021954
149954
2114954
3324936
41403900
56369900
67853900
Stop Event
node limit
Counts
295 → 231
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 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)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps))
(*.f64 1/8 (*.f64 eps (/.f64 eps (pow.f64 x 3))))
(*.f64 eps (*.f64 eps (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps))
(*.f64 1/8 (*.f64 eps (/.f64 eps (pow.f64 x 3))))
(*.f64 eps (*.f64 eps (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3)))
(/.f64 (*.f64 1/8 (*.f64 eps eps)) (pow.f64 x 3))
(*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps))
(*.f64 1/8 (*.f64 eps (/.f64 eps (pow.f64 x 3))))
(*.f64 eps (*.f64 eps (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (*.f64 (/.f64 eps x) (/.f64 1/8 x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))

eval246.0ms (4.6%)

Compiler

Compiled 11725 to 5197 computations (55.7% saved)

prune79.0ms (1.5%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New5434547
Fresh000
Picked101
Done145
Total5458553
Error
0b
Counts
553 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
24.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
26.5b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
37.8b
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps)))))
36.1b
(*.f64 eps (/.f64 1/2 x))
36.0b
(*.f64 1/2 (/.f64 eps x))
24.0b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
61.9b
x
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
Compiler

Compiled 90 to 54 computations (40% saved)

localize24.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1/2 x) (/.f64 1/8 (*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps))))
0.3b
(/.f64 1/8 (*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps)))
2.1b
(*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps))
7.4b
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps)))))
Compiler

Compiled 73 to 36 computations (50.7% saved)

series6.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite99.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
744×log-prod_binary64
412×fma-def_binary64
384×log-div_binary64
258×expm1-udef_binary64
258×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01464
132752
2456948
Stop Event
node limit
Counts
4 → 229
Calls
Call 1
Inputs
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps)))))
(*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps))
(/.f64 1/8 (*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps)))
(+.f64 (/.f64 1/2 x) (/.f64 1/8 (*.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (*.f64 x 2)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 eps (*.f64 x 2)) 1) (*.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))) (cbrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 eps (*.f64 x 2)) 3) (pow.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))) 3)) (fma.f64 (/.f64 eps (*.f64 x 2)) (/.f64 eps (*.f64 x 2)) (-.f64 (*.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))) (*.f64 (/.f64 eps (*.f64 x 2)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 eps (*.f64 x 2)) (/.f64 eps (*.f64 x 2))) (*.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))) (-.f64 (/.f64 eps (*.f64 x 2)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) eps) (/.f64 (pow.f64 x 4) eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3))) eps) (-.f64 (fma.f64 1/4 (pow.f64 x -2) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1/16 (/.f64 (pow.f64 x 4) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 1/4 (pow.f64 x -2)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) eps) (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8))) (/.f64 (pow.f64 x 4) eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3)))) (-.f64 (fma.f64 1/4 (pow.f64 x -2) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1/16 (/.f64 (pow.f64 x 4) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (-.f64 (*.f64 1/4 (pow.f64 x -2)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))) (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))) (exp.f64 (/.f64 eps (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (/.f64 1/2 x) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (/.f64 1 x) eps) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 x) eps (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 (*.f64 (*.f64 (/.f64 1 (pow.f64 x 3)) eps) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 eps (*.f64 x 2)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) eps (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 x -2))) (*.f64 (cbrt.f64 (/.f64 1/2 x)) eps) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 eps) (/.f64 1/2 x)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 eps) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) 2) (*.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1/2 x)) (*.f64 (sqrt.f64 (/.f64 1/2 x)) eps) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (/.f64 1/2 x)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (*.f64 (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps (*.f64 x 2)) 1 (*.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 eps (*.f64 x 2))) (cbrt.f64 (/.f64 eps (*.f64 x 2)))) (cbrt.f64 (/.f64 eps (*.f64 x 2))) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))) (cbrt.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))) (cbrt.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 eps (*.f64 x 2))) (sqrt.f64 (/.f64 eps (*.f64 x 2))) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))) (sqrt.f64 (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (/.f64 1/2 x)) (sqrt.f64 eps)) (*.f64 (sqrt.f64 (/.f64 1/2 x)) (sqrt.f64 eps)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 (/.f64 1/2 x))) (*.f64 (sqrt.f64 eps) (sqrt.f64 (/.f64 1/2 x))) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) (*.f64 (sqrt.f64 eps) (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (sqrt.f64 eps)) (*.f64 (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (sqrt.f64 eps)) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps 1/2) (/.f64 1 x) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps 1/8) (*.f64 (/.f64 1 (pow.f64 x 3)) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/2 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/2 x) (sqrt.f64 eps)) (sqrt.f64 eps) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 (*.f64 1/4 (pow.f64 x -2)))) (cbrt.f64 (/.f64 1/2 x)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (/.f64 1/2 x))) (sqrt.f64 (/.f64 1/2 x)) (/.f64 eps (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (pow.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) 2)) (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) (sqrt.f64 eps)) (sqrt.f64 eps) (/.f64 eps (*.f64 x 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 x 3) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps))) (cbrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 x 3) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 (pow.f64 x -2) eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 (/.f64 1 x) (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 (/.f64 eps x) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 x (*.f64 eps (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x x) (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x x) (*.f64 (/.f64 1 x) eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x x) (*.f64 (/.f64 eps x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 1 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (pow.f64 x -2) (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (/.f64 eps x) (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 eps (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 x eps) (pow.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 x 3) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x 3) eps)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 x (cbrt.f64 eps)) 2) (/.f64 1 (/.f64 x (cbrt.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (sqrt.f64 (/.f64 x eps))) (/.f64 1 (*.f64 x (sqrt.f64 (/.f64 x eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 x)) (*.f64 -1 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 x)) (*.f64 (/.f64 1 x) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 x)) (*.f64 (neg.f64 eps) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 x)) (*.f64 (/.f64 eps x) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 x) (*.f64 (pow.f64 x -2) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 x 3)) eps) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 x 3)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (neg.f64 x)) x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (*.f64 x (neg.f64 x))) (*.f64 eps -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) 1) (*.f64 (neg.f64 eps) (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x x) (neg.f64 x)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (neg.f64 x)) (neg.f64 x)) (*.f64 -1 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) (*.f64 x x)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) (*.f64 x x)) (*.f64 (neg.f64 eps) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 x) (*.f64 x (neg.f64 x))) (*.f64 (neg.f64 eps) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (/.f64 x eps)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 x eps) x) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 x 3) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 x 3) (sqrt.f64 eps)) (sqrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x 3) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (cbrt.f64 eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (sqrt.f64 (/.f64 x eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (/.f64 x eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 x eps) 3) (pow.f64 (*.f64 x x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 x 3) eps)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) (cbrt.f64 (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (*.f64 (/.f64 1 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) (pow.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) 2) (/.f64 1/2 (/.f64 x (cbrt.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/8 (/.f64 1 (/.f64 (neg.f64 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (pow.f64 x 3)) eps) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/8 (pow.f64 x -2)) (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/8 (pow.f64 x -2)) x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/8 (pow.f64 x -2)) (neg.f64 x)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/4 (pow.f64 x -2)) (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) (/.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)) (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) (cbrt.f64 (pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 2)) (cbrt.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) (sqrt.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) (/.f64 1 (/.f64 (pow.f64 x 4) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3))) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 x -2) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1/16 (/.f64 (pow.f64 x 4) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/4 (pow.f64 x -2)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1 (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (/.f64 (pow.f64 x 4) eps) (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 1/4 (pow.f64 x -2) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1/16 (/.f64 (pow.f64 x 4) eps))) (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (-.f64 (*.f64 1/4 (pow.f64 x -2)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) (/.f64 (pow.f64 x 4) eps))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3))) (-.f64 (fma.f64 1/4 (pow.f64 x -2) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1/16 (/.f64 (pow.f64 x 4) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3))) (+.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)) (-.f64 (*.f64 1/4 (pow.f64 x -2)) (/.f64 1/16 (/.f64 (pow.f64 x 4) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/4 (pow.f64 x -2)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8))) (neg.f64 (/.f64 (pow.f64 x 4) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3)))) (neg.f64 (-.f64 (fma.f64 1/4 (pow.f64 x -2) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1/16 (/.f64 (pow.f64 x 4) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/4 (pow.f64 x -2)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))) (neg.f64 (-.f64 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (pow.f64 x 3) eps) (*.f64 (*.f64 x 2) 1/8)) (*.f64 (*.f64 x 2) (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 (neg.f64 x) 1/8)) (*.f64 (neg.f64 x) (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) x) (*.f64 x (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (/.f64 (pow.f64 x 3) eps) 8 (*.f64 (*.f64 x 2) 1)) (*.f64 (*.f64 x 2) (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) (*.f64 (neg.f64 x) 1)) (*.f64 (neg.f64 x) (/.f64 (pow.f64 x 3) (*.f64 1/8 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (/.f64 (neg.f64 (pow.f64 x 3)) eps) (*.f64 x -1/8)) (*.f64 x (/.f64 (neg.f64 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1 (/.f64 (pow.f64 x 3) eps) (*.f64 (*.f64 x 2) -1/8)) (*.f64 (*.f64 x 2) (/.f64 (neg.f64 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (/.f64 (neg.f64 (pow.f64 x 3)) eps) (*.f64 (neg.f64 x) -1/8)) (*.f64 (neg.f64 x) (/.f64 (neg.f64 (pow.f64 x 3)) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (/.f64 x eps) (*.f64 x (*.f64 1/8 (pow.f64 x -2)))) (*.f64 x (/.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 x eps) (*.f64 (*.f64 x 2) (*.f64 1/8 (pow.f64 x -2)))) (*.f64 (*.f64 x 2) (/.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (/.f64 x eps) (*.f64 (neg.f64 x) (*.f64 1/8 (pow.f64 x -2)))) (*.f64 (neg.f64 x) (/.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) 1/2)) (*.f64 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 x (*.f64 (/.f64 (neg.f64 (pow.f64 x 3)) eps) 1/2)) (*.f64 (/.f64 (neg.f64 (pow.f64 x 3)) eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 1/8 (pow.f64 x -2)) x (*.f64 (/.f64 x eps) 1/2)) (*.f64 (/.f64 x eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/8 (*.f64 x 2) (/.f64 (pow.f64 x 3) eps)) (*.f64 (/.f64 (pow.f64 x 3) eps) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x 2 (*.f64 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) 1)) (*.f64 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 (*.f64 x 2) (*.f64 (/.f64 (neg.f64 (pow.f64 x 3)) eps) 1)) (*.f64 (/.f64 (neg.f64 (pow.f64 x 3)) eps) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 1/8 (pow.f64 x -2)) (*.f64 x 2) (/.f64 x eps)) (*.f64 (/.f64 x eps) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/8 (neg.f64 x) (*.f64 (/.f64 (pow.f64 x 3) eps) -1/2)) (*.f64 (/.f64 (pow.f64 x 3) eps) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1 x (*.f64 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) -1/2)) (*.f64 (/.f64 (pow.f64 x 3) (*.f64 1/8 eps)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 (neg.f64 x) (*.f64 (/.f64 (neg.f64 (pow.f64 x 3)) eps) -1/2)) (*.f64 (/.f64 (neg.f64 (pow.f64 x 3)) eps) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 1/8 (pow.f64 x -2)) (neg.f64 x) (*.f64 (/.f64 x eps) -1/2)) (*.f64 (/.f64 x eps) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)) (*.f64 1/4 (pow.f64 x -2))) (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (neg.f64 (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) x) (/.f64 (pow.f64 x 3) eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 x))) (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 1/2 x)) (+.f64 1 (expm1.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 x))) (+.f64 1 (expm1.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) (exp.f64 (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (+.f64 1 (expm1.f64 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))) (+.f64 1 (expm1.f64 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (/.f64 1 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 x) 1 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 (*.f64 (/.f64 1 (pow.f64 x 3)) eps) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1/2 x) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps) 1 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/2 x)) (cbrt.f64 (*.f64 1/4 (pow.f64 x -2))) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 x -2))) (cbrt.f64 (/.f64 1/2 x)) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) (pow.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) 2) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 1/2 (/.f64 x (cbrt.f64 eps))) 2) (/.f64 1/2 (/.f64 x (cbrt.f64 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 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (sqrt.f64 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (/.f64 1 (neg.f64 x)) (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/8 (/.f64 1 (/.f64 (neg.f64 (pow.f64 x 3)) eps)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/8 (pow.f64 x 3)) eps (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 x) 1/2 (*.f64 (/.f64 1/8 (pow.f64 x 3)) eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1 (pow.f64 x 3)) eps) 1/8 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (pow.f64 x -2)) (/.f64 eps x) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 1/8 (pow.f64 x -2)) x) eps (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 1/8 (pow.f64 x -2)) (neg.f64 x)) (neg.f64 eps) (/.f64 1/2 x))))))

simplify94.0ms (1.7%)

Algorithm
egg-herbie
Rules
714×associate-/l/_binary64
690×associate-/r*_binary64
646×fma-def_binary64
515×associate-*l*_binary64
511×associate-*r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0221122
1501122
21171122
33281104
414401068
560021068
676381068
Stop Event
node limit
Counts
325 → 240
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 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)))
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 8 computations (38.5% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite50.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
616×pow1_binary64
572×add-log-exp_binary64
572×log1p-expm1-u_binary64
572×expm1-log1p-u_binary64
561×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify11.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
44 → 21
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))

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 48 to 9 computations (81.3% saved)

series20.0ms (0.4%)

Counts
2 → 26
Calls

12 calls:

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

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

simplify62.0ms (1.2%)

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

eval121.0ms (2.2%)

Compiler

Compiled 6737 to 3947 computations (41.4% saved)

prune59.0ms (1.1%)

Pruning

11 alts after pruning (5 fresh and 6 done)

PrunedKeptTotal
New3714375
Fresh011
Picked011
Done156
Total37211383
Error
0b
Counts
383 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
24.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
26.5b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
36.1b
(/.f64 1 (/.f64 x (*.f64 eps 1/2)))
37.8b
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x)))))
56.8b
(/.f64 eps x)
36.0b
(*.f64 1/2 (/.f64 eps x))
61.9b
x
60.8b
(-.f64 (+.f64 1 (*.f64 eps (/.f64 1/2 x))) 1)
36.1b
(*.f64 eps (/.f64 1/2 x))
24.0b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
Compiler

Compiled 113 to 71 computations (37.2% saved)

localize20.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x))))
0.3b
(/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x)))
2.1b
(/.f64 (*.f64 x x) (/.f64 eps x))
7.4b
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x)))))
Compiler

Compiled 59 to 22 computations (62.7% saved)

series6.0ms (0.1%)

Counts
4 → 96
Calls

24 calls:

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

rewrite97.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
792×log-prod_binary64
424×fma-def_binary64
354×log-div_binary64
254×expm1-udef_binary64
254×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01264
128848
2461548
Stop Event
node limit
Counts
4 → 226
Calls
Call 1
Inputs
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x)))))
(/.f64 (*.f64 x x) (/.f64 eps x))
(/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x)))
(+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (*.f64 x 2)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 eps (*.f64 x 2)) 1) (*.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))) (cbrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 eps) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 eps (*.f64 x 2)) 3) (pow.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) 3)) (fma.f64 (/.f64 eps (*.f64 x 2)) (/.f64 eps (*.f64 x 2)) (-.f64 (*.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (*.f64 (/.f64 eps (*.f64 x 2)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 eps (*.f64 x 2)) (/.f64 eps (*.f64 x 2))) (*.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))) (-.f64 (/.f64 eps (*.f64 x 2)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) eps) (*.f64 x (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/512 (pow.f64 (/.f64 eps (pow.f64 x 3)) 3) (/.f64 1/8 (pow.f64 x 3))) eps) (fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (-.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x)) (/.f64 1/4 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (/.f64 1/4 (*.f64 x x)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) eps) (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8))) (*.f64 x (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (fma.f64 1/512 (pow.f64 (/.f64 eps (pow.f64 x 3)) 3) (/.f64 1/8 (pow.f64 x 3)))) (fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (-.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x)) (/.f64 1/4 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (-.f64 (/.f64 1/4 (*.f64 x x)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))) (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 eps) (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (exp.f64 (/.f64 eps (*.f64 x 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 eps 3) (pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 3) (pow.f64 eps 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 eps (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (/.f64 1/2 x) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (/.f64 eps x) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 x) eps (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 (*.f64 (/.f64 eps (pow.f64 x 3)) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) eps (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 eps (*.f64 x 2)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/4 (*.f64 x x))) (*.f64 (cbrt.f64 (/.f64 1/2 x)) eps) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 eps) (/.f64 1/2 x)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 (cbrt.f64 eps) (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) 2) (*.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1/2 x)) (*.f64 (sqrt.f64 (/.f64 1/2 x)) eps) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (/.f64 1/2 x)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 eps) (*.f64 (sqrt.f64 eps) (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (*.f64 (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps (*.f64 x 2)) 1 (*.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 1/8 x) x) (*.f64 (/.f64 eps x) eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (/.f64 eps (*.f64 x 2))) (cbrt.f64 (/.f64 eps (*.f64 x 2)))) (cbrt.f64 (/.f64 eps (*.f64 x 2))) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (cbrt.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))) (cbrt.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 eps (*.f64 x 2))) (sqrt.f64 (/.f64 eps (*.f64 x 2))) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (sqrt.f64 (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 (/.f64 1/2 x))) (*.f64 (sqrt.f64 eps) (sqrt.f64 (/.f64 1/2 x))) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (/.f64 1/2 x)) (sqrt.f64 eps)) (*.f64 (sqrt.f64 (/.f64 1/2 x)) (sqrt.f64 eps)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 eps) (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (*.f64 (sqrt.f64 eps) (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (sqrt.f64 eps)) (*.f64 (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (sqrt.f64 eps)) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps 1/2) (/.f64 1 x) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps 1/8) (/.f64 eps (pow.f64 x 3)) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 (/.f64 1/4 (*.f64 x x)))) (cbrt.f64 (/.f64 1/2 x)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (/.f64 1/2 x))) (sqrt.f64 (/.f64 1/2 x)) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/2 x) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/2 x) (sqrt.f64 eps)) (sqrt.f64 eps) (*.f64 eps (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (pow.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) 2)) (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (/.f64 (/.f64 1/8 x) x)) (/.f64 eps x) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (cbrt.f64 (*.f64 eps eps))) (cbrt.f64 eps) (/.f64 eps (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (sqrt.f64 eps)) (sqrt.f64 eps) (/.f64 eps (*.f64 x 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (pow.f64 x 3) eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps))) (cbrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 x 3) eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (/.f64 x (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (*.f64 x (/.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x x) (/.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 x 3) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (pow.f64 x 3) eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 x 3) eps)) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 3) eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 3) eps)) 2) (cbrt.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x 4)) (*.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 x eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (sqrt.f64 (/.f64 eps x))) (/.f64 x (sqrt.f64 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (neg.f64 x)) (/.f64 1 (/.f64 (neg.f64 eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x eps) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x eps) (/.f64 x (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (/.f64 eps x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (/.f64 x (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) 1) (/.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 eps) (/.f64 (*.f64 x x) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) eps) (/.f64 (pow.f64 (cbrt.f64 x) 2) (/.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (cbrt.f64 (pow.f64 (/.f64 eps x) 2))) (/.f64 x (cbrt.f64 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (pow.f64 (/.f64 eps x) 2))) (/.f64 (*.f64 x x) (cbrt.f64 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (pow.f64 (/.f64 eps x) 2))) (cbrt.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (/.f64 eps x))) (/.f64 (*.f64 x x) (sqrt.f64 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (sqrt.f64 (/.f64 eps x))) (/.f64 (pow.f64 (cbrt.f64 x) 2) (sqrt.f64 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x x) 1) (/.f64 x eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 x x) (neg.f64 eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x (/.f64 eps x)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x (/.f64 eps x)) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 x (/.f64 eps x)) (sqrt.f64 x)) (sqrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 x 3) eps) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 3) eps)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 x (sqrt.f64 (/.f64 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 eps (pow.f64 x 3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 x x) (/.f64 (neg.f64 eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (/.f64 eps x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 (pow.f64 x 3) eps)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3)))) (cbrt.f64 (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/8 (/.f64 eps (pow.f64 x 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps x) (/.f64 (/.f64 1/8 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) (pow.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) 2) (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/8 (/.f64 1 (neg.f64 (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (pow.f64 x 3)) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1/8 x) x) (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/8 x) (/.f64 eps (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/8 (*.f64 x (neg.f64 x))) (/.f64 (neg.f64 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) eps) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) 1) (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) (cbrt.f64 (pow.f64 (/.f64 eps x) 2))) (cbrt.f64 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) (sqrt.f64 (/.f64 eps x))) (sqrt.f64 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 1/512 (pow.f64 (/.f64 (pow.f64 x 3) eps) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (/.f64 1/4 (*.f64 x x)) (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))))) (/.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)) (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) (cbrt.f64 (pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 2)) (cbrt.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) (sqrt.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) (/.f64 1 (*.f64 x (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/512 (pow.f64 (/.f64 eps (pow.f64 x 3)) 3) (/.f64 1/8 (pow.f64 x 3))) (/.f64 1 (fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (-.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x)) (/.f64 1/4 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1/4 (*.f64 x x)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (/.f64 1 (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 x (/.f64 (pow.f64 x 3) eps)) (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (-.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x)) (/.f64 1/4 (*.f64 x x))) (fma.f64 1/512 (pow.f64 (/.f64 eps (pow.f64 x 3)) 3) (/.f64 1/8 (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3)))) (-.f64 (/.f64 1/4 (*.f64 x x)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) (*.f64 x (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/512 (pow.f64 (/.f64 eps (pow.f64 x 3)) 3) (/.f64 1/8 (pow.f64 x 3))) (fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (-.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x)) (/.f64 1/4 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/512 (pow.f64 (/.f64 eps (pow.f64 x 3)) 3) (/.f64 1/8 (pow.f64 x 3))) (+.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)) (-.f64 (/.f64 1/4 (*.f64 x x)) (/.f64 1/16 (*.f64 x (/.f64 (pow.f64 x 3) eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/4 (*.f64 x x)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2))) (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8))) (neg.f64 (*.f64 x (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 1/512 (pow.f64 (/.f64 eps (pow.f64 x 3)) 3) (/.f64 1/8 (pow.f64 x 3)))) (neg.f64 (fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (-.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x)) (/.f64 1/4 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (/.f64 1/4 (*.f64 x x)) (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)))) (neg.f64 (+.f64 (/.f64 1/2 x) (*.f64 -1/8 (/.f64 eps (pow.f64 x 3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 (pow.f64 x 3) eps) (*.f64 (*.f64 x 2) 1/8)) (*.f64 (*.f64 x 2) (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 (neg.f64 x) 1/8)) (*.f64 (neg.f64 x) (/.f64 (pow.f64 x 3) eps)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) x) (*.f64 x (*.f64 (/.f64 (pow.f64 x 3) eps) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (/.f64 (pow.f64 x 3) eps) 8 (*.f64 (*.f64 x 2) 1)) (*.f64 (*.f64 x 2) (*.f64 (/.f64 (pow.f64 x 3) eps) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) (*.f64 (neg.f64 x) 1)) (*.f64 (neg.f64 x) (*.f64 (/.f64 (pow.f64 x 3) eps) 8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/2 (neg.f64 (/.f64 (pow.f64 x 3) eps)) (*.f64 x -1/8)) (*.f64 x (neg.f64 (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1 (/.f64 (pow.f64 x 3) eps) (*.f64 (*.f64 x 2) -1/8)) (*.f64 (*.f64 x 2) (neg.f64 (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (neg.f64 (/.f64 (pow.f64 x 3) eps)) (*.f64 (neg.f64 x) -1/8)) (*.f64 (neg.f64 x) (neg.f64 (/.f64 (pow.f64 x 3) eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (*.f64 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) 1/2)) (*.f64 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 x (*.f64 (neg.f64 (/.f64 (pow.f64 x 3) eps)) 1/2)) (*.f64 (neg.f64 (/.f64 (pow.f64 x 3) eps)) x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/8 (*.f64 x 2) (/.f64 (pow.f64 x 3) eps)) (*.f64 (/.f64 (pow.f64 x 3) eps) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x 2 (*.f64 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) 1)) (*.f64 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 (*.f64 x 2) (*.f64 (neg.f64 (/.f64 (pow.f64 x 3) eps)) 1)) (*.f64 (neg.f64 (/.f64 (pow.f64 x 3) eps)) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/8 (neg.f64 x) (*.f64 (/.f64 (pow.f64 x 3) eps) -1/2)) (*.f64 (/.f64 (pow.f64 x 3) eps) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1 x (*.f64 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) -1/2)) (*.f64 (*.f64 (/.f64 (pow.f64 x 3) eps) 8) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/8 (neg.f64 x) (*.f64 (neg.f64 (/.f64 (pow.f64 x 3) eps)) -1/2)) (*.f64 (neg.f64 (/.f64 (pow.f64 x 3) eps)) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/64 (pow.f64 (/.f64 (pow.f64 x 3) eps) 2)) (/.f64 1/4 (*.f64 x x))) (-.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 1/2 (/.f64 (pow.f64 x 3) eps) (*.f64 x 1/8)) x) (/.f64 (pow.f64 x 3) eps))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 x))) (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (/.f64 1/2 x)) (+.f64 1 (expm1.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 x))) (+.f64 1 (expm1.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (exp.f64 (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/8) (/.f64 eps (pow.f64 x 3))) (+.f64 1 (expm1.f64 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))) (+.f64 1 (expm1.f64 (/.f64 1/2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (/.f64 1 x) (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 x) 1 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 (/.f64 eps (pow.f64 x 3)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps x) (/.f64 (/.f64 1/8 x) x) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) 1 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1/2 x) (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/2 x)) (cbrt.f64 (/.f64 1/4 (*.f64 x x))) (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/4 (*.f64 x x))) (cbrt.f64 (/.f64 1/2 x)) (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) (pow.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) 2) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) 2) (*.f64 1/2 (cbrt.f64 (/.f64 eps (pow.f64 x 3)))) (/.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 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (sqrt.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3)))) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (/.f64 1 (neg.f64 x)) (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/8 (/.f64 1 (neg.f64 (/.f64 (pow.f64 x 3) eps))) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps (pow.f64 x 3)) 1/8 (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 x) 1/2 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (/.f64 1/8 x) x) (/.f64 eps x) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/8 x) (/.f64 eps (*.f64 x x)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/8 (*.f64 x (neg.f64 x))) (/.f64 (neg.f64 eps) x) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) eps) (/.f64 1 x) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) 1) (/.f64 eps x) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) (cbrt.f64 (pow.f64 (/.f64 eps x) 2))) (cbrt.f64 (/.f64 eps x)) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (/.f64 1/8 x) x) (sqrt.f64 (/.f64 eps x))) (sqrt.f64 (/.f64 eps x)) (/.f64 1/2 x))))))

simplify91.0ms (1.7%)

Algorithm
egg-herbie
Rules
714×associate-/l/_binary64
690×associate-/r*_binary64
646×fma-def_binary64
515×associate-*l*_binary64
511×associate-*r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0221122
1501122
21171122
33281104
414401068
560021068
676381068
Stop Event
node limit
Counts
322 → 237
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 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)))
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(+.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 1/2 (/.f64 1 x)))
(+.f64 (*.f64 1/8 (/.f64 eps (pow.f64 x 3))) (*.f64 1/2 (/.f64 1 x)))
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(/.f64 eps (/.f64 x 1/2))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps)))
(/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8))
(*.f64 (*.f64 eps eps) (/.f64 1/8 (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 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.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 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 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/2 (/.f64 eps x) (*.f64 1/8 (/.f64 eps (/.f64 (pow.f64 x 3) eps))))
(fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 eps eps) (/.f64 (pow.f64 x 3) 1/8)))
(*.f64 (/.f64 eps x) (+.f64 1/2 (/.f64 (*.f64 eps 1/8) (*.f64 x x))))
(*.f64 eps (fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x)))
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(/.f64 (pow.f64 x 3) eps)
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))
(*.f64 1/8 (/.f64 eps (pow.f64 x 3)))
(*.f64 (/.f64 1/8 (pow.f64 x 3)) eps)
(*.f64 eps (/.f64 1/8 (pow.f64 x 3)))
(+.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.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))
(fma.f64 eps (/.f64 1/8 (pow.f64 x 3)) (/.f64 1/2 x))

localize15.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 21 computations (30% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite68.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
997×pow1_binary64
932×add-log-exp_binary64
932×log1p-expm1-u_binary64
932×expm1-log1p-u_binary64
104×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify95.0ms (1.8%)

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
86 → 63
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))

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite58.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
843×pow1_binary64
784×add-log-exp_binary64
784×log1p-expm1-u_binary64
784×expm1-log1p-u_binary64
767×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0810
11687
221647
Stop Event
node limit
Counts
1 → 45
Calls
Call 1
Inputs
(/.f64 1 (/.f64 x (*.f64 eps 1/2)))
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 1/2 (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps 1/2) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/2 (/.f64 eps x))) (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 eps x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 eps x))) 2) (cbrt.f64 (*.f64 1/2 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (/.f64 eps x))) (sqrt.f64 (*.f64 1/2 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 (neg.f64 x) (/.f64 2 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (/.f64 eps x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 eps 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (pow.f64 (/.f64 2 eps) -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 eps 1) (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 eps 1/2)) 2) 1) (/.f64 (cbrt.f64 (*.f64 eps 1/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 eps 1/2)) 1) (/.f64 (sqrt.f64 (*.f64 eps 1/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 x) 2)) (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (pow.f64 (cbrt.f64 x) 2)) (/.f64 1/2 (cbrt.f64 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 (pow.f64 (cbrt.f64 (*.f64 eps 1/2)) 2) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (cbrt.f64 (*.f64 eps 1/2)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 eps 1/2)) (pow.f64 (cbrt.f64 x) 2)) (/.f64 (sqrt.f64 (*.f64 eps 1/2)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 x)) (/.f64 (*.f64 eps 1/2) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (sqrt.f64 x)) (/.f64 1/2 (sqrt.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 (pow.f64 (cbrt.f64 (*.f64 eps 1/2)) 2) (sqrt.f64 x)) (/.f64 (cbrt.f64 (*.f64 eps 1/2)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (*.f64 eps 1/2)) (sqrt.f64 x)) (/.f64 (sqrt.f64 (*.f64 eps 1/2)) (sqrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 x)) (*.f64 eps -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (/.f64 x eps)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) 1) (*.f64 eps 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) eps) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) 1/2) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (pow.f64 (cbrt.f64 (*.f64 eps 1/2)) 2)) (cbrt.f64 (*.f64 eps 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 x) (sqrt.f64 (*.f64 eps 1/2))) (sqrt.f64 (*.f64 eps 1/2)))))) (#(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 1/2 (/.f64 eps x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (/.f64 eps x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (/.f64 eps x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (/.f64 eps x)) 1)))) (#(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 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 cbrt.f64 (/.f64 (pow.f64 (*.f64 eps 1/2) 3) (pow.f64 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))))))))

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
69 → 45
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))

localize3.0ms (0.1%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

eval389.0ms (7.2%)

Compiler

Compiled 6150 to 4199 computations (31.7% saved)

prune78.0ms (1.5%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New3651366
Fresh011
Picked011
Done099
Total36512377
Error
0b
Counts
377 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
24.5b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (neg.f64 eps))))
26.5b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
36.1b
(/.f64 1 (/.f64 x (*.f64 eps 1/2)))
37.8b
(*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x)))))
56.8b
(/.f64 eps x)
36.0b
(*.f64 1/2 (/.f64 eps x))
61.9b
x
60.8b
(-.f64 (+.f64 1 (*.f64 eps (/.f64 1/2 x))) 1)
36.2b
(*.f64 -1 (/.f64 1 (*.f64 (neg.f64 x) (/.f64 2 eps))))
36.1b
(*.f64 eps (/.f64 1/2 x))
24.0b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.3b
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
Compiler

Compiled 125 to 81 computations (35.2% saved)

regimes192.0ms (3.6%)

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

3 calls:

170.0ms
x
9.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
8.0ms
eps
Results
ErrorSegmentsBranch
0.3b1x
0.3b1eps
0.3b1(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 152 to 79 computations (48% saved)

regimes92.0ms (1.7%)

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

3 calls:

40.0ms
x
31.0ms
eps
17.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Results
ErrorSegmentsBranch
6.6b2x
10.1b4eps
0.8b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 134 to 77 computations (42.5% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-9.090668973682444e-152
0.0
Compiler

Compiled 15 to 10 computations (33.3% saved)

regimes47.0ms (0.9%)

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

2 calls:

24.0ms
eps
18.0ms
x
Results
ErrorSegmentsBranch
7.4b2x
10.9b4eps
Compiler

Compiled 88 to 55 computations (37.5% saved)

bsearch65.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
65.0ms
1.5001288424543555e-103
4.835302113324458e-103
Compiler

Compiled 95 to 70 computations (26.3% saved)

regimes16.0ms (0.3%)

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

2 calls:

6.0ms
x
6.0ms
eps
Results
ErrorSegmentsBranch
36.0b1x
36.0b1eps
Compiler

Compiled 83 to 52 computations (37.3% saved)

regimes96.0ms (1.8%)

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

2 calls:

4.0ms
eps
4.0ms
x
Results
ErrorSegmentsBranch
36.1b1x
36.1b1eps
Compiler

Compiled 20 to 12 computations (40% saved)

regimes8.0ms (0.2%)

Accuracy

Total -5.1b remaining (-8.9%)

Threshold costs -5.1b (-8.9%)

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

2 calls:

4.0ms
x
4.0ms
eps
Results
ErrorSegmentsBranch
56.8b1x
56.8b1eps
Compiler

Compiled 15 to 9 computations (40% saved)

simplify13.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
031118
151118
266118
375118
479118
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 (-.f64 (*.f64 x x) (*.f64 x x)) eps) (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))))
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -2948408144391829/58968162887836583628774290327941701420576894069006881693378223441337877537377325813845730080900918242835443359855685076558915384842574884883772410178635875682021801984) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x))))))
(if (<=.f64 x 1563471605872933/10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896) (-.f64 x (sqrt.f64 (neg.f64 eps))) (*.f64 1/2 (/.f64 eps x)))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(/.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))) -2948408144391829/58968162887836583628774290327941701420576894069006881693378223441337877537377325813845730080900918242835443359855685076558915384842574884883772410178635875682021801984) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (*.f64 eps (+.f64 (/.f64 1/2 x) (/.f64 1/8 (/.f64 (*.f64 x x) (/.f64 eps x))))))
(if (<=.f64 x 1563471605872933/10086913586276986678343434265636765134100413253239154346994763111486904773503285916522052161250538404046496765518544896) (-.f64 x (sqrt.f64 (neg.f64 eps))) (*.f64 1/2 (/.f64 eps x)))
(*.f64 1/2 (/.f64 eps x))
(*.f64 eps (/.f64 1/2 x))
(/.f64 eps x)
x
Compiler

Compiled 94 to 52 computations (44.7% saved)

soundness0.0ms (0%)

end60.0ms (1.1%)

Compiler

Compiled 82 to 34 computations (58.5% saved)

Profiling

Loading profile data...