Details

Time bar (total: 8.2s)

analyze18.0ms (0.2%)

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.2s (14.6%)

Results
670.0ms5910×body256valid
279.0ms1128×body1024valid
205.0ms1178×body512valid
14.0ms152×body256invalid
12.0ms40×body2048valid

preprocess85.0ms (1%)

Algorithm
egg-herbie
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 x (sqrt.f64 (fma.f64 x x (neg.f64 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)

simplify25.0ms (0.3%)

Algorithm
egg-herbie
Counts
1 → 2
Calls
Call 1
Inputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Outputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))

eval1.0ms (0%)

Compiler

Compiled 18 to 10 computations (44.4% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
26.4b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
26.4b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
26.4b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 20 to 12 computations (40% saved)

localize7.0ms (0.1%)

Local error

Found 6 expressions with local error:

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

Compiled 26 to 6 computations (76.9% saved)

series10.0ms (0.1%)

Counts
3 → 48
Calls

18 calls:

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

rewrite47.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
68×egg-rr
48×egg-rr
40×egg-rr
Counts
3 → 156
Calls
Call 1
Inputs
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(-.f64 (*.f64 x x) eps)
(sqrt.f64 (-.f64 (*.f64 x x) eps))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (*.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 eps) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 (fma.f64 x x (neg.f64 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 x x (neg.f64 eps)) 1/2) (*.f64 (fma.f64 x x (neg.f64 eps)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 x x (neg.f64 eps)) 0) (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 0 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 x x (neg.f64 eps))) (*.f64 1/2 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 x x (neg.f64 eps))) (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 eps (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 eps) (neg.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x x) 0) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2)) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (fma.f64 x x (neg.f64 eps)) (+.f64 1/3 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x (neg.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 eps (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 eps (*.f64 x x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) (+.f64 1/3 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (*.f64 x x)) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 eps (*.f64 x x)))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 x 4)) (+.f64 (cbrt.f64 (*.f64 eps eps)) (cbrt.f64 (*.f64 (*.f64 x x) eps)))) (-.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x (neg.f64 eps)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 0) (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 eps (*.f64 x x))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x x (neg.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) (+.f64 1/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) (*.f64 2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 eps (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 eps (*.f64 x x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (pow.f64 x 4)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 eps)) (cbrt.f64 (*.f64 eps eps)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (neg.f64 (cbrt.f64 (*.f64 eps eps))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 x x)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (*.f64 x x)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) (neg.f64 x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (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 -1 eps (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 eps) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (fma.f64 x x (neg.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2) (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 0 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 1/2 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (fabs.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))

simplify211.0ms (2.6%)

Algorithm
egg-herbie
Counts
204 → 193
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.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))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(*.f64 -1 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (fma.f64 1/16 (pow.f64 eps 4) (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2)) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.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)))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 2 x (/.f64 (*.f64 -1/8 (*.f64 eps eps)) (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))))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 2 x (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 -1/8 (*.f64 eps eps)) (pow.f64 x 3)))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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 (/.f64 (*.f64 (pow.f64 eps 4) (fma.f64 1/16 (pow.f64 x -6) (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2))) x) 1/2 (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)))))
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(pow.f64 x 2)
(*.f64 x x)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(*.f64 -1 eps)
(neg.f64 eps)
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
(+.f64 (*.f64 -1 eps) (pow.f64 x 2))
(fma.f64 x x (neg.f64 eps))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(fma.f64 1/2 (/.f64 eps x) (neg.f64 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (neg.f64 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
(fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/8 (fma.f64 (/.f64 eps x) 1/2 (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (neg.f64 x))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 25 to 6 computations (76% saved)

series4.0ms (0%)

Counts
2 → 24
Calls

12 calls:

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

rewrite36.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
48×egg-rr
40×egg-rr
Counts
2 → 88
Calls
Call 1
Inputs
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (*.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)) (neg.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2) (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 1/2 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 0 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (fabs.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))

simplify127.0ms (1.6%)

Algorithm
egg-herbie
Counts
112 → 120
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.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))))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(*.f64 -1 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (fma.f64 (pow.f64 eps 4) 1/16 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2)) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.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)))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 2 x (/.f64 (*.f64 -1/8 (*.f64 eps eps)) (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))))))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 2 x (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (/.f64 (*.f64 -1/8 (*.f64 eps eps)) (pow.f64 x 3)))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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 (/.f64 (*.f64 (pow.f64 eps 4) (fma.f64 1/16 (pow.f64 x -6) (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2))) x) 1/2 (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)))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(fma.f64 1/2 (/.f64 eps x) (neg.f64 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (neg.f64 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
(fma.f64 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) 1/8 (fma.f64 (/.f64 eps x) 1/2 (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (neg.f64 x))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 (/.f64 eps x) -1/2 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) -1/16 (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))

eval73.0ms (0.9%)

Compiler

Compiled 4572 to 1663 computations (63.6% saved)

prune53.0ms (0.6%)

Pruning

17 alts after pruning (15 fresh and 2 done)

PrunedKeptTotal
New29815313
Fresh000
Picked011
Done011
Total29817315
Error
0.4b
Counts
315 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
37.5b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (/.f64 (*.f64 1/2 eps) x))
59.1b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
29.9b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
61.1b
(-.f64 x x)
27.2b
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
37.0b
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
36.8b
(cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))
26.4b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
43.6b
(+.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)))))
26.4b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
33.3b
(*.f64 1/2 (/.f64 eps x))
26.9b
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)
61.8b
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
27.3b
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
61.7b
(*.f64 2 x)
46.6b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (fma.f64 (pow.f64 eps 4) 1/16 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2)) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
27.2b
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
Compiler

Compiled 466 to 310 computations (33.5% saved)

localize11.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
26.9b
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)
0.1b
(sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.1b
(sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
26.9b
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)
Compiler

Compiled 49 to 8 computations (83.7% saved)

series15.0ms (0.2%)

Counts
2 → 36
Calls

12 calls:

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

rewrite39.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
52×egg-rr
34×egg-rr
Counts
2 → 86
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)
(sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (neg.f64 x) (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 x) (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (neg.f64 x) (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) (neg.f64 (sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/4))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 5/6)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (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 x 2/3) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) -1) (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 1) (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))) (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))) (*.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) (-.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 0) (-.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (fabs.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)))) (+.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 0 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 0))) (-.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/4) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 0)))))

simplify233.0ms (2.8%)

Algorithm
egg-herbie
Counts
122 → 143
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(+.f64 (*.f64 -2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))))
x
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 2 x))))
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) x))))
(+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 eps 3))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 x 6)) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (*.f64 1/32 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)))))))
(pow.f64 (*.f64 -1 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4)))))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (pow.f64 x 6))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/384 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 1/32 (pow.f64 eps 3)))) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))))
(*.f64 (pow.f64 1 1/4) (sqrt.f64 x))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7))))))))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))))) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(pow.f64 (*.f64 -1 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2)))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (+.f64 (*.f64 -1/32 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 6)) (*.f64 1/384 (pow.f64 x 6)))))))))
Outputs
x
(+.f64 (*.f64 -1 x) x)
0
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(fma.f64 1/2 (/.f64 eps x) 0)
(+.f64 (*.f64 -2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))))
(+.f64 (/.f64 (+.f64 (*.f64 -2 (*.f64 (*.f64 eps eps) -3/32)) (*.f64 -1/16 (*.f64 eps eps))) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) 0))
x
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 2 x))))
(+.f64 (/.f64 (+.f64 (*.f64 1/16 (*.f64 eps eps)) (*.f64 2 (*.f64 (*.f64 eps eps) -3/32))) (pow.f64 x 3)) (fma.f64 -1/2 (/.f64 eps x) (*.f64 2 x)))
(+.f64 (*.f64 -1 x) x)
0
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(fma.f64 1/2 (/.f64 eps x) 0)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x)))
(fma.f64 1/8 (*.f64 (*.f64 eps eps) (pow.f64 x -3)) (fma.f64 1/2 (/.f64 eps x) 0))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) x))))
(fma.f64 1/8 (*.f64 (*.f64 eps eps) (pow.f64 x -3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) 0)))
(+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)
(-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))
(fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps))))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))))
(+.f64 (/.f64 (+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 x 4))) (*.f64 -2 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 4) -3/32)))) (*.f64 eps eps)) (fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 eps 3))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 x 6)) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (*.f64 1/32 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (*.f64 (pow.f64 x 4) -3/32) (*.f64 x x))) (pow.f64 eps -3)) (fma.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 x 4)) (*.f64 eps eps)) (-.f64 (fma.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 4) -3/32)) (*.f64 eps eps)) (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))))) (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 6) (+.f64 11/384 -1/12))) (pow.f64 eps -3)))) (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 6) (+.f64 11/384 -1/12))) (pow.f64 eps -3)))))
(pow.f64 (*.f64 -1 eps) 1/4)
(pow.f64 (neg.f64 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (*.f64 (*.f64 -1/4 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4)) (*.f64 x x)))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4)))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (fma.f64 -1/4 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4) (*.f64 x x)) (*.f64 -3/32 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (pow.f64 x 4)))))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (pow.f64 x 6))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4))))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (fma.f64 -1/4 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4) (*.f64 x x)) (fma.f64 -7/128 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/4) (pow.f64 x 6)) (*.f64 -3/32 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (pow.f64 x 4))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))
(fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))))
(fma.f64 (*.f64 (*.f64 eps eps) -3/32) (sqrt.f64 (pow.f64 x -7)) (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x)))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/384 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 1/32 (pow.f64 eps 3)))) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))))
(fma.f64 (*.f64 (*.f64 eps eps) -3/32) (sqrt.f64 (pow.f64 x -7)) (fma.f64 (*.f64 (pow.f64 eps 3) (+.f64 -1/384 -5/96)) (sqrt.f64 (pow.f64 x -11)) (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x))))
(*.f64 (pow.f64 1 1/4) (sqrt.f64 x))
(sqrt.f64 x)
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)))
(fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7))))))))
(+.f64 (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x)) (*.f64 (*.f64 -3/32 (*.f64 eps eps)) (sqrt.f64 (pow.f64 x -7))))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))))) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))))))))
(+.f64 (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x)) (fma.f64 -7/128 (*.f64 (pow.f64 eps 3) (sqrt.f64 (pow.f64 x -11))) (*.f64 (*.f64 -3/32 (*.f64 eps eps)) (sqrt.f64 (pow.f64 x -7)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (pow.f64 x 4) -3/32)) (*.f64 eps eps))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (pow.f64 x 6) (+.f64 11/384 -1/12))) (pow.f64 eps -3))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (pow.f64 x 4) -3/32)) (*.f64 eps eps)) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps))))
(pow.f64 (*.f64 -1 eps) 1/4)
(pow.f64 (neg.f64 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (*.f64 (*.f64 -1/4 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4)) (*.f64 x x)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2)))))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (*.f64 (pow.f64 x 4) -3/32) (+.f64 (pow.f64 (neg.f64 eps) 1/4) (*.f64 (*.f64 -1/4 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4)) (*.f64 x x))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (+.f64 (*.f64 -1/32 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 6)) (*.f64 1/384 (pow.f64 x 6)))))))))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (*.f64 (pow.f64 x 4) -3/32) (+.f64 (pow.f64 (neg.f64 eps) 1/4) (fma.f64 -1/4 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4) (*.f64 x x)) (*.f64 (neg.f64 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/4)) (*.f64 (pow.f64 x 6) (+.f64 11/128 -1/32))))))

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 29 to 13 computations (55.2% saved)

series6.0ms (0.1%)

Counts
2 → 30
Calls

12 calls:

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

rewrite42.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
86×egg-rr
41×egg-rr
Counts
2 → 127
Calls
Call 1
Inputs
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 1/2 eps) x) x) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x (/.f64 (*.f64 1/2 eps) x)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 x) (+.f64 x (/.f64 (*.f64 1/2 eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 1/2 eps) x) (+.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 1/2 eps) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 1/2 eps) x) 0) (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 1/2 eps) x) (*.f64 (/.f64 (*.f64 1/2 eps) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 1/2 eps) x)) (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 1/2 eps) x) (*.f64 0 (/.f64 (*.f64 1/2 eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 x) (*.f64 (fma.f64 (/.f64 eps x) -1/2 (neg.f64 x)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (fma.f64 -1/2 (/.f64 eps x) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (/.f64 (*.f64 1/2 eps) x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 x (/.f64 (*.f64 1/2 eps) x)) 0) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 0) (fma.f64 -1/2 (/.f64 eps x) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (-.f64 (/.f64 (*.f64 -1/2 eps) x) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 x) (fma.f64 (/.f64 eps x) -1/2 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/2 eps) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 1/2 eps) x) x) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 2)) (cbrt.f64 (*.f64 x (fma.f64 -1/2 (/.f64 eps x) x))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (fma.f64 -1/2 (/.f64 eps x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 1/2 eps) x)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2)) (cbrt.f64 (/.f64 (*.f64 1/2 eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 eps x)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 1/2 eps) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (neg.f64 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -1/2 eps) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (-.f64 (/.f64 (*.f64 1/2 eps) x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (/.f64 -1/8 x))) (/.f64 eps (cbrt.f64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 1/4) (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2))) (cbrt.f64 (/.f64 (*.f64 -1/2 eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (/.f64 eps x))) (*.f64 (cbrt.f64 (pow.f64 (/.f64 eps x) 2)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 eps) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 -1/2 (cbrt.f64 (/.f64 eps x)))) (cbrt.f64 (pow.f64 (/.f64 eps x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 eps) (/.f64 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 eps) x)) (neg.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) (neg.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/8 x)) (neg.f64 (/.f64 eps (cbrt.f64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (neg.f64 (*.f64 (cbrt.f64 1/4) (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 eps x)) (neg.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 eps x) 2)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 eps) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 (cbrt.f64 (/.f64 eps x))) (neg.f64 (cbrt.f64 (pow.f64 (/.f64 eps x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (neg.f64 (/.f64 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps (cbrt.f64 x)) (*.f64 2 (cbrt.f64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 1/2 eps) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 eps (cbrt.f64 x))) (cbrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 eps) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (neg.f64 eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 1/2 eps)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 eps (cbrt.f64 (/.f64 -1/8 x)))) (cbrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 eps) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 eps (cbrt.f64 (/.f64 -1/8 x)))) (cbrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 eps) (*.f64 2 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 1/2 eps) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 1/2 eps) x)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 1/2 eps) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 1/2 eps) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 1/2 eps) x)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1/2 (neg.f64 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (*.f64 -1/2 eps) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 1/2 eps) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x (/.f64 (*.f64 1/2 eps) x))) (cbrt.f64 (pow.f64 (+.f64 x (/.f64 (*.f64 1/2 eps) x)) 2)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x (/.f64 (*.f64 1/2 eps) x)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (-.f64 (/.f64 (*.f64 1/2 eps) x) x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 (/.f64 (*.f64 1/2 eps) x) x)) (cbrt.f64 (pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 eps x) x)) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (fma.f64 -1/2 (/.f64 eps x) x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (/.f64 (*.f64 1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (/.f64 (*.f64 1/2 eps) x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 -1/2 eps) x) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 -1/2 (/.f64 eps x) x) 0) (fma.f64 -1/2 (/.f64 eps x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -1/2 (/.f64 eps x) x) (*.f64 (fma.f64 -1/2 (/.f64 eps x) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 -1/2 (/.f64 eps x) x)) (fma.f64 -1/2 (/.f64 eps x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 -1/2 (/.f64 eps x) x) (*.f64 0 (fma.f64 -1/2 (/.f64 eps x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 eps x) x)) (cbrt.f64 (pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 x x)) (-.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2)) (cbrt.f64 (/.f64 (*.f64 x (*.f64 -1/2 eps)) x)))) (+.f64 (cbrt.f64 x) (cbrt.f64 (/.f64 (*.f64 -1/2 eps) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2)) (-.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (/.f64 (*.f64 x (*.f64 -1/2 eps)) x)))) (+.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 eps) x)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 2)) (cbrt.f64 (fma.f64 -1/2 (/.f64 eps x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 -1/2 (/.f64 eps x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/2 (/.f64 eps x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 (*.f64 1/2 eps) x) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/2 (/.f64 eps x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 eps x) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 eps x) x)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 -1/2 (/.f64 eps x) x)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (*.f64 1/2 eps) x) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 -1/2 (/.f64 eps x) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 eps) x)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (/.f64 eps x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps x) -1/2 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 -1/2 eps) x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) (cbrt.f64 1/4) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 -1/2 eps) x) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 -1/8 x)) (/.f64 eps (cbrt.f64 (*.f64 x x))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 1/4) (/.f64 eps x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 (*.f64 1/2 eps) x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 -1/2 eps) x) 2)) (cbrt.f64 (/.f64 (*.f64 -1/2 eps) x)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 eps x)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 eps x) 2)) -1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 eps) (/.f64 1 x) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (cbrt.f64 (/.f64 eps x))) (cbrt.f64 (pow.f64 (/.f64 eps x) 2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (/.f64 -1/2 x) x)))))

simplify126.0ms (1.5%)

Algorithm
egg-herbie
Counts
157 → 130
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))
x
(*.f64 -1/2 (/.f64 eps x))
(*.f64 -1/2 (/.f64 eps x))
(*.f64 -1/2 (/.f64 eps x))
x
x
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
x
(*.f64 -1/2 (/.f64 eps x))
(/.f64 (*.f64 -1/2 eps) x)
(*.f64 -1/2 (/.f64 eps x))
(/.f64 (*.f64 -1/2 eps) x)
(*.f64 -1/2 (/.f64 eps x))
(/.f64 (*.f64 -1/2 eps) x)
x
x

localize18.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
12.7b
(cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))
4.7b
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
0.2b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)
0.2b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)
4.7b
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
12.7b
(cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))
Compiler

Compiled 37 to 14 computations (62.2% saved)

series10.0ms (0.1%)

Counts
3 → 40
Calls

18 calls:

TimeVariablePointExpression
1.0ms
eps
@inf
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)
1.0ms
eps
@-inf
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)
1.0ms
x
@0
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)
1.0ms
x
@inf
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)
1.0ms
eps
@0
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)

rewrite41.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
44×egg-rr
23×egg-rr
19×egg-rr
Counts
3 → 86
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
(pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) 0) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (*.f64 0 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3)) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (*.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 0) (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (*.f64 0 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 0) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x))) (pow.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2/3) (+.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3)) (cbrt.f64 (*.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) (pow.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 2/3) (cbrt.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x)) (neg.f64 (pow.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 x 2/3) (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (neg.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 0) (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))) 4) 2) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 3))))))

simplify228.0ms (2.8%)

Algorithm
egg-herbie
Counts
126 → 144
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(*.f64 -1 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(*.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))))))
(pow.f64 x 3)
(+.f64 (*.f64 -3/2 (*.f64 eps x)) (pow.f64 x 3))
(+.f64 (*.f64 9/8 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -3/4 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -3/2 (*.f64 eps x)) (pow.f64 x 3))))
(+.f64 (*.f64 -3/4 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 9/8 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 -3/2 (*.f64 eps x)) (+.f64 (pow.f64 x 3) (+.f64 (*.f64 -9/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (*.f64 9/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3)))))))))
(*.f64 -1 (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 3/2 (*.f64 eps x)))
(+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9/8 (pow.f64 eps 2)) (*.f64 -3/4 (pow.f64 eps 2))) x)) (*.f64 3/2 (*.f64 eps x))))
(+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9/8 (pow.f64 eps 2)) (*.f64 -3/4 (pow.f64 eps 2))) x)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9/8 (pow.f64 eps 3)) (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -9/16 (pow.f64 eps 3)))) (pow.f64 x 3))) (*.f64 3/2 (*.f64 eps x)))))
(pow.f64 x 3)
(+.f64 (*.f64 -3/2 (*.f64 eps x)) (pow.f64 x 3))
(+.f64 (*.f64 -3/2 (*.f64 eps x)) (+.f64 (pow.f64 x 3) (*.f64 3/8 (/.f64 (pow.f64 eps 2) x))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 -3/2 (*.f64 eps x)) (+.f64 (pow.f64 x 3) (*.f64 3/8 (/.f64 (pow.f64 eps 2) x)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 x 4)) (*.f64 9/8 (pow.f64 x 4))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 x 6)) (+.f64 (*.f64 -9/16 (pow.f64 x 6)) (*.f64 9/8 (pow.f64 x 6)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -3/4 (pow.f64 x 4)) (*.f64 9/8 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
Outputs
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(fma.f64 1/2 (/.f64 eps x) (neg.f64 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (neg.f64 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))) x))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.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)))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (/.f64 (*.f64 -1/8 (*.f64 eps eps)) (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))))))
(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 -1/8 (*.f64 eps eps)) (pow.f64 x 3)))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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 (*.f64 (pow.f64 eps 4) (+.f64 (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2) (*.f64 1/16 (pow.f64 x -6)))) x) (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)))))
(pow.f64 x 3)
(+.f64 (*.f64 -3/2 (*.f64 eps x)) (pow.f64 x 3))
(fma.f64 -3/2 (*.f64 eps x) (pow.f64 x 3))
(+.f64 (*.f64 9/8 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -3/4 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -3/2 (*.f64 eps x)) (pow.f64 x 3))))
(+.f64 (fma.f64 -3/2 (*.f64 eps x) (pow.f64 x 3)) (/.f64 (*.f64 (*.f64 eps eps) 3/8) x))
(+.f64 (*.f64 -3/4 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 9/8 (/.f64 (pow.f64 eps 2) x)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 -3/2 (*.f64 eps x)) (+.f64 (pow.f64 x 3) (+.f64 (*.f64 -9/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (*.f64 9/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3)))))))))
(+.f64 (/.f64 (*.f64 (*.f64 eps eps) 3/8) x) (fma.f64 -1/2 (pow.f64 (/.f64 eps x) 3) (+.f64 (fma.f64 -3/2 (*.f64 eps x) (pow.f64 x 3)) (*.f64 (pow.f64 (/.f64 eps x) 3) 9/16))))
(*.f64 -1 (pow.f64 x 3))
(neg.f64 (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 3)) (*.f64 3/2 (*.f64 eps x)))
(-.f64 (*.f64 (*.f64 3/2 eps) x) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9/8 (pow.f64 eps 2)) (*.f64 -3/4 (pow.f64 eps 2))) x)) (*.f64 3/2 (*.f64 eps x))))
(-.f64 (-.f64 (*.f64 (*.f64 3/2 eps) x) (/.f64 (*.f64 (*.f64 eps eps) 3/8) x)) (pow.f64 x 3))
(+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9/8 (pow.f64 eps 2)) (*.f64 -3/4 (pow.f64 eps 2))) x)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 9/8 (pow.f64 eps 3)) (+.f64 (*.f64 -1/2 (pow.f64 eps 3)) (*.f64 -9/16 (pow.f64 eps 3)))) (pow.f64 x 3))) (*.f64 3/2 (*.f64 eps x)))))
(-.f64 (-.f64 (-.f64 (*.f64 (*.f64 3/2 eps) x) (/.f64 (*.f64 (pow.f64 eps 3) (+.f64 -17/16 9/8)) (pow.f64 x 3))) (/.f64 (*.f64 (*.f64 eps eps) 3/8) x)) (pow.f64 x 3))
(pow.f64 x 3)
(+.f64 (*.f64 -3/2 (*.f64 eps x)) (pow.f64 x 3))
(fma.f64 -3/2 (*.f64 eps x) (pow.f64 x 3))
(+.f64 (*.f64 -3/2 (*.f64 eps x)) (+.f64 (pow.f64 x 3) (*.f64 3/8 (/.f64 (pow.f64 eps 2) x))))
(+.f64 (fma.f64 -3/2 (*.f64 eps x) (pow.f64 x 3)) (/.f64 (*.f64 (*.f64 eps eps) 3/8) x))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 -3/2 (*.f64 eps x)) (+.f64 (pow.f64 x 3) (*.f64 3/8 (/.f64 (pow.f64 eps 2) x)))))
(fma.f64 1/16 (pow.f64 (/.f64 eps x) 3) (+.f64 (fma.f64 -3/2 (*.f64 eps x) (pow.f64 x 3)) (/.f64 (*.f64 (*.f64 eps eps) 3/8) x)))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 x 4)) (*.f64 9/8 (pow.f64 x 4))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps))) (+.f64 (/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 x 4) 3/8) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps)))) eps) eps) (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 x 6)) (+.f64 (*.f64 -9/16 (pow.f64 x 6)) (*.f64 9/8 (pow.f64 x 6)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -3/4 (pow.f64 x 4)) (*.f64 9/8 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(+.f64 (/.f64 (*.f64 (*.f64 (pow.f64 x 6) (+.f64 -1/2 9/16)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 eps 3)) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps))) (+.f64 (/.f64 (/.f64 (*.f64 (*.f64 (pow.f64 x 4) 3/8) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps)))) eps) eps) (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))))

localize12.0ms (0.1%)

Local error

Found 8 expressions with local error:

NewErrorProgram
4.7b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
0.5b
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
0.4b
(cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.4b
(cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))
0.5b
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
4.7b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
Compiler

Compiled 46 to 10 computations (78.3% saved)

series39.0ms (0.5%)

Counts
2 → 0
Calls

12 calls:

TimeVariablePointExpression
11.0ms
eps
@0
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
7.0ms
x
@0
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
6.0ms
eps
@inf
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
4.0ms
x
@-inf
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
2.0ms
x
@inf
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)

rewrite60.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
53×egg-rr
22×egg-rr
Counts
2 → 75
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
(cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 4) 2) (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2/3) (+.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (*.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)) (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)) (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 x 2/3) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1/2) (*.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 0 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (*.f64 1/2 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)) (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))

simplify39.0ms (0.5%)

Algorithm
egg-herbie
Counts
75 → 75
Calls
Call 1
Inputs
Outputs

eval281.0ms (3.4%)

Compiler

Compiled 16722 to 7608 computations (54.5% saved)

prune148.0ms (1.8%)

Pruning

30 alts after pruning (25 fresh and 5 done)

PrunedKeptTotal
New78720807
Fresh5510
Picked011
Done246
Total79430824
Error
0.4b
Counts
824 → 30
Alt Table
Click to see full alt table
StatusErrorProgram
61.1b
0
61.8b
(pow.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))) 3)
34.7b
(*.f64 (cbrt.f64 (/.f64 -1/8 x)) (neg.f64 (/.f64 eps (cbrt.f64 (*.f64 x x)))))
61.7b
x
27.2b
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
37.0b
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
33.9b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 1/2 eps) x)) 3)
33.4b
(*.f64 (neg.f64 eps) (/.f64 -1/2 x))
27.5b
(pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)) 3)
26.9b
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
27.3b
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
28.0b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 3) 3)
46.6b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
27.6b
(pow.f64 (cbrt.f64 (fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) x)) 3)
61.8b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))
33.5b
(*.f64 (neg.f64 (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 1/4) (/.f64 eps x)))
34.7b
(/.f64 (*.f64 1/2 (/.f64 eps (cbrt.f64 x))) (cbrt.f64 (*.f64 x x)))
43.6b
(+.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)))))
33.5b
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))
36.8b
(cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))
37.5b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (/.f64 (*.f64 1/2 eps) x))
26.4b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
60.6b
(-.f64 x (*.f64 -1/2 (/.f64 eps x)))
26.4b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
59.1b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
29.9b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
28.2b
(pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 4) 2))) 3)
33.3b
(/.f64 (/.f64 eps x) 2)
61.8b
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
27.2b
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
Compiler

Compiled 870 to 573 computations (34.1% saved)

localize23.0ms (0.3%)

Local error

Found 8 expressions with local error:

NewErrorProgram
26.9b
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.1b
(sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
0.0b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.0b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)
0.1b
(sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
26.9b
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
Compiler

Compiled 57 to 16 computations (71.9% saved)

series4.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
1.0ms
eps
@inf
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0ms
eps
@-inf
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0ms
x
@0
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0ms
eps
@inf
(pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)
0.0ms
eps
@0
(pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)

rewrite38.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
60×egg-rr
36×egg-rr
Counts
2 → 96
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
(pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (neg.f64 x) (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 x) (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (neg.f64 x) (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 1/3 1/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) (neg.f64 (sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/4))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 x x)) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1 x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))) (*.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))) (*.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) -1) (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 1) (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) (neg.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) (neg.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) 0) (-.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 0) (-.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (fabs.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (+.f64 0 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 0 (*.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0))) (-.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 1/3 3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/4) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/8)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 3/4 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/8)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))))

simplify241.0ms (3%)

Algorithm
egg-herbie
Counts
132 → 153
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(+.f64 (*.f64 -2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))))
x
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 2 x))))
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) x))))
(+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 eps 3))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 x 6)) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (*.f64 1/32 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)))))))
(pow.f64 (*.f64 -1 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4)))))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (pow.f64 x 6))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/384 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 1/32 (pow.f64 eps 3)))) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))))
(*.f64 (pow.f64 1 1/4) (sqrt.f64 x))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7))))))))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))))) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(pow.f64 (*.f64 -1 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2)))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (+.f64 (*.f64 -1/32 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 6)) (*.f64 1/384 (pow.f64 x 6)))))))))
Outputs
x
(+.f64 (*.f64 -1 x) x)
0
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(fma.f64 1/2 (/.f64 eps x) 0)
(+.f64 (*.f64 -2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))))
(+.f64 (/.f64 (+.f64 (*.f64 -2 (*.f64 (*.f64 eps eps) -3/32)) (*.f64 -1/16 (*.f64 eps eps))) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) 0))
x
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 2 x))))
(+.f64 (/.f64 (+.f64 (*.f64 1/16 (*.f64 eps eps)) (*.f64 2 (*.f64 (*.f64 eps eps) -3/32))) (pow.f64 x 3)) (fma.f64 -1/2 (/.f64 eps x) (*.f64 2 x)))
(+.f64 (*.f64 -1 x) x)
0
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(fma.f64 1/2 (/.f64 eps x) 0)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x)))
(fma.f64 1/8 (*.f64 (*.f64 eps eps) (pow.f64 x -3)) (fma.f64 1/2 (/.f64 eps x) 0))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) x))))
(fma.f64 1/8 (*.f64 (*.f64 eps eps) (pow.f64 x -3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) 0)))
(+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)
(-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))
(fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps))))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))))
(+.f64 (/.f64 (+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 x 4))) (*.f64 -2 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 4) -3/32)))) (*.f64 eps eps)) (fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 eps 3))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 x 6)) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (*.f64 1/32 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (*.f64 (pow.f64 x 4) -3/32) (*.f64 x x))) (pow.f64 eps -3)) (fma.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 x 4)) (*.f64 eps eps)) (-.f64 (fma.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 4) -3/32)) (*.f64 eps eps)) (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))))) (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 6) (+.f64 11/384 -1/12))) (pow.f64 eps -3)))) (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (*.f64 2 (+.f64 (log.f64 -1) (log.f64 eps)))) (*.f64 (pow.f64 x 6) (+.f64 11/384 -1/12))) (pow.f64 eps -3)))))
(pow.f64 (*.f64 -1 eps) 1/4)
(pow.f64 (neg.f64 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (*.f64 (*.f64 -1/4 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4)) (*.f64 x x)))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4)))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (fma.f64 -1/4 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4) (*.f64 x x)) (*.f64 -3/32 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (pow.f64 x 4)))))
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (pow.f64 x 6))) (*.f64 -3/32 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (pow.f64 x 4))))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (fma.f64 -1/4 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4) (*.f64 x x)) (fma.f64 -7/128 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/4) (pow.f64 x 6)) (*.f64 -3/32 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (pow.f64 x 4))))))
(sqrt.f64 x)
(+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))
(fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))))
(fma.f64 (*.f64 (*.f64 eps eps) -3/32) (sqrt.f64 (pow.f64 x -7)) (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x)))
(+.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))) (+.f64 (*.f64 (+.f64 (*.f64 -1/384 (pow.f64 eps 3)) (+.f64 (*.f64 -1/12 (pow.f64 eps 3)) (*.f64 1/32 (pow.f64 eps 3)))) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))) (+.f64 (sqrt.f64 x) (*.f64 -1/4 (*.f64 eps (sqrt.f64 (/.f64 1 (pow.f64 x 3))))))))
(fma.f64 (*.f64 (*.f64 eps eps) -3/32) (sqrt.f64 (pow.f64 x -7)) (fma.f64 (*.f64 (pow.f64 eps 3) (+.f64 -1/384 -5/96)) (sqrt.f64 (pow.f64 x -11)) (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x))))
(*.f64 (pow.f64 1 1/4) (sqrt.f64 x))
(sqrt.f64 x)
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)))
(fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7))))))))
(+.f64 (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x)) (*.f64 (*.f64 -3/32 (*.f64 eps eps)) (sqrt.f64 (pow.f64 x -7))))
(+.f64 (*.f64 -1/4 (*.f64 eps (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 3)))))) (+.f64 (*.f64 (pow.f64 1 1/4) (sqrt.f64 x)) (+.f64 (*.f64 -7/128 (*.f64 (pow.f64 eps 3) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 11)))))) (*.f64 -3/32 (*.f64 (pow.f64 eps 2) (*.f64 (pow.f64 1 1/4) (sqrt.f64 (/.f64 1 (pow.f64 x 7)))))))))
(+.f64 (fma.f64 -1/4 (*.f64 eps (sqrt.f64 (pow.f64 x -3))) (sqrt.f64 x)) (fma.f64 -7/128 (*.f64 (pow.f64 eps 3) (sqrt.f64 (pow.f64 x -11))) (*.f64 (*.f64 -3/32 (*.f64 eps eps)) (sqrt.f64 (pow.f64 x -7)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (pow.f64 x 4) -3/32)) (*.f64 eps eps))) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2)) (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (pow.f64 x 6) (+.f64 11/384 -1/12))) (pow.f64 eps -3))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 (pow.f64 x 4) -3/32)) (*.f64 eps eps)) (*.f64 -1/4 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps))))
(pow.f64 (*.f64 -1 eps) 1/4)
(pow.f64 (neg.f64 eps) 1/4)
(+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))))
(+.f64 (pow.f64 (neg.f64 eps) 1/4) (*.f64 (*.f64 -1/4 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4)) (*.f64 x x)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2)))))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (*.f64 (pow.f64 x 4) -3/32) (+.f64 (pow.f64 (neg.f64 eps) 1/4) (*.f64 (*.f64 -1/4 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4)) (*.f64 x x))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/4) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/4) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 3)) 1/4) (pow.f64 x 2))) (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/4) (+.f64 (*.f64 -1/32 (pow.f64 x 6)) (+.f64 (*.f64 1/12 (pow.f64 x 6)) (*.f64 1/384 (pow.f64 x 6)))))))))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 eps -7)) 1/4) (*.f64 (pow.f64 x 4) -3/32) (+.f64 (pow.f64 (neg.f64 eps) 1/4) (fma.f64 -1/4 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -3)) 1/4) (*.f64 x x)) (*.f64 (neg.f64 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/4)) (*.f64 (pow.f64 x 6) (+.f64 11/128 -1/32))))))

localize5.0ms (0.1%)

Compiler

Compiled 13 to 6 computations (53.8% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (/.f64 eps x) (cbrt.f64 -1/2))
0.2b
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))
0.2b
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))
0.4b
(*.f64 (/.f64 eps x) (cbrt.f64 -1/2))
Compiler

Compiled 36 to 23 computations (36.1% saved)

series17.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
6.0ms
x
@0
(*.f64 (/.f64 eps x) (cbrt.f64 -1/2))
3.0ms
eps
@0
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))
2.0ms
eps
@0
(*.f64 (/.f64 eps x) (cbrt.f64 -1/2))
2.0ms
x
@0
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))
1.0ms
x
@inf
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))

rewrite46.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
77×egg-rr
69×egg-rr
Counts
2 → 146
Calls
Call 1
Inputs
(*.f64 (/.f64 eps x) (cbrt.f64 -1/2))
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3) (*.f64 0 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (+.f64 0 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3) (+.f64 0 (*.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) 0))) (-.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 eps x)) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 (cbrt.f64 1/4)) (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (/.f64 -1/2 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (/.f64 (cbrt.f64 -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps x) (cbrt.f64 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3) (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 eps -1/2) x)) (pow.f64 (/.f64 eps x) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 eps x) (cbrt.f64 (cbrt.f64 -1/2))) (cbrt.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2)) (cbrt.f64 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 -1/2) x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 (*.f64 x x))) (/.f64 eps (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 1/4)) (*.f64 (/.f64 eps x) (cbrt.f64 (cbrt.f64 -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 (/.f64 (*.f64 eps -1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 1/4)) (/.f64 eps x)) (cbrt.f64 (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 -1/2)) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 eps (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 1/2)) (/.f64 -1 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))) (pow.f64 (cbrt.f64 (pow.f64 x 2/3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 eps (cbrt.f64 1/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3) (cbrt.f64 (*.f64 eps (cbrt.f64 -1/2)))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 -1/2)) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/2) (/.f64 eps (cbrt.f64 x))) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (cbrt.f64 (/.f64 -1/2 (*.f64 x x)))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 eps (cbrt.f64 -1/2))) (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps (cbrt.f64 1/2)) 1) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x)) 1) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 eps)) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 eps) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 1/2)) (cbrt.f64 x)) (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x)) 1) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (pow.f64 x 2/3)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) -1) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x))) (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (cbrt.f64 -1/2)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (cbrt.f64 1/2)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x)) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (/.f64 eps x) 3) -1/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 eps x) 3) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps (/.f64 (cbrt.f64 -1/2) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3) (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps x) (cbrt.f64 -1/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (/.f64 -1/2 (*.f64 x x))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 eps x) (cbrt.f64 (cbrt.f64 -1/2))) (cbrt.f64 (cbrt.f64 1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 -1/2) (/.f64 eps x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 (cbrt.f64 1/4)) (/.f64 eps x)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 eps x)) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 eps -1/2) x)) (pow.f64 (/.f64 eps x) 2/3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 eps (cbrt.f64 -1/2)) (/.f64 1 x) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 eps 1/2) x) 0) (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 eps 1/2) x) (*.f64 (/.f64 (*.f64 eps 1/2) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 1/4) 0) (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 eps 1/2) x)) (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 eps 1/2) x) (*.f64 0 (/.f64 (*.f64 eps 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (cbrt.f64 1/4)) (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 eps -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)) (cbrt.f64 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/4) (*.f64 (/.f64 eps x) (cbrt.f64 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 1/4)) (*.f64 (cbrt.f64 (cbrt.f64 1/16)) (*.f64 (/.f64 eps x) (cbrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 eps x)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2))) (cbrt.f64 (*.f64 (*.f64 (pow.f64 (/.f64 eps x) 2) (cbrt.f64 1/4)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/4 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)))) (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/4) (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (/.f64 eps x)) (cbrt.f64 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/4) (neg.f64 (/.f64 eps x))) (cbrt.f64 -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) (cbrt.f64 -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 eps -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)) (cbrt.f64 (cbrt.f64 1/4))) (cbrt.f64 (cbrt.f64 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps -1/2) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) 2/3) (cbrt.f64 (*.f64 1/4 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (*.f64 (cbrt.f64 1/4) (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 (pow.f64 (/.f64 eps x) 2) (cbrt.f64 1/4)) 1/4)) (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (cbrt.f64 1/16)) (*.f64 (/.f64 eps x) (cbrt.f64 1/2))) (cbrt.f64 (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 -1/2) (*.f64 (cbrt.f64 1/4) (neg.f64 (/.f64 eps x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (neg.f64 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 1/16)) (*.f64 (*.f64 (/.f64 eps x) (cbrt.f64 1/2)) (cbrt.f64 (cbrt.f64 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (/.f64 (*.f64 eps -1/2) x))) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (neg.f64 (cbrt.f64 (*.f64 (*.f64 (pow.f64 (/.f64 eps x) 2) (cbrt.f64 1/4)) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 eps -1/2) x)) (neg.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) (cbrt.f64 (cbrt.f64 1/4))) (neg.f64 (cbrt.f64 (cbrt.f64 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 1/4))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) (*.f64 eps (cbrt.f64 1/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 1/4)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/4) (*.f64 eps (cbrt.f64 1/2))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/4) (*.f64 eps (cbrt.f64 -1/2))) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/4) (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x))) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps (cbrt.f64 1/2)) (cbrt.f64 1/4)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 eps) -1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps -1/2) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps (cbrt.f64 1/2)) (cbrt.f64 -1/4)) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 -1/4)) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 x)) (cbrt.f64 -1/4)) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 eps) 1/2) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 1/2) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps 1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 eps (cbrt.f64 -1/2)) (cbrt.f64 1/4))) x)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 eps -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (/.f64 eps x)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (*.f64 eps -1/2) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (/.f64 (*.f64 eps 1/2) x))))))

simplify198.0ms (2.4%)

Algorithm
egg-herbie
Counts
194 → 150
Calls
Call 1
Inputs
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
Outputs
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 eps (cbrt.f64 -1/2)) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(/.f64 (*.f64 (cbrt.f64 -1/2) eps) x)
(*.f64 (cbrt.f64 -1/2) (/.f64 eps x))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 eps (*.f64 (cbrt.f64 -1/2) (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 eps (cbrt.f64 1/4))) x))
(/.f64 (*.f64 1/2 eps) x)

localize14.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
11.9b
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
0.7b
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)
0.7b
(cbrt.f64 (fma.f64 x x (neg.f64 eps)))
0.0b
(sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3))
0.0b
(sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3))
0.7b
(cbrt.f64 (fma.f64 x x (neg.f64 eps)))
0.7b
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)
11.9b
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
Compiler

Compiled 46 to 15 computations (67.4% saved)

series20.0ms (0.2%)

Counts
4 → 40
Calls

24 calls:

TimeVariablePointExpression
8.0ms
x
@0
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)
3.0ms
eps
@0
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)
1.0ms
x
@inf
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)
1.0ms
eps
@inf
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)
1.0ms
eps
@-inf
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)

rewrite52.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
63×egg-rr
48×egg-rr
38×egg-rr
34×egg-rr
Counts
4 → 183
Calls
Call 1
Inputs
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
(pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)
(cbrt.f64 (fma.f64 x x (neg.f64 eps)))
(sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2/3) (+.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (*.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)) (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 x 2/3) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 eps) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 x x (neg.f64 eps)) 1/2) (*.f64 (fma.f64 x x (neg.f64 eps)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 x x (neg.f64 eps)) 0) (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 (fma.f64 x x (neg.f64 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (fma.f64 x x (neg.f64 eps))) (*.f64 1/2 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 x x (neg.f64 eps))) (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 0 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 eps (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 x x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (fma.f64 x x (neg.f64 eps)) (+.f64 1/3 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x (neg.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) 4) 2) (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x x (neg.f64 eps))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 2 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) (+.f64 1/3 1/2)) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 0) (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x (neg.f64 eps)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x x (neg.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 eps (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 eps)) (pow.f64 eps 2/3) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 eps) (neg.f64 (pow.f64 eps 2/3)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 eps 2/3) (cbrt.f64 (neg.f64 eps)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (pow.f64 x 2/3) x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 x 2/3) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 (pow.f64 x 4)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 eps (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 eps) 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 eps -1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 eps) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (neg.f64 eps))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2) (*.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 0) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 1/2 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 0 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) 4) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) (+.f64 1/3 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (+.f64 2 1/3))) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) (/.f64 1/3 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) (*.f64 1/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2) (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 1/2 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 0 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1) (*.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (*.f64 -1 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (fabs.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fabs.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (fabs.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 1/4 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 3/2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))

simplify293.0ms (3.6%)

Algorithm
egg-herbie
Counts
223 → 246
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 (+.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 (*.f64 eps (pow.f64 1 1/3)))
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3)))))
(+.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 5/81 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 10/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)))) (*.f64 -2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) (pow.f64 (cbrt.f64 -1) 2))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))))
(*.f64 (pow.f64 1 1/3) (pow.f64 x 2))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2))))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9))) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 1 (pow.f64 x 2)))) (*.f64 -2/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))))))))) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2)))))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2))))))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 8)) 1/3) (/.f64 (pow.f64 x 6) (pow.f64 (cbrt.f64 -1) 8)))))))
(pow.f64 (pow.f64 x 2) 1/3)
(+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9)))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 eps 3)) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(*.f64 -1 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 (+.f64 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x -7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.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)))))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 2 x (/.f64 (*.f64 -1/8 (*.f64 eps eps)) (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))))))
(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 -1/8 (*.f64 eps eps)) (pow.f64 x 3)))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 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 (*.f64 1/2 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))))
(+.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 (*.f64 (pow.f64 eps 4) (+.f64 (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2) (*.f64 1/16 (pow.f64 x -6)))) x) (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)))))
(*.f64 -1 (*.f64 eps (pow.f64 1 1/3)))
(neg.f64 eps)
(+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))
(-.f64 (*.f64 x x) eps)
(+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3)))))
(fma.f64 (+.f64 (/.f64 -2/9 eps) (fma.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (pow.f64 eps -4)) (neg.f64 -1/9)) (/.f64 1/9 eps))) (pow.f64 x 4) (-.f64 (*.f64 x x) eps))
(+.f64 (*.f64 (+.f64 (*.f64 -2/27 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 5/81 (*.f64 (/.f64 1 (*.f64 (pow.f64 eps 2) (pow.f64 (cbrt.f64 -1) 6))) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 10/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7)))) (*.f64 -2/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 7))))))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))) (pow.f64 (cbrt.f64 -1) 2))))))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -2/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))) (+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (*.f64 (cbrt.f64 -1) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4)))) (*.f64 -2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 -1) 4))))))) (*.f64 1/9 (*.f64 (/.f64 1 eps) (pow.f64 1 1/3))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (pow.f64 1 1/3)) (*.f64 2/3 (pow.f64 1 1/3))) (pow.f64 x 2)) (*.f64 -1 (*.f64 eps (pow.f64 1 1/3))))))
(fma.f64 (+.f64 (*.f64 (pow.f64 eps -2) (+.f64 -2/27 5/81)) (fma.f64 (cbrt.f64 eps) (neg.f64 (*.f64 (neg.f64 (cbrt.f64 (pow.f64 eps -7))) 4/81)) (*.f64 (*.f64 1/3 (cbrt.f64 (pow.f64 eps -2))) (*.f64 (cbrt.f64 (pow.f64 eps -4)) -1/9)))) (pow.f64 x 6) (fma.f64 (+.f64 (/.f64 -2/9 eps) (fma.f64 (cbrt.f64 eps) (*.f64 (cbrt.f64 (pow.f64 eps -4)) (neg.f64 -1/9)) (/.f64 1/9 eps))) (pow.f64 x 4) (-.f64 (*.f64 x x) eps)))
(*.f64 (pow.f64 1 1/3) (pow.f64 x 2))
(*.f64 x x)
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)))
(fma.f64 eps (*.f64 (pow.f64 (pow.f64 x 8) 1/9) -1) (*.f64 x x))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2))))
(+.f64 (fma.f64 eps (*.f64 (pow.f64 (pow.f64 x 8) 1/9) -1) (*.f64 x x)) (*.f64 (fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (pow.f64 (pow.f64 x -8) 1/9) -1/9) (*.f64 (pow.f64 (pow.f64 x -2) 1/9) 1/9)) (*.f64 eps eps)))
(+.f64 (*.f64 eps (+.f64 (*.f64 -2/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -1/3 (pow.f64 (*.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 (pow.f64 1 1/3) (pow.f64 x 2)) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9))) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (*.f64 -1/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 1 1/3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 2/27 (*.f64 (pow.f64 1 1/9) (/.f64 1 (pow.f64 x 2)))) (*.f64 -2/3 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))))))))) (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 x 2)) 1/3) (+.f64 (*.f64 1/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)) (*.f64 -2/9 (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/9)))) (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)) (*.f64 2/9 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/9)))) (pow.f64 eps 2)))))
(+.f64 (fma.f64 eps (*.f64 (pow.f64 (pow.f64 x 8) 1/9) -1) (*.f64 x x)) (fma.f64 (pow.f64 eps 3) (fma.f64 -1/3 (*.f64 (*.f64 (pow.f64 (pow.f64 x -8) 1/9) -1/9) (pow.f64 (pow.f64 x -4) 1/9)) (fma.f64 2/27 (cbrt.f64 (pow.f64 x -4)) (fma.f64 -1/3 (*.f64 (cbrt.f64 (pow.f64 x -4)) (+.f64 2/9 -1/27)) (*.f64 (cbrt.f64 (*.f64 x x)) (fma.f64 2/27 (pow.f64 x -2) (*.f64 (*.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x -4)) (+.f64 2/9 -1/27))) (cbrt.f64 (pow.f64 x -2)))))))) (*.f64 (fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (pow.f64 (pow.f64 x -8) 1/9) -1/9) (*.f64 (pow.f64 (pow.f64 x -2) 1/9) 1/9)) (*.f64 eps eps))))
(*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1))
(cbrt.f64 (neg.f64 eps))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))))
(+.f64 (cbrt.f64 (neg.f64 eps)) (*.f64 1/3 (*.f64 (cbrt.f64 (pow.f64 eps -2)) (*.f64 x x))))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2))))))
(+.f64 (cbrt.f64 (neg.f64 eps)) (fma.f64 -1/9 (*.f64 (cbrt.f64 (pow.f64 eps -5)) (neg.f64 (pow.f64 x 4))) (*.f64 1/3 (*.f64 (cbrt.f64 (pow.f64 eps -2)) (*.f64 x x)))))
(+.f64 (*.f64 (pow.f64 (*.f64 eps 1) 1/3) (cbrt.f64 -1)) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 5)) 1/3) (/.f64 (pow.f64 x 4) (pow.f64 (cbrt.f64 -1) 5)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 2)) 1/3) (/.f64 (pow.f64 x 2) (pow.f64 (cbrt.f64 -1) 2)))) (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 8)) 1/3) (/.f64 (pow.f64 x 6) (pow.f64 (cbrt.f64 -1) 8)))))))
(+.f64 (cbrt.f64 (neg.f64 eps)) (fma.f64 -1/9 (*.f64 (cbrt.f64 (pow.f64 eps -5)) (neg.f64 (pow.f64 x 4))) (fma.f64 1/3 (*.f64 (cbrt.f64 (pow.f64 eps -2)) (*.f64 x x)) (*.f64 5/81 (*.f64 (cbrt.f64 (pow.f64 eps -8)) (pow.f64 x 6))))))
(pow.f64 (pow.f64 x 2) 1/3)
(cbrt.f64 (*.f64 x x))
(+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))
(+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (*.f64 -1/3 eps) (pow.f64 (pow.f64 x -4) 1/9)))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9)))))
(fma.f64 -1/9 (*.f64 (*.f64 eps eps) (pow.f64 (pow.f64 x -14) 1/9)) (+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (*.f64 -1/3 eps) (pow.f64 (pow.f64 x -4) 1/9))))
(+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/9))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) (pow.f64 eps 3)) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3))) (+.f64 (pow.f64 (pow.f64 x 2) 1/3) (*.f64 -1/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/9))))))
(fma.f64 -1/9 (*.f64 (*.f64 eps eps) (pow.f64 (pow.f64 x -14) 1/9)) (fma.f64 -1/3 (*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 x -4)) (+.f64 2/9 -1/27)) (pow.f64 eps 3)) (cbrt.f64 (pow.f64 x -4))) (+.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (*.f64 -1/3 eps) (pow.f64 (pow.f64 x -4) 1/9)))))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))
(*.f64 -1 x)
(neg.f64 x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x))
(fma.f64 1/2 (/.f64 eps x) (neg.f64 x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 -1 x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (neg.f64 x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (*.f64 -1 x))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (-.f64 (fma.f64 1/2 (/.f64 eps x) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))) x))
x
(+.f64 (*.f64 -1/2 (/.f64 eps x)) x)
(fma.f64 -1/2 (/.f64 eps x) x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) x)))
(fma.f64 -1/2 (/.f64 eps x) (fma.f64 -1/16 (*.f64 (pow.f64 eps 3) (pow.f64 x -5)) (fma.f64 -1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) x)))

localize18.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
26.8b
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
0.7b
(cbrt.f64 (fma.f64 x x (neg.f64 eps)))
0.6b
(cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.6b
(cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
0.7b
(cbrt.f64 (fma.f64 x x (neg.f64 eps)))
26.8b
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
Compiler

Compiled 54 to 9 computations (83.3% saved)

series17.0ms (0.2%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
5.0ms
x
@inf
(cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
2.0ms
eps
@0
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
2.0ms
x
@0
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
2.0ms
eps
@inf
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
1.0ms
eps
@-inf
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)

rewrite43.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
42×egg-rr
35×egg-rr
Counts
2 → 77
Calls
Call 1
Inputs
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
(cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (-.f64 (pow.f64 x 2/3) (*.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 x)))) (+.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2/3) (-.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (*.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (neg.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18)) (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 4/3) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 x 2/3) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1 x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)) (*.f64 -1 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) -1) (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 1) (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 0) (-.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18)))) (+.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 0 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18) 0))) (-.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 4/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18) (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/12)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/12) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18) (cbrt.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1 0)))))

simplify232.0ms (2.8%)

Algorithm
egg-herbie
Counts
113 → 136
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1))))) x)
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))) (*.f64 1/6 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (cbrt.f64 -1))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1))))) x))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))) (*.f64 1/6 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (cbrt.f64 -1))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1))))) (+.f64 (*.f64 (+.f64 (*.f64 1/18 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)))))) (*.f64 5/72 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (cbrt.f64 -1))))))) (pow.f64 x 4)) x)))
x
x
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 eps (+.f64 (*.f64 1/6 (*.f64 (pow.f64 1 1/3) (/.f64 1 x))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 x) 1/9))))) (+.f64 (*.f64 -1 x) x))
(+.f64 (*.f64 eps (+.f64 (*.f64 1/6 (*.f64 (pow.f64 1 1/3) (/.f64 1 x))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 x) 1/9))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 5/72 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 -1/18 (pow.f64 (/.f64 1 (pow.f64 x 19)) 1/9)) (*.f64 1/9 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/9)))))) (+.f64 (*.f64 -1 x) x)))
(+.f64 (*.f64 eps (+.f64 (*.f64 1/6 (*.f64 (pow.f64 1 1/3) (/.f64 1 x))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 x) 1/9))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 5/72 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 -1/18 (pow.f64 (/.f64 1 (pow.f64 x 19)) 1/9)) (*.f64 1/9 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/9)))))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/3 (/.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) x)) (+.f64 (*.f64 55/1296 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 -1/54 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/9)) (*.f64 -5/216 (pow.f64 (/.f64 1 (pow.f64 x 37)) 1/9)))))) x))))
x
x
(pow.f64 (*.f64 -1 eps) 1/6)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (pow.f64 (*.f64 -1 eps) 1/6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (pow.f64 x 4)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (+.f64 (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (pow.f64 x 4))) (*.f64 -55/1296 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 17)) 1/6) (pow.f64 x 6))))))
(pow.f64 x 1/3)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) eps)))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (pow.f64 x 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) eps))))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) eps)) (*.f64 (+.f64 (*.f64 -1/1296 (pow.f64 eps 3)) (+.f64 (*.f64 1/72 (pow.f64 eps 3)) (*.f64 -1/18 (pow.f64 eps 3)))) (pow.f64 (/.f64 1 (pow.f64 x 17)) 1/3)))))
(pow.f64 (*.f64 -1 x) 1/3)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 5)) 1/3) eps)) (pow.f64 (*.f64 -1 x) 1/3))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 5)) 1/3) eps)) (pow.f64 (*.f64 -1 x) 1/3)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 5)) 1/3) eps)) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 17)) 1/3) (+.f64 (*.f64 -1/1296 (pow.f64 eps 3)) (+.f64 (*.f64 1/72 (pow.f64 eps 3)) (*.f64 -1/18 (pow.f64 eps 3))))) (pow.f64 (*.f64 -1 x) 1/3))))
(*.f64 (sqrt.f64 1) (pow.f64 x 1/3))
(+.f64 (*.f64 (sqrt.f64 1) (pow.f64 x 1/3)) (*.f64 -1/6 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3))))
(+.f64 (*.f64 (sqrt.f64 1) (pow.f64 x 1/3)) (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3))) (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3)))))
(+.f64 (*.f64 (sqrt.f64 1) (pow.f64 x 1/3)) (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3))) (+.f64 (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3))) (*.f64 -55/1296 (*.f64 (pow.f64 eps 3) (pow.f64 (/.f64 1 (pow.f64 x 17)) 1/3))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 x 6)) (+.f64 (*.f64 -1/1296 (pow.f64 x 6)) (*.f64 -1/18 (pow.f64 x 6)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(pow.f64 (*.f64 -1 eps) 1/6)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (pow.f64 (*.f64 -1 eps) 1/6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4))))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 17)) 1/6) (+.f64 (*.f64 -1/72 (pow.f64 x 6)) (+.f64 (*.f64 1/18 (pow.f64 x 6)) (*.f64 1/1296 (pow.f64 x 6)))))) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4)))))))
Outputs
(*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1)))))
(*.f64 (sqrt.f64 eps) (pow.f64 -1 1/6))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1))))) x)
(+.f64 (*.f64 (sqrt.f64 eps) (pow.f64 -1 1/6)) x)
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))) (*.f64 1/6 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (cbrt.f64 -1))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1))))) x))
(fma.f64 (*.f64 x x) (fma.f64 -1/3 (*.f64 (pow.f64 -1 1/6) (sqrt.f64 (/.f64 1 eps))) (*.f64 (*.f64 1/6 (pow.f64 -1 1/6)) (neg.f64 (sqrt.f64 (/.f64 1 eps))))) (+.f64 (*.f64 (sqrt.f64 eps) (pow.f64 -1 1/6)) x))
(+.f64 (*.f64 (pow.f64 x 2) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))) (*.f64 1/6 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 eps)) (cbrt.f64 -1))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/6) (*.f64 (sqrt.f64 eps) (*.f64 (pow.f64 1 1/3) (cbrt.f64 -1))))) (+.f64 (*.f64 (+.f64 (*.f64 1/18 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 2)))))) (+.f64 (*.f64 1/9 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (/.f64 1 (pow.f64 (cbrt.f64 -1) 5)))))) (*.f64 5/72 (*.f64 (pow.f64 -1 1/6) (*.f64 (pow.f64 1 1/3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 eps 3))) (cbrt.f64 -1))))))) (pow.f64 x 4)) x)))
(fma.f64 (*.f64 x x) (fma.f64 -1/3 (*.f64 (pow.f64 -1 1/6) (sqrt.f64 (/.f64 1 eps))) (*.f64 (*.f64 1/6 (pow.f64 -1 1/6)) (neg.f64 (sqrt.f64 (/.f64 1 eps))))) (+.f64 (*.f64 (sqrt.f64 eps) (pow.f64 -1 1/6)) (fma.f64 (fma.f64 1/18 (*.f64 (pow.f64 -1 1/6) (sqrt.f64 (pow.f64 eps -3))) (*.f64 (*.f64 (pow.f64 -1 1/6) (neg.f64 (sqrt.f64 (pow.f64 eps -3)))) (+.f64 5/72 1/9))) (pow.f64 x 4) x)))
x
x
(+.f64 (*.f64 -1 x) x)
0
(+.f64 (*.f64 eps (+.f64 (*.f64 1/6 (*.f64 (pow.f64 1 1/3) (/.f64 1 x))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 x) 1/9))))) (+.f64 (*.f64 -1 x) x))
(fma.f64 eps (+.f64 (/.f64 1/6 x) (*.f64 1/3 (pow.f64 (/.f64 1 x) 1/9))) 0)
(+.f64 (*.f64 eps (+.f64 (*.f64 1/6 (*.f64 (pow.f64 1 1/3) (/.f64 1 x))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 x) 1/9))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 5/72 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 -1/18 (pow.f64 (/.f64 1 (pow.f64 x 19)) 1/9)) (*.f64 1/9 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/9)))))) (+.f64 (*.f64 -1 x) x)))
(fma.f64 eps (+.f64 (/.f64 1/6 x) (*.f64 1/3 (pow.f64 (/.f64 1 x) 1/9))) (fma.f64 (*.f64 eps eps) (fma.f64 5/72 (pow.f64 x -3) (fma.f64 -1/18 (pow.f64 (pow.f64 x -19) 1/9) (*.f64 1/9 (pow.f64 (pow.f64 x -11) 1/9)))) 0))
(+.f64 (*.f64 eps (+.f64 (*.f64 1/6 (*.f64 (pow.f64 1 1/3) (/.f64 1 x))) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 x) 1/9))))) (+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 5/72 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 x 3)))) (+.f64 (*.f64 -1/18 (pow.f64 (/.f64 1 (pow.f64 x 19)) 1/9)) (*.f64 1/9 (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/9)))))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 (pow.f64 eps 3) (+.f64 (*.f64 1/3 (/.f64 (+.f64 (*.f64 -1/27 (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)) (*.f64 2/9 (*.f64 (pow.f64 (pow.f64 1 4) 1/9) (pow.f64 (/.f64 1 (pow.f64 x 4)) 1/3)))) x)) (+.f64 (*.f64 55/1296 (*.f64 (pow.f64 1 1/3) (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 -1/54 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/9)) (*.f64 -5/216 (pow.f64 (/.f64 1 (pow.f64 x 37)) 1/9)))))) x))))
(fma.f64 eps (+.f64 (/.f64 1/6 x) (*.f64 1/3 (pow.f64 (/.f64 1 x) 1/9))) (+.f64 (fma.f64 (*.f64 eps eps) (fma.f64 5/72 (pow.f64 x -3) (fma.f64 -1/18 (pow.f64 (pow.f64 x -19) 1/9) (*.f64 1/9 (pow.f64 (pow.f64 x -11) 1/9)))) 0) (*.f64 (pow.f64 eps 3) (fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (pow.f64 x -4)) (+.f64 2/9 -1/27)) x) (fma.f64 55/1296 (pow.f64 x -5) (fma.f64 -1/54 (pow.f64 (pow.f64 x -29) 1/9) (*.f64 -5/216 (pow.f64 (pow.f64 x -37) 1/9))))))))
x
x
(pow.f64 (*.f64 -1 eps) 1/6)
(pow.f64 (neg.f64 eps) 1/6)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (pow.f64 (*.f64 -1 eps) 1/6))
(fma.f64 -1/6 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -5)) 1/6) (*.f64 x x)) (pow.f64 (neg.f64 eps) 1/6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (pow.f64 x 4)))))
(+.f64 (fma.f64 -1/6 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -5)) 1/6) (*.f64 x x)) (pow.f64 (neg.f64 eps) 1/6)) (*.f64 (*.f64 -5/72 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/6)) (pow.f64 x 4)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (+.f64 (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (pow.f64 x 4))) (*.f64 -55/1296 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 17)) 1/6) (pow.f64 x 6))))))
(+.f64 (fma.f64 -1/6 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -5)) 1/6) (*.f64 x x)) (pow.f64 (neg.f64 eps) 1/6)) (fma.f64 -5/72 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/6) (pow.f64 x 4)) (*.f64 -55/1296 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -17)) 1/6) (pow.f64 x 6)))))
(pow.f64 x 1/3)
(cbrt.f64 x)
(+.f64 (pow.f64 x 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) eps)))
(+.f64 (cbrt.f64 x) (*.f64 (*.f64 -1/6 eps) (cbrt.f64 (pow.f64 x -5))))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (pow.f64 x 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) eps))))
(fma.f64 (cbrt.f64 (pow.f64 x -11)) (*.f64 (*.f64 eps eps) -5/72) (+.f64 (cbrt.f64 x) (*.f64 (*.f64 -1/6 eps) (cbrt.f64 (pow.f64 x -5)))))
(+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (pow.f64 x 1/3) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3) eps)) (*.f64 (+.f64 (*.f64 -1/1296 (pow.f64 eps 3)) (+.f64 (*.f64 1/72 (pow.f64 eps 3)) (*.f64 -1/18 (pow.f64 eps 3)))) (pow.f64 (/.f64 1 (pow.f64 x 17)) 1/3)))))
(fma.f64 (cbrt.f64 (pow.f64 x -11)) (*.f64 (*.f64 eps eps) -5/72) (+.f64 (cbrt.f64 x) (fma.f64 -1/6 (*.f64 (cbrt.f64 (pow.f64 x -5)) eps) (*.f64 (*.f64 (pow.f64 eps 3) (+.f64 -1/24 -1/1296)) (cbrt.f64 (pow.f64 x -17))))))
(pow.f64 (*.f64 -1 x) 1/3)
(cbrt.f64 (neg.f64 x))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 5)) 1/3) eps)) (pow.f64 (*.f64 -1 x) 1/3))
(fma.f64 -1/6 (*.f64 (cbrt.f64 (neg.f64 (pow.f64 x -5))) eps) (cbrt.f64 (neg.f64 x)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 5)) 1/3) eps)) (pow.f64 (*.f64 -1 x) 1/3)))
(fma.f64 (cbrt.f64 (neg.f64 (pow.f64 x -11))) (*.f64 (*.f64 eps eps) -5/72) (fma.f64 -1/6 (*.f64 (cbrt.f64 (neg.f64 (pow.f64 x -5))) eps) (cbrt.f64 (neg.f64 x))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 11)) 1/3) (+.f64 (*.f64 1/72 (pow.f64 eps 2)) (*.f64 -1/12 (pow.f64 eps 2)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 5)) 1/3) eps)) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 17)) 1/3) (+.f64 (*.f64 -1/1296 (pow.f64 eps 3)) (+.f64 (*.f64 1/72 (pow.f64 eps 3)) (*.f64 -1/18 (pow.f64 eps 3))))) (pow.f64 (*.f64 -1 x) 1/3))))
(fma.f64 (cbrt.f64 (neg.f64 (pow.f64 x -11))) (*.f64 (*.f64 eps eps) -5/72) (fma.f64 -1/6 (*.f64 (cbrt.f64 (neg.f64 (pow.f64 x -5))) eps) (fma.f64 (cbrt.f64 (neg.f64 (pow.f64 x -17))) (*.f64 (pow.f64 eps 3) (+.f64 -1/24 -1/1296)) (cbrt.f64 (neg.f64 x)))))
(*.f64 (sqrt.f64 1) (pow.f64 x 1/3))
(cbrt.f64 x)
(+.f64 (*.f64 (sqrt.f64 1) (pow.f64 x 1/3)) (*.f64 -1/6 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3))))
(+.f64 (cbrt.f64 x) (*.f64 (*.f64 -1/6 eps) (cbrt.f64 (pow.f64 x -5))))
(+.f64 (*.f64 (sqrt.f64 1) (pow.f64 x 1/3)) (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3))) (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3)))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/6 (*.f64 (cbrt.f64 (pow.f64 x -5)) eps) (*.f64 (*.f64 -5/72 (*.f64 eps eps)) (cbrt.f64 (pow.f64 x -11)))))
(+.f64 (*.f64 (sqrt.f64 1) (pow.f64 x 1/3)) (+.f64 (*.f64 -1/6 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 5)) 1/3))) (+.f64 (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 11)) 1/3))) (*.f64 -55/1296 (*.f64 (pow.f64 eps 3) (pow.f64 (/.f64 1 (pow.f64 x 17)) 1/3))))))
(+.f64 (cbrt.f64 x) (fma.f64 -1/6 (*.f64 (cbrt.f64 (pow.f64 x -5)) eps) (fma.f64 -5/72 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x -11))) (*.f64 (*.f64 -55/1296 (pow.f64 eps 3)) (cbrt.f64 (pow.f64 x -17))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps)))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 4) -5/72) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 eps -2)) (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 x 6)) (+.f64 (*.f64 -1/1296 (pow.f64 x 6)) (*.f64 -1/18 (pow.f64 x 6)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 6) (+.f64 1/72 -73/1296)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 eps -3)) (+.f64 (*.f64 (*.f64 (*.f64 (pow.f64 x 4) -5/72) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps)))) (pow.f64 eps -2)) (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 -1/6 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 -1) (log.f64 eps))) (*.f64 x x)) eps)))))
(pow.f64 (*.f64 -1 eps) 1/6)
(pow.f64 (neg.f64 eps) 1/6)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (pow.f64 (*.f64 -1 eps) 1/6))
(fma.f64 -1/6 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -5)) 1/6) (*.f64 x x)) (pow.f64 (neg.f64 eps) 1/6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4))))))
(+.f64 (fma.f64 -1/6 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -5)) 1/6) (*.f64 x x)) (pow.f64 (neg.f64 eps) 1/6)) (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/6) (*.f64 (pow.f64 x 4) -5/72)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 5)) 1/6) (pow.f64 x 2))) (+.f64 (pow.f64 (*.f64 -1 eps) 1/6) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 17)) 1/6) (+.f64 (*.f64 -1/72 (pow.f64 x 6)) (+.f64 (*.f64 1/18 (pow.f64 x 6)) (*.f64 1/1296 (pow.f64 x 6)))))) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 x 4)) (*.f64 -1/12 (pow.f64 x 4)))))))
(+.f64 (fma.f64 -1/6 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -5)) 1/6) (*.f64 x x)) (pow.f64 (neg.f64 eps) 1/6)) (-.f64 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -11)) 1/6) (*.f64 (pow.f64 x 4) -5/72)) (*.f64 (pow.f64 (neg.f64 (pow.f64 eps -17)) 1/6) (*.f64 (pow.f64 x 6) (+.f64 -1/72 73/1296)))))

eval379.0ms (4.6%)

Compiler

Compiled 21106 to 10609 computations (49.7% saved)

prune160.0ms (2%)

Pruning

39 alts after pruning (31 fresh and 8 done)

PrunedKeptTotal
New91218930
Fresh71320
Picked011
Done279
Total92139960
Error
0.4b
Counts
960 → 39
Alt Table
Click to see full alt table
StatusErrorProgram
30.0b
(fma.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18)) (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 4/3) x)
59.1b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
29.2b
(fma.f64 (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/3)) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
33.5b
(*.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) (cbrt.f64 -1/4))
36.8b
(cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))
50.8b
(*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 eps x)) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2)))) (cbrt.f64 1/4))
34.9b
(/.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 1/2) (pow.f64 x 2/3))
61.7b
x
29.9b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
27.6b
(fma.f64 (neg.f64 (*.f64 (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
61.8b
(pow.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))) 3)
34.7b
(*.f64 (cbrt.f64 (/.f64 -1/8 x)) (neg.f64 (/.f64 eps (cbrt.f64 (*.f64 x x)))))
33.5b
(*.f64 (*.f64 (cbrt.f64 1/4) (/.f64 eps x)) (cbrt.f64 1/2))
28.2b
(pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 4) 2))) 3)
26.9b
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
27.2b
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
37.0b
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
50.8b
(*.f64 (neg.f64 (/.f64 (*.f64 (cbrt.f64 eps) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2))) (cbrt.f64 x))) (cbrt.f64 1/4))
33.4b
(*.f64 (neg.f64 eps) (/.f64 -1/2 x))
27.4b
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
61.8b
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
27.3b
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
28.0b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 3) 3)
46.6b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
27.6b
(pow.f64 (cbrt.f64 (fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) x)) 3)
50.8b
(*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 eps -1/2) x)) (pow.f64 (/.f64 eps x) 2/3))) (cbrt.f64 1/4))
34.7b
(/.f64 (*.f64 1/2 (/.f64 eps (cbrt.f64 x))) (cbrt.f64 (*.f64 x x)))
61.8b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))
27.2b
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
33.9b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) 3)
50.8b
(*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)))
37.5b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (/.f64 (*.f64 1/2 eps) x))
33.5b
(*.f64 (neg.f64 (*.f64 eps (/.f64 (cbrt.f64 -1/2) x))) (cbrt.f64 1/4))
26.4b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
60.6b
(-.f64 x (*.f64 -1/2 (/.f64 eps x)))
26.4b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
61.1b
0
33.3b
(/.f64 (/.f64 eps x) 2)
43.6b
(+.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)))))
Compiler

Compiled 1158 to 764 computations (34% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
26.9b
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)
0.0b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)
26.9b
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
Compiler

Compiled 44 to 16 computations (63.6% saved)

series2.0ms (0%)

Counts
1 → 16
Calls

6 calls:

TimeVariablePointExpression
1.0ms
eps
@inf
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0ms
eps
@-inf
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0ms
x
@0
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0ms
x
@-inf
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
0.0ms
x
@inf
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)

rewrite69.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
39×egg-rr
Counts
1 → 39
Calls
Call 1
Inputs
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 x 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)) (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2/3) (-.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (*.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (+.f64 (cbrt.f64 x) (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (-.f64 (pow.f64 x 2/3) (*.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 x)))) (+.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2/3) (+.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (*.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) (neg.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (+.f64 2/3 1))) x)))) (#(struct:change #<rule egg-rr> (2) ((x 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) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (pow.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 x 2/3) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)))) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1 x)))))

simplify97.0ms (1.2%)

Algorithm
egg-herbie
Counts
55 → 63
Calls
Call 1
Inputs
x
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(+.f64 (*.f64 -2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))))
x
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 2 x))))
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) x))))
(+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 eps 3))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 x 6)) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (*.f64 1/32 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)))))))
Outputs
x
(+.f64 (*.f64 -1 x) x)
0
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(fma.f64 1/2 (/.f64 eps x) 0)
(+.f64 (*.f64 -2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))))
(+.f64 (/.f64 (+.f64 (*.f64 (*.f64 (*.f64 eps eps) -3/32) -2) (*.f64 -1/16 (*.f64 eps eps))) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) 0))
x
(*.f64 2 x)
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (*.f64 2 x))
(fma.f64 -1/2 (/.f64 eps x) (*.f64 2 x))
(+.f64 (*.f64 -1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 2)) (*.f64 -1/8 (pow.f64 eps 2))) (pow.f64 x 3))) (*.f64 2 x))))
(+.f64 (/.f64 (+.f64 (*.f64 1/16 (*.f64 eps eps)) (*.f64 (*.f64 (*.f64 eps eps) -3/32) 2)) (pow.f64 x 3)) (fma.f64 -1/2 (/.f64 eps x) (*.f64 2 x)))
(+.f64 (*.f64 -1 x) x)
0
(+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x))
(fma.f64 1/2 (/.f64 eps x) 0)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 -1 x) x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) 0))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5))) (+.f64 (*.f64 -1 x) x))))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (fma.f64 1/2 (/.f64 eps x) (fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) 0)))
(+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)
(-.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))
(fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2)))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x))))
(+.f64 (/.f64 (+.f64 (*.f64 -1/16 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2) (pow.f64 x 4))) (*.f64 -2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2) (*.f64 (pow.f64 x 4) -3/32)))) (*.f64 eps eps)) (fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (*.f64 (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 eps 3))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 4)) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (+.f64 (*.f64 1/32 (pow.f64 x 6)) (*.f64 -1/384 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 -2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/8 (pow.f64 x 4)) (*.f64 1/32 (pow.f64 x 4)))) (pow.f64 eps 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (+.f64 (*.f64 -1/384 (pow.f64 x 6)) (+.f64 (*.f64 -1/12 (pow.f64 x 6)) (*.f64 1/32 (pow.f64 x 6))))) (pow.f64 eps 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2) (pow.f64 x 2)) eps)) (+.f64 (*.f64 -1 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) 2)) x)))))))
(fma.f64 1/2 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2) (*.f64 (*.f64 (pow.f64 x 4) -3/32) (*.f64 x x))) (pow.f64 eps 3)) (fma.f64 -1/16 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2) (pow.f64 x 4)) (*.f64 eps eps)) (-.f64 (fma.f64 -2 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2) (*.f64 (pow.f64 x 4) -3/32)) (*.f64 eps eps)) (-.f64 (fma.f64 1/2 (/.f64 (pow.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) x) 2) eps) (-.f64 x (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2))) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2) (*.f64 (pow.f64 x 6) (+.f64 -5/96 -1/384))) (pow.f64 eps 3)))) (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (log.f64 eps))) 2) (*.f64 (pow.f64 x 6) (+.f64 -5/96 -1/384))) (pow.f64 eps 3)))))

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 16 to 9 computations (43.8% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite72.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
97×egg-rr
Counts
1 → 97
Calls
Call 1
Inputs
(*.f64 (neg.f64 eps) (/.f64 -1/2 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 eps 1/2) x) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 eps -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 eps) (cbrt.f64 x)) (*.f64 -1/2 (pow.f64 x -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 eps) (/.f64 -1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1/2 x) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 x) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (neg.f64 eps) (cbrt.f64 (/.f64 -1/2 x))) (pow.f64 (/.f64 -1/2 x) 2/3))))) (#(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 (neg.f64 eps)) (*.f64 (pow.f64 eps 2/3) (/.f64 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -1/2 x)) (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (/.f64 1/2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1/2 (pow.f64 x -2/3)) (/.f64 (neg.f64 eps) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 x) (*.f64 eps 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 eps 2/3) (/.f64 -1/2 x)) (cbrt.f64 (neg.f64 eps)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps)) (cbrt.f64 (/.f64 -1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (*.f64 (neg.f64 eps) (cbrt.f64 (/.f64 -1/2 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 (*.f64 eps -1/2) x)) (neg.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 (/.f64 -1/2 x))) (neg.f64 (pow.f64 (/.f64 -1/2 x) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (*.f64 (pow.f64 eps 2/3) (/.f64 1/2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (pow.f64 x -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 eps -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/2 (neg.f64 (/.f64 eps x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps -1/2) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 eps x)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 (/.f64 -1/8 x))) (neg.f64 (pow.f64 x -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 -1/8 x)) (neg.f64 eps)) (pow.f64 x -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (neg.f64 eps) (cbrt.f64 x)) -2) (pow.f64 x -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 eps 1/2)) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3)) (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps))) (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 eps) (*.f64 (pow.f64 x 2/3) -2)) (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (*.f64 eps 1/2))) (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (cbrt.f64 x)) (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))) (/.f64 1 (cbrt.f64 (pow.f64 (pow.f64 x 2/3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps))) (neg.f64 (pow.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (*.f64 0 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x))))) (+.f64 0 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (+.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (*.f64 0 (cbrt.f64 (/.f64 (*.f64 eps -1/2) x))))) (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 eps) (*.f64 x 2)) (pow.f64 eps 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 eps 2/3) (/.f64 (cbrt.f64 eps) (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))) (cbrt.f64 (pow.f64 (pow.f64 x 2/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps 1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps -1/2) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 eps) (*.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (neg.f64 eps) (cbrt.f64 x)) -2) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (*.f64 eps 1/2))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 eps) (*.f64 (pow.f64 x 2/3) -2)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 -1/8 x)) (neg.f64 eps)) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 eps 1/2)) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (cbrt.f64 (/.f64 -1/8 x))) (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 -1/8 x)) eps)) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps)) (cbrt.f64 (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps -1/2) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 eps x)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 eps) (cbrt.f64 x)) (*.f64 (pow.f64 x 2/3) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (cbrt.f64 (*.f64 eps 1/2))) 3) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (cbrt.f64 1/2) (cbrt.f64 (neg.f64 eps))) 3) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 -1/8 x)) (neg.f64 eps))) (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (neg.f64 eps) (cbrt.f64 x)) -2)) (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 (*.f64 eps 1/2)) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 -1/2) (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps)))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps -1/2) (pow.f64 x -2/3)) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (neg.f64 eps) (*.f64 (pow.f64 x 2/3) -2))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (*.f64 eps 1/2)))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (cbrt.f64 x))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3)))) (neg.f64 (cbrt.f64 (pow.f64 (pow.f64 x 2/3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 1/2) (*.f64 (pow.f64 (/.f64 -1/2 x) 2/3) (neg.f64 eps)))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2) (*.f64 eps -1/2))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2) (neg.f64 eps))) (cbrt.f64 (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (neg.f64 eps) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2))) (cbrt.f64 (*.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (*.f64 eps -1/2) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2) (/.f64 (*.f64 eps 1/2) (cbrt.f64 x)))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2) (*.f64 eps 1/2))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 eps -1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (/.f64 (*.f64 eps 1/2) x))))))

simplify111.0ms (1.4%)

Algorithm
egg-herbie
Counts
121 → 99
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 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)

localize15.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
5.4b
(pow.f64 x 2/3)
0.6b
(cbrt.f64 x)
0.4b
(/.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 1/2) (pow.f64 x 2/3))
0.2b
(/.f64 eps (cbrt.f64 x))
0.2b
(/.f64 eps (cbrt.f64 x))
0.4b
(/.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 1/2) (pow.f64 x 2/3))
0.6b
(cbrt.f64 x)
5.4b
(pow.f64 x 2/3)
Compiler

Compiled 31 to 15 computations (51.6% saved)

series57.0ms (0.7%)

Counts
4 → 48
Calls

18 calls:

TimeVariablePointExpression
23.0ms
x
@0
(pow.f64 x 2/3)
11.0ms
x
@inf
(pow.f64 x 2/3)
10.0ms
x
@-inf
(pow.f64 x 2/3)
3.0ms
x
@-inf
(/.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 1/2) (pow.f64 x 2/3))
2.0ms
eps
@0
(/.f64 eps (cbrt.f64 x))

rewrite56.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
123×egg-rr
47×egg-rr
28×egg-rr
22×egg-rr
Counts
4 → 220
Calls
Call 1
Inputs
(pow.f64 x 2/3)
(cbrt.f64 x)
(/.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 1/2) (pow.f64 x 2/3))
(/.f64 eps (cbrt.f64 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 x 2/3) 0) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 2/3) (*.f64 (pow.f64 x 2/3) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 x 2/3)) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 2/3) (*.f64 0 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (*.f64 (pow.f64 x 2/3) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x 2/3)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x 2/3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 x 2/3) x)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (pow.f64 x 2/3))) (neg.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 x)) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 x 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 x 2/3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 x 2/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x x) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 x 2/3)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 x 2/3)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 x x))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cbrt.f64 x) 0) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (cbrt.f64 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 x) (*.f64 0 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x 2/3)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 x 2/3)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (neg.f64 x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 x)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 eps 1/2) x) 0) (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 eps 1/2) x) (*.f64 (/.f64 (*.f64 eps 1/2) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 eps 1/2) x)) (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 eps 1/2) x) (*.f64 0 (/.f64 (*.f64 eps 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 (pow.f64 x 2/3))) (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -1/2 eps) (cbrt.f64 x)) (neg.f64 (pow.f64 x -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x)))) (/.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 x)) (*.f64 1/2 (pow.f64 x -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))) (/.f64 1/2 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 eps x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 x -2/3))) (/.f64 (/.f64 eps (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (pow.f64 x -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -2/3) (*.f64 eps (cbrt.f64 (/.f64 1/8 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x -2/3)) (/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 eps 1/2) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps x) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (pow.f64 x -2/3)) (/.f64 eps (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x -2/3)) (/.f64 (*.f64 -1/2 eps) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (/.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (cbrt.f64 (pow.f64 x -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (*.f64 1/2 (cbrt.f64 (pow.f64 x -2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 -1/2 eps) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (pow.f64 x 2/3))) (cbrt.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (neg.f64 (pow.f64 x 2/3))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 (pow.f64 x -2/3))) (pow.f64 (cbrt.f64 (pow.f64 x 2/3)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 (neg.f64 x))) (/.f64 1 (*.f64 (pow.f64 x 2/3) -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 (pow.f64 x -2/3) eps) (cbrt.f64 (/.f64 x 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))) 1/2) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (pow.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) 2/3)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 x -2/3))) (/.f64 eps (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 x -2/3)) (*.f64 eps (cbrt.f64 (/.f64 1/8 x)))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (/.f64 eps (cbrt.f64 x)))) (cbrt.f64 (*.f64 (pow.f64 x 2/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (pow.f64 x -2/3)) (cbrt.f64 (/.f64 x 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 eps (cbrt.f64 x))) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3)) (cbrt.f64 (*.f64 (pow.f64 x 2/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 (pow.f64 x -2/3))) 1) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 (pow.f64 x -2/3))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (cbrt.f64 (pow.f64 (cbrt.f64 (pow.f64 x 2/3)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 (pow.f64 x -2/3))) 1) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 (pow.f64 x -2/3))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (*.f64 (pow.f64 x 2/3) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 2)) (cbrt.f64 (/.f64 (*.f64 x x) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (*.f64 (cbrt.f64 (pow.f64 x 2/3)) (sqrt.f64 2))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (*.f64 (pow.f64 x 2/3) 2))) (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 x) 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (sqrt.f64 2)) (*.f64 (pow.f64 x 2/3) (sqrt.f64 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/2 eps) (cbrt.f64 (pow.f64 x -2/3))) (*.f64 (cbrt.f64 (neg.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/2 eps) -1) (*.f64 (cbrt.f64 (neg.f64 x)) (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps 1/2) (cbrt.f64 (pow.f64 x -2/3))) (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps 1/2) -1) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 (cbrt.f64 x))) 1) (pow.f64 (cbrt.f64 (pow.f64 x 2/3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 (cbrt.f64 x))) -1) (*.f64 (cbrt.f64 (pow.f64 x 2/3)) (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (cbrt.f64 (pow.f64 x -2/3))) (*.f64 (cbrt.f64 (/.f64 x 1/8)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x))) 1) (*.f64 (cbrt.f64 (pow.f64 x 2/3)) (*.f64 (pow.f64 x 2/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 x -2/3)) eps) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (/.f64 x 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 x -2/3)) (*.f64 eps 1/2)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 x -2/3)) (*.f64 -1/2 eps)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4) (cbrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (/.f64 (*.f64 eps 1/2) (cbrt.f64 (cbrt.f64 x)))) (*.f64 (neg.f64 (pow.f64 x 2/3)) (cbrt.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 -1/2 eps)) (*.f64 (neg.f64 (pow.f64 x 2/3)) (cbrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/2 eps) 1) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 eps (cbrt.f64 x))) (pow.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) 2/3)) (*.f64 (cbrt.f64 (*.f64 (pow.f64 x 2/3) 2)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps (cbrt.f64 x)) (*.f64 (pow.f64 x 2/3) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 -1/2 eps) (cbrt.f64 x)) (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps (cbrt.f64 (neg.f64 x))) (*.f64 (pow.f64 x 2/3) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps 1/2) x)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x -2/3) (*.f64 -1/2 eps)) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 x -2/3) (/.f64 (*.f64 eps 1/2) (cbrt.f64 (cbrt.f64 x)))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps x) 1) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (/.f64 (*.f64 -1/2 eps) (cbrt.f64 x)))) (cbrt.f64 (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 eps 1/2)) (/.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (pow.f64 x 2/3)))) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/2 eps) (pow.f64 x -2/3)) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 (cbrt.f64 x))) (pow.f64 x -2/3)) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (/.f64 (/.f64 eps (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) (/.f64 1/2 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (*.f64 1/2 (pow.f64 x -2/3))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 eps) (*.f64 1/2 (pow.f64 x -2/3))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x))) (*.f64 1/2 (pow.f64 x -2/3))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 -1/2 eps) (neg.f64 (pow.f64 x -2/3))) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 -1/2 eps) (cbrt.f64 x))) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3)) (cbrt.f64 (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x)))) (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3)) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) 1) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (cbrt.f64 (pow.f64 x 2/3))) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) 1) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) -1) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 -1/2 eps) (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 2/3))) (neg.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) -1) (neg.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps 1/2) -1) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 eps 1/2) (cbrt.f64 (cbrt.f64 x))) (pow.f64 (cbrt.f64 (pow.f64 x 2/3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) (cbrt.f64 (*.f64 (pow.f64 x 2/3) 2))) (pow.f64 (cbrt.f64 (*.f64 (pow.f64 x 2/3) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (*.f64 (cbrt.f64 (/.f64 x 1/8)) (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 eps) (*.f64 (cbrt.f64 (/.f64 x 1/8)) (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (*.f64 (cbrt.f64 x) (*.f64 (pow.f64 x 2/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 eps) (*.f64 (cbrt.f64 (neg.f64 x)) (*.f64 (pow.f64 x 2/3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (*.f64 (pow.f64 x 2/3) (cbrt.f64 (/.f64 x 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 eps) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 x -2/3)) (/.f64 (*.f64 eps 1/2) (cbrt.f64 (cbrt.f64 x)))) (pow.f64 x 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 eps) (*.f64 (neg.f64 (pow.f64 x 2/3)) (cbrt.f64 (/.f64 x 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/2 eps) (*.f64 (neg.f64 (pow.f64 x 2/3)) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps (cbrt.f64 (neg.f64 x))) (*.f64 (*.f64 (pow.f64 x 2/3) -2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (cbrt.f64 (pow.f64 x -2/3)))) (neg.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3))) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 eps 1/2) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 -1/2 eps) x))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 eps (cbrt.f64 (neg.f64 x))) (*.f64 1/2 (pow.f64 x -2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 -1/2 eps) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 0) (/.f64 eps (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (cbrt.f64 x)) (*.f64 (/.f64 eps (cbrt.f64 x)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 eps (cbrt.f64 x))) (/.f64 eps (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 eps (cbrt.f64 x)) (*.f64 0 (/.f64 eps (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 eps (cbrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (cbrt.f64 (neg.f64 x))) (/.f64 eps (cbrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 eps) (neg.f64 (pow.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 eps (cbrt.f64 x))) (pow.f64 (/.f64 eps (cbrt.f64 x)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 eps) (cbrt.f64 (/.f64 (*.f64 eps eps) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 eps (pow.f64 x -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -1/3) eps)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 eps (cbrt.f64 x)) 2/3) (cbrt.f64 (/.f64 eps (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 x -1/3)) (*.f64 eps (cbrt.f64 (pow.f64 x -2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 eps (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 eps (cbrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 eps eps) x)) (cbrt.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 (neg.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 eps (cbrt.f64 (pow.f64 x -2/3))) (cbrt.f64 (pow.f64 x -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 x -1/3)) (neg.f64 eps))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (pow.f64 x -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 eps (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 eps) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 eps (cbrt.f64 x)) 2/3) (cbrt.f64 (neg.f64 eps))) (neg.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 eps (cbrt.f64 x)) 2/3) (cbrt.f64 eps)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 eps (cbrt.f64 x))) (pow.f64 eps 2/3)) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 x -1/3)) eps) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 eps (cbrt.f64 (pow.f64 x -2/3))) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x))) 1) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 eps)) (pow.f64 (/.f64 eps (cbrt.f64 x)) 2/3)) (neg.f64 (cbrt.f64 (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 eps) (pow.f64 (/.f64 eps (cbrt.f64 x)) 2/3)) (cbrt.f64 (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps -1) (cbrt.f64 (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x))) 1) (cbrt.f64 (pow.f64 x 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (cbrt.f64 (pow.f64 x 2/3)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 eps) (cbrt.f64 (cbrt.f64 x))) (cbrt.f64 (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 eps (cbrt.f64 x)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 eps (cbrt.f64 (cbrt.f64 x)))) (cbrt.f64 (neg.f64 (pow.f64 x 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 eps (cbrt.f64 (neg.f64 x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 eps 3) x) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 eps (cbrt.f64 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 eps (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 eps (cbrt.f64 x))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 eps (cbrt.f64 x))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 eps (cbrt.f64 (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 eps 3) x))))))

simplify233.0ms (2.9%)

Algorithm
egg-herbie
Counts
268 → 225
Calls
Call 1
Inputs
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 (pow.f64 x 2) 1/3)
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 1/2 (/.f64 eps x))
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
Outputs
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(pow.f64 (pow.f64 x 2) 1/3)
(pow.f64 x 2/3)
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(pow.f64 x 2/3)
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(pow.f64 x 2/3)
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(pow.f64 x 2/3)
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 x))) (log.f64 -1))))
(pow.f64 x 2/3)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 -1/2 (/.f64 eps (*.f64 (cbrt.f64 -1) x)))
(/.f64 (*.f64 1/2 eps) x)
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))
(*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)
(/.f64 eps (cbrt.f64 x))

localize13.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
11.6b
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
4.7b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
0.4b
(pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.0b
(sqrt.f64 (fma.f64 x x (neg.f64 eps)))
0.4b
(pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)
4.7b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
11.6b
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
Compiler

Compiled 49 to 14 computations (71.4% saved)

series45.0ms (0.6%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
19.0ms
x
@0
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
7.0ms
x
@-inf
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
6.0ms
eps
@inf
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
3.0ms
x
@inf
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
3.0ms
eps
@0
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)

rewrite44.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
50×egg-rr
39×egg-rr
Counts
2 → 89
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
(pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 1/2 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x 0) (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 x 2/3) (+.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (*.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (-.f64 (cbrt.f64 x) (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)) (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1/3))) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 0))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 x 2/3) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) x) (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x)) (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (-.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/2) (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 0) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) x) 1) (*.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) x) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 (-.f64 (fma.f64 x x (neg.f64 eps)) (*.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)) (*.f64 1/2 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) (*.f64 0 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1/3)) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)) (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3) (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)) (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) x) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2)) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) x (*.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2) (neg.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))))))

simplify196.0ms (2.4%)

Algorithm
egg-herbie
Counts
113 → 132
Calls
Call 1
Inputs
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 4/3 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 4/3 (/.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/32 (pow.f64 eps 5))) (*.f64 8/3 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 2) (pow.f64 eps 3)))) (*.f64 (pow.f64 eps 2) (pow.f64 x 5)))) (+.f64 (*.f64 4/3 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) (*.f64 1/2 (/.f64 eps x))))
(+.f64 (*.f64 4/3 (/.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/32 (pow.f64 eps 5))) (*.f64 8/3 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 2) (pow.f64 eps 3)))) (*.f64 (pow.f64 eps 2) (pow.f64 x 5)))) (+.f64 (*.f64 4/3 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) (+.f64 (*.f64 4/3 (/.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/64 (pow.f64 eps 5)) (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/16 (pow.f64 eps 4)) (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2))))) eps)) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/128 (pow.f64 eps 6))))) (+.f64 (*.f64 16/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/32 (pow.f64 eps 5))) (*.f64 8/3 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 2) (pow.f64 eps 3)))) (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 eps 3))) (*.f64 64/27 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 3) (pow.f64 eps 6))))) (*.f64 (pow.f64 eps 2) (pow.f64 x 7)))) (*.f64 1/2 (/.f64 eps x)))))
(*.f64 -1 (*.f64 (cbrt.f64 -8) x))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -8) x)) (*.f64 -1/3 (/.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) (*.f64 (pow.f64 (cbrt.f64 -8) 2) x))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -8) x)) (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 1/4 (pow.f64 eps 2)))))) (*.f64 -1/24 (pow.f64 (+.f64 (*.f64 2 eps) (*.f64 4 eps)) 2))) (*.f64 (pow.f64 (cbrt.f64 -8) 2) (pow.f64 x 3)))) (*.f64 -1/3 (/.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) (*.f64 (pow.f64 (cbrt.f64 -8) 2) x)))))
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 1/4 (pow.f64 eps 2))))) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1/4 (pow.f64 eps 3)) (*.f64 1/8 (pow.f64 eps 3)))) (*.f64 -1/4 (pow.f64 eps 3))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 2)))) (*.f64 -1/24 (pow.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) 2))) (+.f64 (*.f64 2 eps) (*.f64 4 eps)))) (*.f64 1/27 (/.f64 (pow.f64 (+.f64 (*.f64 2 eps) (*.f64 4 eps)) 3) (pow.f64 (cbrt.f64 -8) 6))))) (*.f64 (pow.f64 (cbrt.f64 -8) 2) (pow.f64 x 5)))) (+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -8) x)) (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 1/4 (pow.f64 eps 2)))))) (*.f64 -1/24 (pow.f64 (+.f64 (*.f64 2 eps) (*.f64 4 eps)) 2))) (*.f64 (pow.f64 (cbrt.f64 -8) 2) (pow.f64 x 3)))) (*.f64 -1/3 (/.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) (*.f64 (pow.f64 (cbrt.f64 -8) 2) x))))))
(*.f64 1/2 (/.f64 eps x))
(+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 eps 2) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (*.f64 1/2 (/.f64 eps x)))
(+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 eps 2) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 4/3 (*.f64 (pow.f64 eps 3) (*.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (pow.f64 x 2))))))
(+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 eps 2) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 4/3 (*.f64 (pow.f64 eps 4) (*.f64 (-.f64 (+.f64 (*.f64 5/512 (/.f64 1 (pow.f64 x 9))) (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 x 9))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 x 6)))) (pow.f64 x 3))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 x 8))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) x))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/3))) (+.f64 (*.f64 1/8192 (/.f64 1 (pow.f64 x 13))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/3) (/.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (cbrt.f64 1/4))))))) (pow.f64 x 2)))) (*.f64 4/3 (*.f64 (pow.f64 eps 3) (*.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (pow.f64 x 2)))))))
(*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3)))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (*.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 5) (pow.f64 x 7)))))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/16 (pow.f64 eps 4)) (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2))) (pow.f64 x 9))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 eps (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/64 (pow.f64 eps 5)))) (pow.f64 x 9))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 6) (pow.f64 x 9))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 x 9))) (*.f64 1/32 (/.f64 (pow.f64 eps 5) (pow.f64 x 7)))))))))))
(*.f64 8 (pow.f64 x 3))
(+.f64 (*.f64 8 (pow.f64 x 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) x)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2)))))) x)) (+.f64 (*.f64 8 (pow.f64 x 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) x))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2)))))) x)) (+.f64 (*.f64 8 (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) x)) (*.f64 -1 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 3)) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1/4 (pow.f64 eps 3)) (*.f64 1/8 (pow.f64 eps 3)))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2))))) (*.f64 -1/4 (pow.f64 eps 3))))) (pow.f64 x 3))))))
(*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (*.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (*.f64 9/128 (/.f64 (pow.f64 eps 5) (pow.f64 x 7)))))
(+.f64 (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 x 8))) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 x 6)))) (pow.f64 x 2)))) x)) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2)) (pow.f64 x 3))) (*.f64 9/512 (/.f64 1 (pow.f64 x 9)))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (*.f64 9/128 (/.f64 (pow.f64 eps 5) (pow.f64 x 7))))))
Outputs
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 4/3 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 4/3 (/.f64 (*.f64 (pow.f64 eps 4) 3/32) (*.f64 (*.f64 eps eps) (pow.f64 x 3))) (/.f64 (*.f64 1/2 eps) x))
(+.f64 (*.f64 4/3 (/.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/32 (pow.f64 eps 5))) (*.f64 8/3 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 2) (pow.f64 eps 3)))) (*.f64 (pow.f64 eps 2) (pow.f64 x 5)))) (+.f64 (*.f64 4/3 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) (*.f64 1/2 (/.f64 eps x))))
(+.f64 (*.f64 4/3 (+.f64 (/.f64 (+.f64 (fma.f64 1/2 (*.f64 eps (*.f64 (pow.f64 eps 4) 5/64)) (*.f64 1/32 (pow.f64 eps 5))) (/.f64 (*.f64 -8/3 (pow.f64 (*.f64 (pow.f64 eps 4) 3/32) 2)) (pow.f64 eps 3))) (*.f64 (*.f64 eps eps) (pow.f64 x 5))) (/.f64 (*.f64 (pow.f64 eps 4) 3/32) (*.f64 (*.f64 eps eps) (pow.f64 x 3))))) (/.f64 (*.f64 1/2 eps) x))
(+.f64 (*.f64 4/3 (/.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/32 (pow.f64 eps 5))) (*.f64 8/3 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 2) (pow.f64 eps 3)))) (*.f64 (pow.f64 eps 2) (pow.f64 x 5)))) (+.f64 (*.f64 4/3 (/.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) (*.f64 (pow.f64 eps 2) (pow.f64 x 3)))) (+.f64 (*.f64 4/3 (/.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 1/64 (pow.f64 eps 5)) (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/16 (pow.f64 eps 4)) (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2))))) eps)) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 eps 2) (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/128 (pow.f64 eps 6))))) (+.f64 (*.f64 16/3 (/.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/32 (pow.f64 eps 5))) (*.f64 8/3 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 2) (pow.f64 eps 3)))) (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 eps 3))) (*.f64 64/27 (/.f64 (pow.f64 (+.f64 (*.f64 1/32 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4))) 3) (pow.f64 eps 6))))) (*.f64 (pow.f64 eps 2) (pow.f64 x 7)))) (*.f64 1/2 (/.f64 eps x)))))
(+.f64 (*.f64 4/3 (+.f64 (/.f64 (+.f64 (fma.f64 1/2 (*.f64 eps (*.f64 (pow.f64 eps 4) 5/64)) (*.f64 1/32 (pow.f64 eps 5))) (/.f64 (*.f64 -8/3 (pow.f64 (*.f64 (pow.f64 eps 4) 3/32) 2)) (pow.f64 eps 3))) (*.f64 (*.f64 eps eps) (pow.f64 x 5))) (/.f64 (*.f64 (pow.f64 eps 4) 3/32) (*.f64 (*.f64 eps eps) (pow.f64 x 3))))) (fma.f64 4/3 (*.f64 (-.f64 (fma.f64 1/2 (*.f64 (fma.f64 1/2 (*.f64 eps (*.f64 (pow.f64 eps 4) 5/64)) (*.f64 1/64 (pow.f64 eps 5))) eps) (+.f64 (*.f64 (*.f64 1/8 (*.f64 eps eps)) (+.f64 (*.f64 (pow.f64 eps 4) 5/64) (*.f64 (pow.f64 eps 4) 5/64))) (*.f64 1/128 (pow.f64 eps 6)))) (fma.f64 16/3 (/.f64 (*.f64 (+.f64 (fma.f64 1/2 (*.f64 eps (*.f64 (pow.f64 eps 4) 5/64)) (*.f64 1/32 (pow.f64 eps 5))) (/.f64 (*.f64 -8/3 (pow.f64 (*.f64 (pow.f64 eps 4) 3/32) 2)) (pow.f64 eps 3))) (*.f64 (pow.f64 eps 4) 3/32)) (pow.f64 eps 3)) (*.f64 64/27 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 4) 3/32) 3) (pow.f64 eps -6))))) (/.f64 (pow.f64 x -7) (*.f64 eps eps))) (/.f64 (*.f64 1/2 eps) x)))
(*.f64 -1 (*.f64 (cbrt.f64 -8) x))
(*.f64 2 x)
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -8) x)) (*.f64 -1/3 (/.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) (*.f64 (pow.f64 (cbrt.f64 -8) 2) x))))
(+.f64 (*.f64 2 x) (/.f64 (*.f64 (*.f64 eps 6) -1/3) (*.f64 4 x)))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -8) x)) (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 1/4 (pow.f64 eps 2)))))) (*.f64 -1/24 (pow.f64 (+.f64 (*.f64 2 eps) (*.f64 4 eps)) 2))) (*.f64 (pow.f64 (cbrt.f64 -8) 2) (pow.f64 x 3)))) (*.f64 -1/3 (/.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) (*.f64 (pow.f64 (cbrt.f64 -8) 2) x)))))
(+.f64 (*.f64 2 x) (*.f64 -1/3 (+.f64 (/.f64 (+.f64 (+.f64 (*.f64 (*.f64 eps eps) (+.f64 -1 1/2)) (*.f64 -2 (*.f64 (*.f64 eps eps) -1/4))) (*.f64 1/24 (pow.f64 (*.f64 eps 6) 2))) (*.f64 4 (pow.f64 x 3))) (/.f64 (*.f64 eps 6) (*.f64 4 x)))))
(+.f64 (*.f64 -1/3 (/.f64 (-.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 3)) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 1/4 (pow.f64 eps 2))))) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1/4 (pow.f64 eps 3)) (*.f64 1/8 (pow.f64 eps 3)))) (*.f64 -1/4 (pow.f64 eps 3))))) (+.f64 (*.f64 -1/12 (*.f64 (-.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2)))) (*.f64 1/2 (pow.f64 eps 2)))) (*.f64 -1/24 (pow.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) 2))) (+.f64 (*.f64 2 eps) (*.f64 4 eps)))) (*.f64 1/27 (/.f64 (pow.f64 (+.f64 (*.f64 2 eps) (*.f64 4 eps)) 3) (pow.f64 (cbrt.f64 -8) 6))))) (*.f64 (pow.f64 (cbrt.f64 -8) 2) (pow.f64 x 5)))) (+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -8) x)) (+.f64 (*.f64 -1/3 (/.f64 (-.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 -1/2 (pow.f64 eps 2)) (*.f64 1/4 (pow.f64 eps 2)))))) (*.f64 -1/24 (pow.f64 (+.f64 (*.f64 2 eps) (*.f64 4 eps)) 2))) (*.f64 (pow.f64 (cbrt.f64 -8) 2) (pow.f64 x 3)))) (*.f64 -1/3 (/.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) (*.f64 (pow.f64 (cbrt.f64 -8) 2) x))))))
(fma.f64 -1/3 (/.f64 (-.f64 (fma.f64 1/4 (pow.f64 eps 3) (fma.f64 -2 (*.f64 (pow.f64 eps 3) -1/8) (fma.f64 1/2 (*.f64 eps (*.f64 (*.f64 eps eps) -1/4)) (*.f64 -1/4 (pow.f64 eps 3))))) (fma.f64 -1/12 (*.f64 (+.f64 (+.f64 (*.f64 (*.f64 eps eps) (+.f64 -1 1/2)) (*.f64 -2 (*.f64 (*.f64 eps eps) -1/4))) (*.f64 1/24 (pow.f64 (*.f64 eps 6) 2))) (*.f64 eps 6)) (*.f64 1/27 (pow.f64 (/.f64 (*.f64 eps 6) 4) 3)))) (*.f64 4 (pow.f64 x 5))) (+.f64 (*.f64 2 x) (*.f64 -1/3 (+.f64 (/.f64 (+.f64 (+.f64 (*.f64 (*.f64 eps eps) (+.f64 -1 1/2)) (*.f64 -2 (*.f64 (*.f64 eps eps) -1/4))) (*.f64 1/24 (pow.f64 (*.f64 eps 6) 2))) (*.f64 4 (pow.f64 x 3))) (/.f64 (*.f64 eps 6) (*.f64 4 x))))))
(*.f64 1/2 (/.f64 eps x))
(/.f64 (*.f64 1/2 eps) x)
(+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 eps 2) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (*.f64 1/2 (/.f64 eps x)))
(fma.f64 1/32 (/.f64 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x -13))) (cbrt.f64 1/4)) (/.f64 (*.f64 1/2 eps) x))
(+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 eps 2) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 4/3 (*.f64 (pow.f64 eps 3) (*.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (pow.f64 x 2))))))
(fma.f64 1/32 (/.f64 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x -13))) (cbrt.f64 1/4)) (fma.f64 1/2 (/.f64 eps x) (*.f64 4/3 (*.f64 (*.f64 (pow.f64 eps 3) (fma.f64 9/128 (pow.f64 x -7) (*.f64 -3/2048 (cbrt.f64 (/.f64 (pow.f64 x -29) 1/16))))) (*.f64 x x)))))
(+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 eps 2) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (+.f64 (*.f64 4/3 (*.f64 (pow.f64 eps 4) (*.f64 (-.f64 (+.f64 (*.f64 5/512 (/.f64 1 (pow.f64 x 9))) (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 x 9))) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 x 6)))) (pow.f64 x 3))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 x 8))) (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2)) (pow.f64 x 2)))) x))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (cbrt.f64 1/4)) (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/3))) (+.f64 (*.f64 1/8192 (/.f64 1 (pow.f64 x 13))) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 10)) 1/3) (/.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (cbrt.f64 1/4))))))) (pow.f64 x 2)))) (*.f64 4/3 (*.f64 (pow.f64 eps 3) (*.f64 (-.f64 (*.f64 9/128 (/.f64 1 (pow.f64 x 7))) (*.f64 3/2048 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 29)) 1/3) (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (pow.f64 x 2)))))))
(fma.f64 1/32 (/.f64 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x -13))) (cbrt.f64 1/4)) (fma.f64 1/2 (/.f64 eps x) (*.f64 4/3 (*.f64 (*.f64 x x) (+.f64 (*.f64 (pow.f64 eps 4) (-.f64 (+.f64 (*.f64 (pow.f64 x -9) (+.f64 5/512 1/128)) (fma.f64 1/8 (/.f64 (fma.f64 1/16 (pow.f64 x -6) (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2)) (pow.f64 x 3)) (/.f64 (*.f64 1/2 (fma.f64 1/64 (pow.f64 x -8) (*.f64 1/2 (*.f64 (fma.f64 1/16 (pow.f64 x -6) (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2)) (pow.f64 x -2))))) x))) (fma.f64 1/16 (/.f64 (*.f64 (fma.f64 9/128 (pow.f64 x -7) (*.f64 -3/2048 (cbrt.f64 (/.f64 (pow.f64 x -29) 1/16)))) (cbrt.f64 (pow.f64 x -10))) (cbrt.f64 1/4)) (fma.f64 1/8192 (pow.f64 x -13) (/.f64 (*.f64 1/16 (*.f64 (fma.f64 9/128 (pow.f64 x -7) (*.f64 -3/2048 (cbrt.f64 (/.f64 (pow.f64 x -29) 1/16)))) (cbrt.f64 (pow.f64 x -10)))) (cbrt.f64 1/4)))))) (*.f64 (pow.f64 eps 3) (fma.f64 9/128 (pow.f64 x -7) (*.f64 -3/2048 (cbrt.f64 (/.f64 (pow.f64 x -29) 1/16))))))))))
(*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3)))
(*.f64 1/8 (pow.f64 (/.f64 eps x) 3))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (*.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)) (fma.f64 1/8 (pow.f64 (/.f64 eps x) 3) (/.f64 (*.f64 1/32 (pow.f64 eps 4)) (pow.f64 x 5))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 x 7))) (*.f64 1/32 (/.f64 (pow.f64 eps 5) (pow.f64 x 7)))))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)) (fma.f64 1/8 (pow.f64 (/.f64 eps x) 3) (fma.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)) (/.f64 (fma.f64 1/2 (*.f64 eps (*.f64 (pow.f64 eps 4) 5/64)) (*.f64 1/32 (pow.f64 eps 5))) (pow.f64 x 7)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/16 (pow.f64 eps 4)) (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2))) (pow.f64 x 9))) (+.f64 (*.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 eps (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 x 7))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 eps (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 eps 2)) 2) (*.f64 1/16 (pow.f64 eps 4))))) (*.f64 1/64 (pow.f64 eps 5)))) (pow.f64 x 9))) (+.f64 (*.f64 1/128 (/.f64 (pow.f64 eps 6) (pow.f64 x 9))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 1/64 (pow.f64 eps 4)) (*.f64 1/16 (pow.f64 eps 4)))) (pow.f64 x 9))) (*.f64 1/32 (/.f64 (pow.f64 eps 5) (pow.f64 x 7)))))))))))
(fma.f64 1/16 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 (/.f64 eps x) 3) (*.f64 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) 5/64)) (pow.f64 x -9)))) (fma.f64 1/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)) (+.f64 (*.f64 1/2 (+.f64 (*.f64 (*.f64 eps (*.f64 (pow.f64 eps 4) 5/64)) (pow.f64 x -7)) (*.f64 (*.f64 (fma.f64 1/2 (*.f64 eps (*.f64 (pow.f64 eps 4) 5/64)) (*.f64 1/64 (pow.f64 eps 5))) eps) (pow.f64 x -9)))) (+.f64 (/.f64 (fma.f64 1/8 (*.f64 (*.f64 eps eps) (*.f64 (pow.f64 eps 4) 5/64)) (*.f64 1/128 (pow.f64 eps 6))) (pow.f64 x 9)) (*.f64 (*.f64 1/32 (pow.f64 eps 5)) (pow.f64 x -7)))))))
(*.f64 8 (pow.f64 x 3))
(+.f64 (*.f64 8 (pow.f64 x 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) x)))
(fma.f64 8 (pow.f64 x 3) (*.f64 x (*.f64 eps -6)))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2)))))) x)) (+.f64 (*.f64 8 (pow.f64 x 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) x))))
(-.f64 (fma.f64 8 (pow.f64 x 3) (*.f64 x (*.f64 eps -6))) (/.f64 (+.f64 (*.f64 (*.f64 eps eps) (+.f64 -1 1/2)) (*.f64 -2 (*.f64 (*.f64 eps eps) -1/4))) x))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 eps 2)) (+.f64 (*.f64 1/2 (pow.f64 eps 2)) (*.f64 -2 (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2)))))) x)) (+.f64 (*.f64 8 (pow.f64 x 3)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 4 eps) (*.f64 2 eps)) x)) (*.f64 -1 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 eps 3)) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1/4 (pow.f64 eps 3)) (*.f64 1/8 (pow.f64 eps 3)))) (+.f64 (*.f64 1/2 (*.f64 eps (+.f64 (*.f64 1/4 (pow.f64 eps 2)) (*.f64 -1/2 (pow.f64 eps 2))))) (*.f64 -1/4 (pow.f64 eps 3))))) (pow.f64 x 3))))))
(-.f64 (-.f64 (fma.f64 8 (pow.f64 x 3) (*.f64 x (*.f64 eps -6))) (/.f64 (fma.f64 1/4 (pow.f64 eps 3) (fma.f64 -2 (*.f64 (pow.f64 eps 3) -1/8) (fma.f64 1/2 (*.f64 eps (*.f64 (*.f64 eps eps) -1/4)) (*.f64 -1/4 (pow.f64 eps 3))))) (pow.f64 x 3))) (/.f64 (+.f64 (*.f64 (*.f64 eps eps) (+.f64 -1 1/2)) (*.f64 -2 (*.f64 (*.f64 eps eps) -1/4))) x))
(*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3)))
(*.f64 1/8 (pow.f64 (/.f64 eps x) 3))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (*.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))))
(fma.f64 1/8 (pow.f64 (/.f64 eps x) 3) (/.f64 (*.f64 3/32 (pow.f64 eps 4)) (pow.f64 x 5)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (*.f64 9/128 (/.f64 (pow.f64 eps 5) (pow.f64 x 7)))))
(fma.f64 1/8 (pow.f64 (/.f64 eps x) 3) (fma.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)) (*.f64 9/128 (*.f64 (pow.f64 eps 5) (pow.f64 x -7)))))
(+.f64 (*.f64 (pow.f64 eps 6) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 x 8))) (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 x 6)))) (pow.f64 x 2)))) x)) (+.f64 (*.f64 1/8 (/.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 x 6))) (pow.f64 (/.f64 -1/8 (pow.f64 x 3)) 2)) (pow.f64 x 3))) (*.f64 9/512 (/.f64 1 (pow.f64 x 9)))))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 3) (pow.f64 x 3))) (+.f64 (*.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5))) (*.f64 9/128 (/.f64 (pow.f64 eps 5) (pow.f64 x 7))))))
(fma.f64 (pow.f64 eps 6) (fma.f64 1/2 (/.f64 (fma.f64 1/64 (pow.f64 x -8) (*.f64 1/2 (*.f64 (fma.f64 1/16 (pow.f64 x -6) (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2)) (pow.f64 x -2)))) x) (fma.f64 1/8 (/.f64 (fma.f64 1/16 (pow.f64 x -6) (pow.f64 (pow.f64 (/.f64 -1/2 x) 3) 2)) (pow.f64 x 3)) (*.f64 9/512 (pow.f64 x -9)))) (fma.f64 1/8 (pow.f64 (/.f64 eps x) 3) (fma.f64 3/32 (/.f64 (pow.f64 eps 4) (pow.f64 x 5)) (*.f64 9/128 (*.f64 (pow.f64 eps 5) (pow.f64 x -7))))))

localize36.0ms (0.4%)

Local error

Found 8 expressions with local error:

NewErrorProgram
5.4b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)
5.4b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)
0.7b
(cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))
0.6b
(cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))
0.7b
(cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))
5.4b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)
5.4b
(pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)
26.8b
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
Compiler

Compiled 71 to 28 computations (60.6% saved)

series50.0ms (0.6%)

Counts
4 → 92
Calls

24 calls:

TimeVariablePointExpression
7.0ms
eps
@inf
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
6.0ms
eps
@-inf
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
6.0ms
eps
@0
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
4.0ms
x
@0
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
3.0ms
x
@inf
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)

rewrite61.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
36×egg-rr
31×egg-rr
27×egg-rr
23×egg-rr
Counts
4 → 117
Calls
Call 1
Inputs
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
(pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)
(pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)
(cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 0) (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) (*.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) (*.f64 0 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 x (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (neg.f64 x) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (pow.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 2/3) (cbrt.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 x (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (pow.f64 x 2/3) (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 2/3) (cbrt.f64 x) (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 x) (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) 2) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))) (cbrt.f64 (*.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) 1 x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 x (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1 (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) x)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) 2/3) x)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 0) (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 0) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) (*.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) (*.f64 0 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 2/3) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) 2/3) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) 2/3) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 2/3)) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -1 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))) (*.f64 -1 (cbrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) (+.f64 2/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3) (+.f64 1/3 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 0 (-.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (*.f64 0 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (+.f64 0 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (+.f64 0 (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 0))) (-.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))) (cbrt.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6) 2/3)) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (cbrt.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6)) 1 0)))))

simplify442.0ms (5.4%)

Algorithm
egg-herbie
Counts
209 → 274
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9)))) x)
(+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 eps))))) (*.f64 1/18 (*.f64 (pow.f64 -1 1/18) (*.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 9)))))))) (pow.f64 x 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9)))) x))
(+.f64 (*.f64 (+.f64 (*.f64 7/81 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (*.f64 (+.f64 (*.f64 1/432 (+.f64 (*.f64 -12 (/.f64 (pow.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) 2) (pow.f64 eps 10))) (*.f64 -24 (/.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps)) (*.f64 -4 (pow.f64 eps 3))) (pow.f64 eps 5))))) (*.f64 1/648 (/.f64 (pow.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) 2) (pow.f64 eps 10)))) (sqrt.f64 eps))))) (*.f64 -1/81 (*.f64 (pow.f64 -1 1/18) (*.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 11))))))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 eps))))) (*.f64 1/18 (*.f64 (pow.f64 -1 1/18) (*.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 9)))))))) (pow.f64 x 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9)))) x)))
x
(+.f64 (*.f64 -1 x) x)
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/9) (/.f64 (+.f64 (*.f64 1/216 (+.f64 (*.f64 24 (pow.f64 eps 2)) (*.f64 -48 (pow.f64 eps 2)))) (*.f64 2/81 (pow.f64 eps 2))) (pow.f64 x 3)))) (+.f64 (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (+.f64 (*.f64 1/81 (*.f64 (pow.f64 1 1/9) (/.f64 (*.f64 eps (+.f64 (*.f64 -1 eps) (*.f64 -4 eps))) (pow.f64 x 3)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (pow.f64 x 3)))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) x))))))
x
(*.f64 2 x)
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (*.f64 2 x)))
(+.f64 (*.f64 (pow.f64 1 1/9) (/.f64 (+.f64 (*.f64 1/216 (+.f64 (*.f64 24 (pow.f64 eps 2)) (*.f64 -48 (pow.f64 eps 2)))) (*.f64 2/81 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/81 (*.f64 (pow.f64 1 1/9) (/.f64 (*.f64 eps (+.f64 (*.f64 -1 eps) (*.f64 -4 eps))) (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (pow.f64 x 3))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) (*.f64 2 x))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) (+.f64 (*.f64 eps (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/6) (/.f64 1 x))) (*.f64 5/18 (*.f64 (pow.f64 1 1/18) (/.f64 1 x))))) x))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/18) (*.f64 (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))))) x))) (+.f64 (*.f64 -5/81 (*.f64 (pow.f64 1 1/18) (/.f64 1 (pow.f64 x 3)))) (*.f64 7/81 (*.f64 (pow.f64 1 1/6) (/.f64 1 (pow.f64 x 3))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) (+.f64 (*.f64 eps (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/6) (/.f64 1 x))) (*.f64 5/18 (*.f64 (pow.f64 1 1/18) (/.f64 1 x))))) x)))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/18) (*.f64 (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))))) x))) (+.f64 (*.f64 -5/81 (*.f64 (pow.f64 1 1/18) (/.f64 1 (pow.f64 x 3)))) (*.f64 7/81 (*.f64 (pow.f64 1 1/6) (/.f64 1 (pow.f64 x 3))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) (+.f64 (*.f64 (+.f64 (*.f64 -35/1458 (*.f64 (pow.f64 1 1/18) (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 112/2187 (*.f64 (pow.f64 1 1/6) (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/18) (/.f64 (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))))) x))) (*.f64 -1 (*.f64 (pow.f64 1 1/18) (*.f64 x (-.f64 (+.f64 (*.f64 -5/648 (/.f64 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))) (pow.f64 x 2))) (*.f64 1/108 (+.f64 (*.f64 6 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4))) (pow.f64 x 10))) (+.f64 (*.f64 2 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 3) (pow.f64 x 30))) (*.f64 -6 (/.f64 (*.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2)))) (pow.f64 x 20))))))) (*.f64 125/34992 (/.f64 1 (pow.f64 x 6)))))))))) (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/6) (/.f64 1 x))) (*.f64 5/18 (*.f64 (pow.f64 1 1/18) (/.f64 1 x))))) x))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) x)
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) x)))
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/18 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 2/81 (pow.f64 x 4))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) x))))))
(+.f64 (*.f64 -1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 1/18 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 2/81 (pow.f64 x 4))) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2))))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 -1/648 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))))) (+.f64 (*.f64 1/108 (+.f64 (*.f64 -2 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (+.f64 (*.f64 -6 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2)))) (*.f64 -6 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))))))) (*.f64 -1/34992 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/18 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 2/81 (pow.f64 x 4))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 1/54 (+.f64 (*.f64 -16 (pow.f64 x 6)) (*.f64 12 (pow.f64 x 6)))) (+.f64 (*.f64 -1/81 (*.f64 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (*.f64 -4/2187 (pow.f64 x 6)))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) x))))))))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6)
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))))
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (pow.f64 x 4)))))
(+.f64 (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/6) (pow.f64 x 6))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (pow.f64 x 4))))))
(pow.f64 (pow.f64 x 5) 1/3)
(+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)) (pow.f64 (pow.f64 x 5) 1/3))
(+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2)))) (pow.f64 (pow.f64 x 5) 1/3)))
(+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3) (+.f64 (*.f64 -125/1296 (pow.f64 eps 3)) (+.f64 (*.f64 25/72 (pow.f64 eps 3)) (*.f64 -5/18 (pow.f64 eps 3))))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2)))) (pow.f64 (pow.f64 x 5) 1/3))))
(pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3)
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 x) 1/3) eps)))
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 x) 1/3) eps)) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2))))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/3) (+.f64 (*.f64 -125/1296 (pow.f64 eps 3)) (+.f64 (*.f64 25/72 (pow.f64 eps 3)) (*.f64 -5/18 (pow.f64 eps 3))))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 x) 1/3) eps)) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2)))))))
(*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3))
(+.f64 (*.f64 -5/6 (*.f64 eps (pow.f64 (/.f64 1 x) 1/3))) (*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3)))
(+.f64 (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3))) (+.f64 (*.f64 -5/6 (*.f64 eps (pow.f64 (/.f64 1 x) 1/3))) (*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3))))
(+.f64 (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3))) (+.f64 (*.f64 -5/6 (*.f64 eps (pow.f64 (/.f64 1 x) 1/3))) (+.f64 (*.f64 -35/1296 (*.f64 (pow.f64 eps 3) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3)))))
(exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(+.f64 (*.f64 -5/6 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)) (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))))
(+.f64 (*.f64 -5/6 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)) (+.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4)))) (pow.f64 eps 2))))
(+.f64 (*.f64 -5/6 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)) (+.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4)))) (pow.f64 eps 2)) (/.f64 (*.f64 (+.f64 (*.f64 -5/18 (pow.f64 x 6)) (+.f64 (*.f64 25/72 (pow.f64 x 6)) (*.f64 -125/1296 (pow.f64 x 6)))) (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6)
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))))
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/6) (+.f64 (*.f64 -25/72 (pow.f64 x 6)) (+.f64 (*.f64 5/18 (pow.f64 x 6)) (*.f64 125/1296 (pow.f64 x 6)))))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4)))))))
(pow.f64 (pow.f64 eps 2) 1/3)
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (pow.f64 x 4)))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (+.f64 (*.f64 -4/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (pow.f64 x 6))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (pow.f64 x 4))))))
(pow.f64 (pow.f64 x 4) 1/3)
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (pow.f64 (pow.f64 x 4) 1/3))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 -4/81 (pow.f64 eps 3)) (+.f64 (*.f64 2/9 (pow.f64 eps 3)) (*.f64 -2/9 (pow.f64 eps 3)))) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/3)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3))))
(pow.f64 (pow.f64 x 4) 1/3)
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (pow.f64 (pow.f64 x 4) 1/3))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 -4/81 (pow.f64 eps 3)) (+.f64 (*.f64 2/9 (pow.f64 eps 3)) (*.f64 -2/9 (pow.f64 eps 3)))) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/3)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3))))
(pow.f64 (pow.f64 x 4) 1/3)
(+.f64 (*.f64 -2/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (pow.f64 x 4) 1/3))
(+.f64 (*.f64 -2/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3))) (pow.f64 (pow.f64 x 4) 1/3)))
(+.f64 (*.f64 -2/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3))) (+.f64 (*.f64 -4/81 (*.f64 (pow.f64 eps 3) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/3))) (pow.f64 (pow.f64 x 4) 1/3))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(+.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -2/3 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4)))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -2/3 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4)))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -2/9 (pow.f64 x 6)) (+.f64 (*.f64 2/9 (pow.f64 x 6)) (*.f64 -4/81 (pow.f64 x 6))))) (pow.f64 eps 3)) (*.f64 -2/3 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(pow.f64 (pow.f64 eps 2) 1/3)
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4))))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (+.f64 (*.f64 -2/9 (pow.f64 x 6)) (+.f64 (*.f64 2/9 (pow.f64 x 6)) (*.f64 4/81 (pow.f64 x 6)))))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4)))))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18)
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18) (*.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) (pow.f64 x 2)))))
(+.f64 (*.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (+.f64 (*.f64 1/432 (+.f64 (*.f64 -24 (/.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (pow.f64 eps 5))) (*.f64 -12 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10))))) (*.f64 1/648 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10)))) (pow.f64 x 4))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18) (*.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) (pow.f64 x 2))))))
(+.f64 (*.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (+.f64 (*.f64 1/432 (+.f64 (*.f64 -24 (/.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (pow.f64 eps 5))) (*.f64 -12 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10))))) (*.f64 1/648 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10)))) (pow.f64 x 4))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (+.f64 (*.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (+.f64 (*.f64 1/12960 (+.f64 (*.f64 -720 (/.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2))) (pow.f64 eps 5))) (+.f64 (*.f64 -720 (/.f64 (*.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4)))) (pow.f64 eps 10))) (*.f64 -240 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 3) (pow.f64 eps 15)))))) (+.f64 (*.f64 -1/7776 (/.f64 (*.f64 (+.f64 (*.f64 -24 (/.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (pow.f64 eps 5))) (*.f64 -12 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10)))) (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4)))) (pow.f64 eps 5))) (*.f64 -1/34992 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 3) (pow.f64 eps 15))))) (pow.f64 x 6))) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18) (*.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) (pow.f64 x 2)))))))
(pow.f64 (pow.f64 x 5) 1/9)
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (pow.f64 (pow.f64 x 5) 1/9))
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (pow.f64 (pow.f64 x 5) 1/9)))
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 49)) 1/9) (+.f64 (*.f64 1/7776 (*.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (+.f64 (*.f64 1/34992 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (*.f64 1/12960 (+.f64 (*.f64 240 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (+.f64 (*.f64 -720 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2))) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (*.f64 720 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps)) (*.f64 -4 (pow.f64 eps 3)))))))))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (pow.f64 (pow.f64 x 5) 1/9))))
(pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9)
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 49)) 1/9) (+.f64 (*.f64 1/7776 (*.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (+.f64 (*.f64 1/34992 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (*.f64 1/12960 (+.f64 (*.f64 240 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (+.f64 (*.f64 -720 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2))) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (*.f64 720 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps)))))))))) (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9))))
(*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9))
(+.f64 (*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9)) (*.f64 -5/18 (*.f64 eps (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9)))))
(+.f64 (*.f64 (pow.f64 1 1/6) (*.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20))) (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))) (pow.f64 x 10))))))) (pow.f64 (pow.f64 x 5) 1/9))) (+.f64 (*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9)) (*.f64 -5/18 (*.f64 eps (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9))))))
(+.f64 (*.f64 (pow.f64 1 1/6) (*.f64 (*.f64 (pow.f64 eps 3) (-.f64 (+.f64 (*.f64 -5/648 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20))) (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))) (pow.f64 x 10)))) (pow.f64 x 2))) (*.f64 1/108 (+.f64 (*.f64 -6 (/.f64 (*.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (pow.f64 x 20))) (+.f64 (*.f64 6 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4))) (pow.f64 x 10))) (*.f64 2 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 3) (pow.f64 x 30))))))) (*.f64 125/34992 (/.f64 1 (pow.f64 x 6))))) (pow.f64 (pow.f64 x 5) 1/9))) (+.f64 (*.f64 (pow.f64 1 1/6) (*.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20))) (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))) (pow.f64 x 10))))))) (pow.f64 (pow.f64 x 5) 1/9))) (+.f64 (*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9)) (*.f64 -5/18 (*.f64 eps (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9)))))))
(exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))
(+.f64 (*.f64 -1/18 (/.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) eps)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))))) (pow.f64 eps 2)) (+.f64 (*.f64 -1/18 (/.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) eps)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))))) (pow.f64 eps 2)) (+.f64 (*.f64 -1/18 (/.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) eps)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/648 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))))) (+.f64 (*.f64 -1/34992 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (*.f64 1/108 (+.f64 (*.f64 -2 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (+.f64 (*.f64 -6 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (*.f64 -6 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))))))))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18)
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18))
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 31)) 1/18) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 2 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))))))
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 49)) 1/18) (+.f64 (*.f64 1/648 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 2 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))))) (+.f64 (*.f64 1/108 (+.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (+.f64 (*.f64 -6 (*.f64 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (*.f64 6 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))))))) (*.f64 1/34992 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)))))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 31)) 1/18) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 2 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))))))
Outputs
(*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 eps) 1) (pow.f64 -1 1/18)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9)))) x)
(+.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 eps) 1) (pow.f64 -1 1/18))) x)
(+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 eps))))) (*.f64 1/18 (*.f64 (pow.f64 -1 1/18) (*.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 9)))))))) (pow.f64 x 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9)))) x))
(fma.f64 (fma.f64 2/9 (*.f64 (*.f64 1 (sqrt.f64 (/.f64 1 eps))) (pow.f64 -1 1/18)) (*.f64 (*.f64 1/18 (pow.f64 -1 1/18)) (*.f64 (*.f64 1 (sqrt.f64 (pow.f64 eps (neg.f64 9)))) (*.f64 (+.f64 4 1) (pow.f64 eps 4))))) (*.f64 x x) (+.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 eps) 1) (pow.f64 -1 1/18))) x))
(+.f64 (*.f64 (+.f64 (*.f64 7/81 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 3)))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (*.f64 (+.f64 (*.f64 1/432 (+.f64 (*.f64 -12 (/.f64 (pow.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) 2) (pow.f64 eps 10))) (*.f64 -24 (/.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps)) (*.f64 -4 (pow.f64 eps 3))) (pow.f64 eps 5))))) (*.f64 1/648 (/.f64 (pow.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) 2) (pow.f64 eps 10)))) (sqrt.f64 eps))))) (*.f64 -1/81 (*.f64 (pow.f64 -1 1/18) (*.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 11))))))))) (pow.f64 x 4)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (*.f64 (pow.f64 -1 1/18) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 eps))))) (*.f64 1/18 (*.f64 (pow.f64 -1 1/18) (*.f64 (+.f64 (*.f64 4 (pow.f64 eps 4)) (pow.f64 eps 4)) (*.f64 (pow.f64 1 1/9) (sqrt.f64 (/.f64 1 (pow.f64 eps 9)))))))) (pow.f64 x 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 -1 1/18) (*.f64 (sqrt.f64 eps) (pow.f64 1 1/9)))) x)))
(fma.f64 (fma.f64 7/81 (*.f64 (*.f64 1 (sqrt.f64 (pow.f64 eps (neg.f64 3)))) (pow.f64 -1 1/18)) (+.f64 (neg.f64 (*.f64 (*.f64 1 (*.f64 (fma.f64 1/432 (fma.f64 -24 (/.f64 (fma.f64 -4 (pow.f64 eps 3) (neg.f64 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 4)) eps))) (pow.f64 eps 5)) (/.f64 (*.f64 -12 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 2)) (pow.f64 eps 10))) (/.f64 (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 2)) (pow.f64 eps 10))) (sqrt.f64 eps))) (pow.f64 -1 1/18))) (*.f64 (*.f64 -1/81 (pow.f64 -1 1/18)) (*.f64 (*.f64 1 (sqrt.f64 (pow.f64 eps (neg.f64 11)))) (*.f64 (+.f64 4 1) (pow.f64 eps 4)))))) (pow.f64 x 4) (fma.f64 (fma.f64 2/9 (*.f64 (*.f64 1 (sqrt.f64 (/.f64 1 eps))) (pow.f64 -1 1/18)) (*.f64 (*.f64 1/18 (pow.f64 -1 1/18)) (*.f64 (*.f64 1 (sqrt.f64 (pow.f64 eps (neg.f64 9)))) (*.f64 (+.f64 4 1) (pow.f64 eps 4))))) (*.f64 x x) (+.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 eps) 1) (pow.f64 -1 1/18))) x)))
x
(+.f64 (*.f64 -1 x) x)
(+.f64 (neg.f64 x) x)
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) x)))
(fma.f64 -1/18 (*.f64 1 (/.f64 (*.f64 eps (+.f64 -1 -4)) x)) (+.f64 (neg.f64 x) (fma.f64 2/9 (/.f64 (*.f64 1 eps) x) x)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/9) (/.f64 (+.f64 (*.f64 1/216 (+.f64 (*.f64 24 (pow.f64 eps 2)) (*.f64 -48 (pow.f64 eps 2)))) (*.f64 2/81 (pow.f64 eps 2))) (pow.f64 x 3)))) (+.f64 (*.f64 -1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (+.f64 (*.f64 1/81 (*.f64 (pow.f64 1 1/9) (/.f64 (*.f64 eps (+.f64 (*.f64 -1 eps) (*.f64 -4 eps))) (pow.f64 x 3)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (pow.f64 x 3)))) (+.f64 (*.f64 -1 x) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) x))))))
(+.f64 (*.f64 -1 (/.f64 (fma.f64 1/216 (*.f64 (*.f64 eps eps) (+.f64 24 -48)) (*.f64 2/81 (*.f64 eps eps))) (pow.f64 x 3))) (fma.f64 -1/18 (*.f64 1 (/.f64 (*.f64 eps (+.f64 -1 -4)) x)) (fma.f64 1/81 (/.f64 (*.f64 1 (*.f64 eps (*.f64 eps (+.f64 -1 -4)))) (pow.f64 x 3)) (+.f64 (*.f64 -1 (/.f64 (fma.f64 1/648 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2) (*.f64 1/432 (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2))))) (pow.f64 x 3))) (+.f64 (neg.f64 x) (fma.f64 2/9 (/.f64 (*.f64 1 eps) x) x))))))
x
(*.f64 2 x)
(+.f64 (*.f64 -2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (*.f64 2 x)))
(fma.f64 -2/9 (/.f64 (*.f64 1 eps) x) (fma.f64 1/18 (*.f64 1 (/.f64 (*.f64 eps (+.f64 -1 -4)) x)) (*.f64 2 x)))
(+.f64 (*.f64 (pow.f64 1 1/9) (/.f64 (+.f64 (*.f64 1/216 (+.f64 (*.f64 24 (pow.f64 eps 2)) (*.f64 -48 (pow.f64 eps 2)))) (*.f64 2/81 (pow.f64 eps 2))) (pow.f64 x 3))) (+.f64 (*.f64 -1/81 (*.f64 (pow.f64 1 1/9) (/.f64 (*.f64 eps (+.f64 (*.f64 -1 eps) (*.f64 -4 eps))) (pow.f64 x 3)))) (+.f64 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (pow.f64 x 3))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 1 1/3) (/.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) x))) (+.f64 (*.f64 -2/9 (*.f64 (pow.f64 1 1/9) (/.f64 eps x))) (*.f64 2 x))))))
(fma.f64 1 (/.f64 (fma.f64 1/216 (*.f64 (*.f64 eps eps) (+.f64 24 -48)) (*.f64 2/81 (*.f64 eps eps))) (pow.f64 x 3)) (fma.f64 -1/81 (/.f64 (*.f64 1 (*.f64 eps (*.f64 eps (+.f64 -1 -4)))) (pow.f64 x 3)) (fma.f64 1 (/.f64 (fma.f64 1/648 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2) (*.f64 1/432 (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2))))) (pow.f64 x 3)) (fma.f64 1/18 (*.f64 1 (/.f64 (*.f64 eps (+.f64 -1 -4)) x)) (fma.f64 -2/9 (/.f64 (*.f64 1 eps) x) (*.f64 2 x))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) x)
(+.f64 (neg.f64 x) x)
(+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) (+.f64 (*.f64 eps (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/6) (/.f64 1 x))) (*.f64 5/18 (*.f64 (pow.f64 1 1/18) (/.f64 1 x))))) x))
(+.f64 (neg.f64 x) (fma.f64 eps (fma.f64 2/9 (/.f64 1 x) (*.f64 5/18 (/.f64 1 x))) x))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/18) (*.f64 (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))))) x))) (+.f64 (*.f64 -5/81 (*.f64 (pow.f64 1 1/18) (/.f64 1 (pow.f64 x 3)))) (*.f64 7/81 (*.f64 (pow.f64 1 1/6) (/.f64 1 (pow.f64 x 3))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) (+.f64 (*.f64 eps (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/6) (/.f64 1 x))) (*.f64 5/18 (*.f64 (pow.f64 1 1/18) (/.f64 1 x))))) x)))
(fma.f64 (*.f64 eps eps) (+.f64 (*.f64 -1 (*.f64 (fma.f64 25/648 (pow.f64 x (neg.f64 4)) (*.f64 1/36 (fma.f64 2 (/.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (pow.f64 x 10)) (neg.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 2) (pow.f64 x 20)))))) x)) (fma.f64 -5/81 (pow.f64 x (neg.f64 3)) (*.f64 7/81 (pow.f64 x (neg.f64 3))))) (+.f64 (neg.f64 x) (fma.f64 eps (fma.f64 2/9 (/.f64 1 x) (*.f64 5/18 (/.f64 1 x))) x)))
(+.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/18) (*.f64 (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))))) x))) (+.f64 (*.f64 -5/81 (*.f64 (pow.f64 1 1/18) (/.f64 1 (pow.f64 x 3)))) (*.f64 7/81 (*.f64 (pow.f64 1 1/6) (/.f64 1 (pow.f64 x 3))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 1 1/6) x)) (+.f64 (*.f64 (+.f64 (*.f64 -35/1458 (*.f64 (pow.f64 1 1/18) (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 112/2187 (*.f64 (pow.f64 1 1/6) (/.f64 1 (pow.f64 x 5)))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/18) (/.f64 (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))))) x))) (*.f64 -1 (*.f64 (pow.f64 1 1/18) (*.f64 x (-.f64 (+.f64 (*.f64 -5/648 (/.f64 (+.f64 (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (pow.f64 x 10))) (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20)))) (pow.f64 x 2))) (*.f64 1/108 (+.f64 (*.f64 6 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4))) (pow.f64 x 10))) (+.f64 (*.f64 2 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 3) (pow.f64 x 30))) (*.f64 -6 (/.f64 (*.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2)))) (pow.f64 x 20))))))) (*.f64 125/34992 (/.f64 1 (pow.f64 x 6)))))))))) (pow.f64 eps 3)) (+.f64 (*.f64 eps (+.f64 (*.f64 2/9 (*.f64 (pow.f64 1 1/6) (/.f64 1 x))) (*.f64 5/18 (*.f64 (pow.f64 1 1/18) (/.f64 1 x))))) x))))
(fma.f64 (*.f64 eps eps) (+.f64 (*.f64 -1 (*.f64 (fma.f64 25/648 (pow.f64 x (neg.f64 4)) (*.f64 1/36 (fma.f64 2 (/.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (pow.f64 x 10)) (neg.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 2) (pow.f64 x 20)))))) x)) (fma.f64 -5/81 (pow.f64 x (neg.f64 3)) (*.f64 7/81 (pow.f64 x (neg.f64 3))))) (+.f64 (neg.f64 x) (fma.f64 (fma.f64 -35/1458 (pow.f64 x (neg.f64 5)) (fma.f64 112/2187 (pow.f64 x (neg.f64 5)) (fma.f64 2/9 (/.f64 (*.f64 1 (fma.f64 25/648 (pow.f64 x (neg.f64 4)) (*.f64 1/36 (fma.f64 2 (/.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (pow.f64 x 10)) (neg.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 2) (pow.f64 x 20))))))) x) (*.f64 -1 (*.f64 x (-.f64 (fma.f64 -5/648 (/.f64 (fma.f64 2 (/.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (pow.f64 x 10)) (neg.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 2) (pow.f64 x 20)))) (*.f64 x x)) (*.f64 1/108 (fma.f64 -6 (/.f64 (*.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2))))) (pow.f64 x 20)) (fma.f64 6 (/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (pow.f64 x 10)) (/.f64 (*.f64 2 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 3)) (pow.f64 x 30)))))) (/.f64 125/34992 (pow.f64 x 6)))))))) (pow.f64 eps 3) (fma.f64 eps (fma.f64 2/9 (/.f64 1 x) (*.f64 5/18 (/.f64 1 x))) x))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) x)
(+.f64 (neg.f64 (*.f64 (pow.f64 (*.f64 eps eps) 1/9) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) x)
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) x)))
(fma.f64 1/18 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 7)) 1/9) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) (fma.f64 2/9 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 7)) 1/9) (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (*.f64 x x))) (+.f64 (neg.f64 (*.f64 (pow.f64 (*.f64 eps eps) 1/9) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) x)))
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/18 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 2/81 (pow.f64 x 4))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) x))))))
(fma.f64 1/18 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 7)) 1/9) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) (fma.f64 -1/81 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 16)) 1/9) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (*.f64 x x)))) (fma.f64 2/9 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 7)) 1/9) (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (*.f64 x x))) (+.f64 (neg.f64 (*.f64 (pow.f64 (*.f64 eps eps) 1/9) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) (+.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 16)) 1/9) (*.f64 (fma.f64 1/18 (*.f64 (pow.f64 x 4) (+.f64 -4 2)) (*.f64 2/81 (pow.f64 x 4))) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))))) (+.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (fma.f64 1/36 (fma.f64 -2 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2))) (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))) (pow.f64 (pow.f64 eps (neg.f64 16)) 1/9))) x))))))
(+.f64 (*.f64 -1/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 (pow.f64 eps 2) 1) 1/9) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 1/18 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 2/81 (pow.f64 x 4))) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))))) (+.f64 (*.f64 2/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))) (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2))))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/9) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 -1/648 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))))) (+.f64 (*.f64 1/108 (+.f64 (*.f64 -2 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (+.f64 (*.f64 -6 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2)))) (*.f64 -6 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))))))) (*.f64 -1/34992 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/18 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 2/81 (pow.f64 x 4))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 16)) 1/9) (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 25)) 1/9) (*.f64 (+.f64 (*.f64 1/54 (+.f64 (*.f64 -16 (pow.f64 x 6)) (*.f64 12 (pow.f64 x 6)))) (+.f64 (*.f64 -1/81 (*.f64 (+.f64 (*.f64 -4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (pow.f64 x 2))) (*.f64 -4/2187 (pow.f64 x 6)))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))) x))))))))))
(fma.f64 -1/81 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 16)) 1/9) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (*.f64 x x)))) (+.f64 (neg.f64 (*.f64 (pow.f64 (*.f64 eps eps) 1/9) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) (fma.f64 2/9 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 7)) 1/9) (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (*.f64 x x))) (fma.f64 1/18 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 25)) 1/9) (*.f64 (fma.f64 1/18 (*.f64 (pow.f64 x 4) (+.f64 -4 2)) (*.f64 2/81 (pow.f64 x 4))) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))))) (fma.f64 2/9 (*.f64 (*.f64 (fma.f64 1/36 (fma.f64 -2 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2))) (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2))) (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (*.f64 x x))) (pow.f64 (pow.f64 eps (neg.f64 25)) 1/9)) (fma.f64 1/18 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 7)) 1/9) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) (+.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 25)) 1/9) (fma.f64 -1/648 (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (fma.f64 -2 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))) (fma.f64 1/108 (fma.f64 -2 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 3) (*.f64 -6 (+.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))))))) (*.f64 -1/34992 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 3))))) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))) (+.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 16)) 1/9) (*.f64 (fma.f64 1/18 (*.f64 (pow.f64 x 4) (+.f64 -4 2)) (*.f64 2/81 (pow.f64 x 4))) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))))) (+.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (fma.f64 1/36 (fma.f64 -2 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2))) (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))) (pow.f64 (pow.f64 eps (neg.f64 16)) 1/9))) (+.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 eps (neg.f64 25)) 1/9) (*.f64 (fma.f64 1/54 (*.f64 (pow.f64 x 6) (+.f64 -16 12)) (fma.f64 -1/81 (*.f64 (*.f64 (pow.f64 x 4) (+.f64 -4 2)) (*.f64 x x)) (*.f64 -4/2187 (pow.f64 x 6)))) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))))) x))))))))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6)
(pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6)
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))))
(+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (*.f64 x x))))
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (pow.f64 x 4)))))
(+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6) (fma.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (*.f64 x x)) (*.f64 -5/72 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps (neg.f64 7))) 1/6) (pow.f64 x 4)))))
(+.f64 (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/6) (pow.f64 x 6))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 -5/72 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (pow.f64 x 4))))))
(fma.f64 -35/1296 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/6) (pow.f64 x 6)) (+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6) (fma.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (*.f64 x x)) (*.f64 -5/72 (*.f64 (pow.f64 (neg.f64 (pow.f64 eps (neg.f64 7))) 1/6) (pow.f64 x 4))))))
(pow.f64 (pow.f64 x 5) 1/3)
(cbrt.f64 (pow.f64 x 5))
(+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)) (pow.f64 (pow.f64 x 5) 1/3))
(fma.f64 -5/6 (*.f64 eps (cbrt.f64 (/.f64 1 x))) (cbrt.f64 (pow.f64 x 5)))
(+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2)))) (pow.f64 (pow.f64 x 5) 1/3)))
(fma.f64 -5/6 (*.f64 eps (cbrt.f64 (/.f64 1 x))) (fma.f64 (cbrt.f64 (pow.f64 x (neg.f64 7))) (*.f64 (*.f64 eps eps) (+.f64 25/72 -5/12)) (cbrt.f64 (pow.f64 x 5))))
(+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 1 x) 1/3) eps)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3) (+.f64 (*.f64 -125/1296 (pow.f64 eps 3)) (+.f64 (*.f64 25/72 (pow.f64 eps 3)) (*.f64 -5/18 (pow.f64 eps 3))))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2)))) (pow.f64 (pow.f64 x 5) 1/3))))
(fma.f64 -5/6 (*.f64 eps (cbrt.f64 (/.f64 1 x))) (fma.f64 (cbrt.f64 (pow.f64 x (neg.f64 13))) (fma.f64 -125/1296 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (+.f64 25/72 -5/18))) (fma.f64 (cbrt.f64 (pow.f64 x (neg.f64 7))) (*.f64 (*.f64 eps eps) (+.f64 25/72 -5/12)) (cbrt.f64 (pow.f64 x 5)))))
(pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3)
(cbrt.f64 (neg.f64 (pow.f64 x 5)))
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 x) 1/3) eps)))
(+.f64 (cbrt.f64 (neg.f64 (pow.f64 x 5))) (*.f64 -5/6 (*.f64 (cbrt.f64 (/.f64 -1 x)) eps)))
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 x) 1/3) eps)) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2))))))
(+.f64 (cbrt.f64 (neg.f64 (pow.f64 x 5))) (fma.f64 -5/6 (*.f64 (cbrt.f64 (/.f64 -1 x)) eps) (*.f64 (cbrt.f64 (neg.f64 (pow.f64 x (neg.f64 7)))) (*.f64 (*.f64 eps eps) (+.f64 25/72 -5/12)))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/3) (+.f64 (*.f64 -125/1296 (pow.f64 eps 3)) (+.f64 (*.f64 25/72 (pow.f64 eps 3)) (*.f64 -5/18 (pow.f64 eps 3))))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/3) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 x) 1/3) eps)) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 7)) 1/3) (+.f64 (*.f64 25/72 (pow.f64 eps 2)) (*.f64 -5/12 (pow.f64 eps 2)))))))
(fma.f64 (cbrt.f64 (neg.f64 (pow.f64 x (neg.f64 13)))) (fma.f64 -125/1296 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (+.f64 25/72 -5/18))) (+.f64 (cbrt.f64 (neg.f64 (pow.f64 x 5))) (fma.f64 -5/6 (*.f64 (cbrt.f64 (/.f64 -1 x)) eps) (*.f64 (cbrt.f64 (neg.f64 (pow.f64 x (neg.f64 7)))) (*.f64 (*.f64 eps eps) (+.f64 25/72 -5/12))))))
(*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3))
(*.f64 (sqrt.f64 1) (cbrt.f64 (pow.f64 x 5)))
(+.f64 (*.f64 -5/6 (*.f64 eps (pow.f64 (/.f64 1 x) 1/3))) (*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3)))
(fma.f64 -5/6 (*.f64 eps (cbrt.f64 (/.f64 1 x))) (*.f64 (sqrt.f64 1) (cbrt.f64 (pow.f64 x 5))))
(+.f64 (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3))) (+.f64 (*.f64 -5/6 (*.f64 eps (pow.f64 (/.f64 1 x) 1/3))) (*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3))))
(fma.f64 -5/72 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x (neg.f64 7)))) (fma.f64 -5/6 (*.f64 eps (cbrt.f64 (/.f64 1 x))) (*.f64 (sqrt.f64 1) (cbrt.f64 (pow.f64 x 5)))))
(+.f64 (*.f64 -5/72 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 7)) 1/3))) (+.f64 (*.f64 -5/6 (*.f64 eps (pow.f64 (/.f64 1 x) 1/3))) (+.f64 (*.f64 -35/1296 (*.f64 (pow.f64 eps 3) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/3))) (*.f64 (sqrt.f64 1) (pow.f64 (pow.f64 x 5) 1/3)))))
(fma.f64 -5/72 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x (neg.f64 7)))) (fma.f64 -5/6 (*.f64 eps (cbrt.f64 (/.f64 1 x))) (fma.f64 -35/1296 (*.f64 (pow.f64 eps 3) (cbrt.f64 (pow.f64 x (neg.f64 13)))) (*.f64 (sqrt.f64 1) (cbrt.f64 (pow.f64 x 5))))))
(exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))))
(+.f64 (*.f64 -5/6 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)) (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))))
(fma.f64 -5/6 (/.f64 (*.f64 (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 x x)) eps) (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))))
(+.f64 (*.f64 -5/6 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)) (+.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4)))) (pow.f64 eps 2))))
(+.f64 (fma.f64 -5/6 (/.f64 (*.f64 (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 x x)) eps) (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))))) (/.f64 (*.f64 (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 (pow.f64 x 4) (+.f64 25/72 -5/12))) (*.f64 eps eps)))
(+.f64 (*.f64 -5/6 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)) (+.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4)))) (pow.f64 eps 2)) (/.f64 (*.f64 (+.f64 (*.f64 -5/18 (pow.f64 x 6)) (+.f64 (*.f64 25/72 (pow.f64 x 6)) (*.f64 -125/1296 (pow.f64 x 6)))) (exp.f64 (*.f64 5/6 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)))))
(+.f64 (fma.f64 -5/6 (/.f64 (*.f64 (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 x x)) eps) (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 (pow.f64 x 4) (+.f64 25/72 -5/12))) (*.f64 eps eps)) (/.f64 (*.f64 (fma.f64 -5/18 (pow.f64 x 6) (*.f64 (pow.f64 x 6) (+.f64 25/72 -125/1296))) (pow.f64 (exp.f64 5/6) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))))) (pow.f64 eps 3))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6)
(pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6)
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))))
(+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6) (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (*.f64 x x))))
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4))))))
(+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6) (fma.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (*.f64 x x)) (*.f64 (pow.f64 (neg.f64 (pow.f64 eps (neg.f64 7))) 1/6) (*.f64 (pow.f64 x 4) (+.f64 25/72 -5/12)))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/6) (+.f64 (*.f64 -25/72 (pow.f64 x 6)) (+.f64 (*.f64 5/18 (pow.f64 x 6)) (*.f64 125/1296 (pow.f64 x 6)))))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/6) (+.f64 (*.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 7)) 1/6) (+.f64 (*.f64 25/72 (pow.f64 x 4)) (*.f64 -5/12 (pow.f64 x 4)))))))
(+.f64 (neg.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/6) (fma.f64 -25/72 (pow.f64 x 6) (*.f64 (pow.f64 x 6) (+.f64 5/18 125/1296))))) (+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/6) (fma.f64 -5/6 (*.f64 (pow.f64 (/.f64 -1 eps) 1/6) (*.f64 x x)) (*.f64 (pow.f64 (neg.f64 (pow.f64 eps (neg.f64 7))) 1/6) (*.f64 (pow.f64 x 4) (+.f64 25/72 -5/12))))))
(pow.f64 (pow.f64 eps 2) 1/3)
(cbrt.f64 (*.f64 eps eps))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))))
(+.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 x x))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (pow.f64 x 4)))))
(+.f64 (cbrt.f64 (*.f64 eps eps)) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 x x)) (*.f64 -1/9 (*.f64 (cbrt.f64 (pow.f64 eps (neg.f64 4))) (pow.f64 x 4)))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (+.f64 (*.f64 -4/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (pow.f64 x 6))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (pow.f64 x 4))))))
(+.f64 (cbrt.f64 (*.f64 eps eps)) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 x x)) (fma.f64 -4/81 (*.f64 (cbrt.f64 (pow.f64 eps (neg.f64 7))) (pow.f64 x 6)) (*.f64 -1/9 (*.f64 (cbrt.f64 (pow.f64 eps (neg.f64 4))) (pow.f64 x 4))))))
(pow.f64 (pow.f64 x 4) 1/3)
(cbrt.f64 (pow.f64 x 4))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (pow.f64 (pow.f64 x 4) 1/3))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (cbrt.f64 (pow.f64 x 4)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3)))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (fma.f64 (*.f64 (*.f64 eps eps) (+.f64 2/9 -1/3)) (cbrt.f64 (pow.f64 x (neg.f64 8))) (cbrt.f64 (pow.f64 x 4))))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 -4/81 (pow.f64 eps 3)) (+.f64 (*.f64 2/9 (pow.f64 eps 3)) (*.f64 -2/9 (pow.f64 eps 3)))) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/3)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3))))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (fma.f64 (fma.f64 -4/81 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (+.f64 2/9 -2/9))) (cbrt.f64 (pow.f64 x (neg.f64 14))) (fma.f64 (*.f64 (*.f64 eps eps) (+.f64 2/9 -1/3)) (cbrt.f64 (pow.f64 x (neg.f64 8))) (cbrt.f64 (pow.f64 x 4)))))
(pow.f64 (pow.f64 x 4) 1/3)
(cbrt.f64 (pow.f64 x 4))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (pow.f64 (pow.f64 x 4) 1/3))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (cbrt.f64 (pow.f64 x 4)))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3)))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (fma.f64 (*.f64 (*.f64 eps eps) (+.f64 2/9 -1/3)) (cbrt.f64 (pow.f64 x (neg.f64 8))) (cbrt.f64 (pow.f64 x 4))))
(+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3) eps)) (+.f64 (*.f64 (+.f64 (*.f64 -4/81 (pow.f64 eps 3)) (+.f64 (*.f64 2/9 (pow.f64 eps 3)) (*.f64 -2/9 (pow.f64 eps 3)))) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/3)) (+.f64 (*.f64 (+.f64 (*.f64 2/9 (pow.f64 eps 2)) (*.f64 -1/3 (pow.f64 eps 2))) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3)) (pow.f64 (pow.f64 x 4) 1/3))))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (fma.f64 (fma.f64 -4/81 (pow.f64 eps 3) (*.f64 (pow.f64 eps 3) (+.f64 2/9 -2/9))) (cbrt.f64 (pow.f64 x (neg.f64 14))) (fma.f64 (*.f64 (*.f64 eps eps) (+.f64 2/9 -1/3)) (cbrt.f64 (pow.f64 x (neg.f64 8))) (cbrt.f64 (pow.f64 x 4)))))
(pow.f64 (pow.f64 x 4) 1/3)
(cbrt.f64 (pow.f64 x 4))
(+.f64 (*.f64 -2/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (pow.f64 (pow.f64 x 4) 1/3))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (cbrt.f64 (pow.f64 x 4)))
(+.f64 (*.f64 -2/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3))) (pow.f64 (pow.f64 x 4) 1/3)))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (fma.f64 -1/9 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x (neg.f64 8)))) (cbrt.f64 (pow.f64 x 4))))
(+.f64 (*.f64 -2/3 (*.f64 eps (pow.f64 (/.f64 1 (pow.f64 x 2)) 1/3))) (+.f64 (*.f64 -1/9 (*.f64 (pow.f64 eps 2) (pow.f64 (/.f64 1 (pow.f64 x 8)) 1/3))) (+.f64 (*.f64 -4/81 (*.f64 (pow.f64 eps 3) (pow.f64 (/.f64 1 (pow.f64 x 14)) 1/3))) (pow.f64 (pow.f64 x 4) 1/3))))
(fma.f64 -2/3 (*.f64 (cbrt.f64 (pow.f64 x (neg.f64 2))) eps) (fma.f64 -1/9 (*.f64 (*.f64 eps eps) (cbrt.f64 (pow.f64 x (neg.f64 8)))) (fma.f64 -4/81 (*.f64 (pow.f64 eps 3) (cbrt.f64 (pow.f64 x (neg.f64 14)))) (cbrt.f64 (pow.f64 x 4)))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps))))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps)))))
(+.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -2/3 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))
(+.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (/.f64 (*.f64 -2/3 (*.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 x x))) eps))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4)))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (*.f64 -2/3 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps))))
(+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 (pow.f64 x 4) (+.f64 -1/3 2/9))) (*.f64 eps eps)) (+.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (/.f64 (*.f64 -2/3 (*.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 x x))) eps)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4)))) (pow.f64 eps 2)) (+.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 -2/9 (pow.f64 x 6)) (+.f64 (*.f64 2/9 (pow.f64 x 6)) (*.f64 -4/81 (pow.f64 x 6))))) (pow.f64 eps 3)) (*.f64 -2/3 (/.f64 (*.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 1 eps)))))) (pow.f64 x 2)) eps)))))
(+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 (pow.f64 x 4) (+.f64 -1/3 2/9))) (*.f64 eps eps)) (+.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (fma.f64 -2/9 (pow.f64 x 6) (*.f64 (pow.f64 x 6) (+.f64 2/9 -4/81)))) (pow.f64 eps 3)) (/.f64 (*.f64 -2/3 (*.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 -1) (neg.f64 (neg.f64 (log.f64 eps))))) (*.f64 x x))) eps))))
(pow.f64 (pow.f64 eps 2) 1/3)
(cbrt.f64 (*.f64 eps eps))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))))
(+.f64 (cbrt.f64 (*.f64 eps eps)) (*.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 x x))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4))))))
(+.f64 (cbrt.f64 (*.f64 eps eps)) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 x x)) (*.f64 (cbrt.f64 (pow.f64 eps (neg.f64 4))) (*.f64 (pow.f64 x 4) (+.f64 -1/3 2/9)))))
(+.f64 (pow.f64 (pow.f64 eps 2) 1/3) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 7)) 1/3) (+.f64 (*.f64 -2/9 (pow.f64 x 6)) (+.f64 (*.f64 2/9 (pow.f64 x 6)) (*.f64 4/81 (pow.f64 x 6)))))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 eps) 1/3) (pow.f64 x 2))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 eps 4)) 1/3) (+.f64 (*.f64 -1/3 (pow.f64 x 4)) (*.f64 2/9 (pow.f64 x 4)))))))
(+.f64 (cbrt.f64 (*.f64 eps eps)) (+.f64 (neg.f64 (*.f64 (cbrt.f64 (pow.f64 eps (neg.f64 7))) (fma.f64 -2/9 (pow.f64 x 6) (*.f64 (pow.f64 x 6) (+.f64 2/9 4/81))))) (fma.f64 -2/3 (*.f64 (cbrt.f64 (/.f64 1 eps)) (*.f64 x x)) (*.f64 (cbrt.f64 (pow.f64 eps (neg.f64 4))) (*.f64 (pow.f64 x 4) (+.f64 -1/3 2/9))))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18)
(pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18)
(+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18) (*.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) (pow.f64 x 2)))))
(+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18) (*.f64 (*.f64 -1/18 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18)) (*.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) (*.f64 x x))))
(+.f64 (*.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (+.f64 (*.f64 1/432 (+.f64 (*.f64 -24 (/.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (pow.f64 eps 5))) (*.f64 -12 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10))))) (*.f64 1/648 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10)))) (pow.f64 x 4))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18) (*.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) (pow.f64 x 2))))))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18) (*.f64 (fma.f64 1/432 (fma.f64 -24 (/.f64 (fma.f64 -4 (pow.f64 eps 3) (neg.f64 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 4)) eps))) (pow.f64 eps 5)) (/.f64 (*.f64 -12 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 2)) (pow.f64 eps 10))) (/.f64 (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 2)) (pow.f64 eps 10))) (pow.f64 x 4)) (+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18) (*.f64 (*.f64 -1/18 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18)) (*.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) (*.f64 x x)))))
(+.f64 (*.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (+.f64 (*.f64 1/432 (+.f64 (*.f64 -24 (/.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (pow.f64 eps 5))) (*.f64 -12 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10))))) (*.f64 1/648 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10)))) (pow.f64 x 4))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (+.f64 (*.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (+.f64 (*.f64 1/12960 (+.f64 (*.f64 -720 (/.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2))) (pow.f64 eps 5))) (+.f64 (*.f64 -720 (/.f64 (*.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4)))) (pow.f64 eps 10))) (*.f64 -240 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 3) (pow.f64 eps 15)))))) (+.f64 (*.f64 -1/7776 (/.f64 (*.f64 (+.f64 (*.f64 -24 (/.f64 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps))) (pow.f64 eps 5))) (*.f64 -12 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 2) (pow.f64 eps 10)))) (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4)))) (pow.f64 eps 5))) (*.f64 -1/34992 (/.f64 (pow.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) 3) (pow.f64 eps 15))))) (pow.f64 x 6))) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18) (*.f64 (+.f64 (pow.f64 eps 4) (*.f64 4 (pow.f64 eps 4))) (pow.f64 x 2)))))))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18) (*.f64 (fma.f64 1/432 (fma.f64 -24 (/.f64 (fma.f64 -4 (pow.f64 eps 3) (neg.f64 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 4)) eps))) (pow.f64 eps 5)) (/.f64 (*.f64 -12 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 2)) (pow.f64 eps 10))) (/.f64 (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 2)) (pow.f64 eps 10))) (pow.f64 x 4)) (+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18) (fma.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18) (*.f64 (fma.f64 1/12960 (fma.f64 -720 (/.f64 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (pow.f64 eps 5)) (fma.f64 -720 (/.f64 (*.f64 (fma.f64 -4 (pow.f64 eps 3) (neg.f64 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 4)) eps))) (*.f64 (+.f64 4 1) (pow.f64 eps 4))) (pow.f64 eps 10)) (/.f64 (*.f64 -240 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 3)) (pow.f64 eps 15)))) (fma.f64 -1/7776 (/.f64 (*.f64 (fma.f64 -24 (/.f64 (fma.f64 -4 (pow.f64 eps 3) (neg.f64 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 4)) eps))) (pow.f64 eps 5)) (/.f64 (*.f64 -12 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 2)) (pow.f64 eps 10))) (*.f64 (+.f64 4 1) (pow.f64 eps 4))) (pow.f64 eps 5)) (/.f64 (*.f64 -1/34992 (pow.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) 3)) (pow.f64 eps 15)))) (pow.f64 x 6)) (*.f64 (*.f64 -1/18 (pow.f64 (/.f64 -1 (pow.f64 eps 85)) 1/18)) (*.f64 (*.f64 (+.f64 4 1) (pow.f64 eps 4)) (*.f64 x x))))))
(pow.f64 (pow.f64 x 5) 1/9)
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (pow.f64 (pow.f64 x 5) 1/9))
(fma.f64 1/18 (*.f64 (pow.f64 (pow.f64 x (neg.f64 13)) 1/9) (*.f64 eps (+.f64 -1 -4))) (pow.f64 (pow.f64 x 5) 1/9))
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (pow.f64 (pow.f64 x 5) 1/9)))
(fma.f64 1/18 (*.f64 (pow.f64 (pow.f64 x (neg.f64 13)) 1/9) (*.f64 eps (+.f64 -1 -4))) (fma.f64 (pow.f64 (pow.f64 x (neg.f64 31)) 1/9) (fma.f64 1/648 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2) (*.f64 1/432 (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2))))) (pow.f64 (pow.f64 x 5) 1/9)))
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 49)) 1/9) (+.f64 (*.f64 1/7776 (*.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (+.f64 (*.f64 1/34992 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (*.f64 1/12960 (+.f64 (*.f64 240 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (+.f64 (*.f64 -720 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2))) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (*.f64 720 (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps)) (*.f64 -4 (pow.f64 eps 3)))))))))) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (pow.f64 (pow.f64 x 5) 1/9))))
(fma.f64 1/18 (*.f64 (pow.f64 (pow.f64 x (neg.f64 13)) 1/9) (*.f64 eps (+.f64 -1 -4))) (fma.f64 (pow.f64 (pow.f64 x (neg.f64 49)) 1/9) (fma.f64 1/7776 (*.f64 (*.f64 eps (+.f64 -1 -4)) (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2)))) (fma.f64 1/34992 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 3) (*.f64 1/12960 (fma.f64 240 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 3) (fma.f64 -720 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 eps (+.f64 -1 -4))) (*.f64 720 (fma.f64 -4 (pow.f64 eps 3) (neg.f64 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 4)) eps))))))))) (fma.f64 (pow.f64 (pow.f64 x (neg.f64 31)) 1/9) (fma.f64 1/648 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2) (*.f64 1/432 (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2))))) (pow.f64 (pow.f64 x 5) 1/9))))
(pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9)
(pow.f64 (neg.f64 (pow.f64 x 5)) 1/9)
(+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9))
(fma.f64 1/18 (*.f64 (pow.f64 (neg.f64 (pow.f64 x (neg.f64 13))) 1/9) (*.f64 eps (+.f64 -1 -4))) (pow.f64 (neg.f64 (pow.f64 x 5)) 1/9))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9)))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 x (neg.f64 31))) 1/9) (fma.f64 1/648 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2) (*.f64 1/432 (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2))))) (fma.f64 1/18 (*.f64 (pow.f64 (neg.f64 (pow.f64 x (neg.f64 13))) 1/9) (*.f64 eps (+.f64 -1 -4))) (pow.f64 (neg.f64 (pow.f64 x 5)) 1/9)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 31)) 1/9) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)) (*.f64 1/432 (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2)))))) (+.f64 (*.f64 1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 13)) 1/9) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 x 49)) 1/9) (+.f64 (*.f64 1/7776 (*.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) (+.f64 (*.f64 24 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2)))) (*.f64 -12 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 2))))) (+.f64 (*.f64 1/34992 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (*.f64 1/12960 (+.f64 (*.f64 240 (pow.f64 (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)) 3)) (+.f64 (*.f64 -720 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 8 (pow.f64 eps 2))) (+.f64 (*.f64 -1 eps) (*.f64 -4 eps)))) (*.f64 720 (+.f64 (*.f64 -4 (pow.f64 eps 3)) (*.f64 -1 (*.f64 (+.f64 (*.f64 2 (pow.f64 eps 2)) (*.f64 4 (pow.f64 eps 2))) eps)))))))))) (pow.f64 (*.f64 -1 (pow.f64 x 5)) 1/9))))
(fma.f64 (pow.f64 (neg.f64 (pow.f64 x (neg.f64 31))) 1/9) (fma.f64 1/648 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2) (*.f64 1/432 (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2))))) (fma.f64 1/18 (*.f64 (pow.f64 (neg.f64 (pow.f64 x (neg.f64 13))) 1/9) (*.f64 eps (+.f64 -1 -4))) (fma.f64 (pow.f64 (neg.f64 (pow.f64 x (neg.f64 49))) 1/9) (fma.f64 1/7776 (*.f64 (*.f64 eps (+.f64 -1 -4)) (fma.f64 24 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 -12 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 2)))) (fma.f64 1/34992 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 3) (*.f64 1/12960 (fma.f64 240 (pow.f64 (*.f64 eps (+.f64 -1 -4)) 3) (fma.f64 -720 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 8)) (*.f64 eps (+.f64 -1 -4))) (*.f64 720 (fma.f64 -4 (pow.f64 eps 3) (neg.f64 (*.f64 (*.f64 (*.f64 eps eps) (+.f64 2 4)) eps))))))))) (pow.f64 (neg.f64 (pow.f64 x 5)) 1/9))))
(*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9))
(*.f64 1 (pow.f64 (pow.f64 x 5) 1/9))
(+.f64 (*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9)) (*.f64 -5/18 (*.f64 eps (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9)))))
(fma.f64 1 (pow.f64 (pow.f64 x 5) 1/9) (*.f64 (*.f64 -5/18 eps) (*.f64 1 (pow.f64 (pow.f64 x (neg.f64 13)) 1/9))))
(+.f64 (*.f64 (pow.f64 1 1/6) (*.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20))) (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))) (pow.f64 x 10))))))) (pow.f64 (pow.f64 x 5) 1/9))) (+.f64 (*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9)) (*.f64 -5/18 (*.f64 eps (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9))))))
(fma.f64 1 (*.f64 (pow.f64 (pow.f64 x 5) 1/9) (*.f64 (*.f64 eps eps) (fma.f64 25/648 (pow.f64 x (neg.f64 4)) (*.f64 1/36 (fma.f64 2 (/.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (pow.f64 x 10)) (neg.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 2) (pow.f64 x 20)))))))) (fma.f64 1 (pow.f64 (pow.f64 x 5) 1/9) (*.f64 (*.f64 -5/18 eps) (*.f64 1 (pow.f64 (pow.f64 x (neg.f64 13)) 1/9)))))
(+.f64 (*.f64 (pow.f64 1 1/6) (*.f64 (*.f64 (pow.f64 eps 3) (-.f64 (+.f64 (*.f64 -5/648 (/.f64 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20))) (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))) (pow.f64 x 10)))) (pow.f64 x 2))) (*.f64 1/108 (+.f64 (*.f64 -6 (/.f64 (*.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (pow.f64 x 20))) (+.f64 (*.f64 6 (/.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4))) (pow.f64 x 10))) (*.f64 2 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 3) (pow.f64 x 30))))))) (*.f64 125/34992 (/.f64 1 (pow.f64 x 6))))) (pow.f64 (pow.f64 x 5) 1/9))) (+.f64 (*.f64 (pow.f64 1 1/6) (*.f64 (*.f64 (pow.f64 eps 2) (+.f64 (*.f64 25/648 (/.f64 1 (pow.f64 x 4))) (*.f64 1/36 (+.f64 (*.f64 -1 (/.f64 (pow.f64 (+.f64 (*.f64 -4 (pow.f64 x 8)) (*.f64 -1 (pow.f64 x 8))) 2) (pow.f64 x 20))) (*.f64 2 (/.f64 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))) (pow.f64 x 10))))))) (pow.f64 (pow.f64 x 5) 1/9))) (+.f64 (*.f64 (pow.f64 1 1/6) (pow.f64 (pow.f64 x 5) 1/9)) (*.f64 -5/18 (*.f64 eps (*.f64 (pow.f64 (pow.f64 1 5) 1/18) (pow.f64 (/.f64 1 (pow.f64 x 13)) 1/9)))))))
(fma.f64 1 (*.f64 (*.f64 (pow.f64 eps 3) (-.f64 (fma.f64 -5/648 (/.f64 (fma.f64 2 (/.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (pow.f64 x 10)) (neg.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 2) (pow.f64 x 20)))) (*.f64 x x)) (*.f64 1/108 (fma.f64 -6 (/.f64 (*.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2))))) (pow.f64 x 20)) (fma.f64 6 (/.f64 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (pow.f64 x 10)) (/.f64 (*.f64 2 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 3)) (pow.f64 x 30)))))) (/.f64 125/34992 (pow.f64 x 6)))) (pow.f64 (pow.f64 x 5) 1/9)) (fma.f64 1 (*.f64 (pow.f64 (pow.f64 x 5) 1/9) (*.f64 (*.f64 eps eps) (fma.f64 25/648 (pow.f64 x (neg.f64 4)) (*.f64 1/36 (fma.f64 2 (/.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (pow.f64 x 10)) (neg.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 x 8) (+.f64 -4 -1)) 2) (pow.f64 x 20)))))))) (fma.f64 1 (pow.f64 (pow.f64 x 5) 1/9) (*.f64 (*.f64 -5/18 eps) (*.f64 1 (pow.f64 (pow.f64 x (neg.f64 13)) 1/9))))))
(exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))
(pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))
(+.f64 (*.f64 -1/18 (/.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) eps)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))
(fma.f64 -1/18 (/.f64 (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))) eps) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))))) (pow.f64 eps 2)) (+.f64 (*.f64 -1/18 (/.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) eps)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))))
(+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (fma.f64 1/36 (fma.f64 -2 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2))) (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))) (*.f64 eps eps)) (fma.f64 -1/18 (/.f64 (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))) eps) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))) (+.f64 (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 1/36 (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))))) (pow.f64 eps 2)) (+.f64 (*.f64 -1/18 (/.f64 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) eps)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/648 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -2 (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))) (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))))) (+.f64 (*.f64 -1/34992 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (*.f64 1/108 (+.f64 (*.f64 -2 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (+.f64 (*.f64 -6 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (*.f64 -6 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -1 (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))) (*.f64 -4 (pow.f64 x 4)))))))))) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps))))))) (pow.f64 eps 3)) (exp.f64 (*.f64 1/18 (+.f64 (log.f64 -1) (*.f64 -5 (log.f64 (/.f64 1 eps)))))))))
(+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))) (fma.f64 1/36 (fma.f64 -2 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2))) (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))) (*.f64 eps eps)) (fma.f64 -1/18 (/.f64 (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))) eps) (+.f64 (/.f64 (*.f64 (fma.f64 -1/648 (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (fma.f64 -2 (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))) (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))) (fma.f64 1/108 (fma.f64 -2 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 3) (*.f64 -6 (+.f64 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2)))) (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (+.f64 (neg.f64 (*.f64 (pow.f64 x 4) (+.f64 4 2))) (*.f64 -4 (pow.f64 x 4))))))) (*.f64 -1/34992 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 3)))) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps)))))) (pow.f64 eps 3)) (pow.f64 (exp.f64 1/18) (+.f64 (log.f64 -1) (*.f64 -5 (neg.f64 (log.f64 eps))))))))
(pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18)
(pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18)
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18))
(fma.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (*.f64 (+.f64 4 1) (*.f64 x x))) (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18))
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 31)) 1/18) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 2 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2))))))
(+.f64 (fma.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (*.f64 (+.f64 4 1) (*.f64 x x))) (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18)) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 31)) 1/18) (fma.f64 1/36 (+.f64 (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)) (*.f64 2 (*.f64 (pow.f64 x 4) (+.f64 8 2)))) (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))))
(+.f64 (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 49)) 1/18) (+.f64 (*.f64 1/648 (*.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) (+.f64 (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 2 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))))) (+.f64 (*.f64 1/108 (+.f64 (*.f64 2 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)) (+.f64 (*.f64 -6 (*.f64 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))) (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)))) (*.f64 6 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 (pow.f64 x 2) (+.f64 (*.f64 4 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4))))))))) (*.f64 1/34992 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 3)))))) (+.f64 (pow.f64 (*.f64 -1 (pow.f64 eps 5)) 1/18) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 31)) 1/18) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -1 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)) (*.f64 2 (+.f64 (*.f64 8 (pow.f64 x 4)) (*.f64 2 (pow.f64 x 4)))))) (*.f64 1/648 (pow.f64 (+.f64 (*.f64 4 (pow.f64 x 2)) (pow.f64 x 2)) 2)))))))
(fma.f64 -1/18 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 13)) 1/18) (*.f64 (+.f64 4 1) (*.f64 x x))) (+.f64 (neg.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 49)) 1/18) (fma.f64 1/648 (*.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) (+.f64 (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)) (*.f64 2 (*.f64 (pow.f64 x 4) (+.f64 8 2))))) (fma.f64 1/108 (fma.f64 2 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 3) (fma.f64 -6 (*.f64 (*.f64 (pow.f64 x 4) (+.f64 8 2)) (*.f64 (+.f64 4 1) (*.f64 x x))) (*.f64 6 (fma.f64 4 (pow.f64 x 6) (*.f64 (*.f64 x x) (*.f64 (pow.f64 x 4) (+.f64 4 2))))))) (*.f64 1/34992 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 3)))))) (+.f64 (pow.f64 (neg.f64 (pow.f64 eps 5)) 1/18) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 eps 31)) 1/18) (fma.f64 1/36 (+.f64 (neg.f64 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)) (*.f64 2 (*.f64 (pow.f64 x 4) (+.f64 8 2)))) (*.f64 1/648 (pow.f64 (*.f64 (+.f64 4 1) (*.f64 x x)) 2)))))))

eval605.0ms (7.4%)

Compiler

Compiled 32140 to 20147 computations (37.3% saved)

prune179.0ms (2.2%)

Pruning

36 alts after pruning (25 fresh and 11 done)

PrunedKeptTotal
New109091099
Fresh101626
Picked011
Done21012
Total1102361138
Error
0.4b
Counts
1138 → 36
Alt Table
Click to see full alt table
StatusErrorProgram
27.9b
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 3)) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
30.0b
(fma.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18)) (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 4/3) x)
59.1b
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
29.2b
(fma.f64 (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/3)) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
33.5b
(*.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) (cbrt.f64 -1/4))
33.8b
(/.f64 (pow.f64 (neg.f64 (cbrt.f64 (*.f64 eps 1/2))) 3) (neg.f64 x))
29.9b
(-.f64 x (sqrt.f64 (neg.f64 eps)))
34.9b
(/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (pow.f64 x 2/3))
28.2b
(pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 4) 2))) 3)
33.5b
(*.f64 (*.f64 (cbrt.f64 1/4) (/.f64 eps x)) (cbrt.f64 1/2))
61.1b
0
26.9b
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
35.2b
(*.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (pow.f64 x -1/3))
27.2b
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
37.0b
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
27.4b
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
61.8b
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
27.3b
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
28.0b
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 3) 3)
50.9b
(*.f64 (pow.f64 eps 2/3) (/.f64 (cbrt.f64 eps) (*.f64 x 2)))
46.6b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
61.7b
x
33.4b
(*.f64 eps (/.f64 1/2 x))
27.6b
(pow.f64 (cbrt.f64 (fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) x)) 3)
27.2b
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
33.9b
(pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) 3)
37.5b
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (/.f64 (*.f64 1/2 eps) x))
33.5b
(*.f64 (neg.f64 (*.f64 eps (/.f64 (cbrt.f64 -1/2) x))) (cbrt.f64 1/4))
26.4b
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
60.6b
(-.f64 x (*.f64 -1/2 (/.f64 eps x)))
26.4b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
36.8b
(cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))
27.6b
(fma.f64 (neg.f64 (*.f64 (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
33.3b
(/.f64 (/.f64 eps x) 2)
61.8b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))
43.6b
(+.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)))))
Compiler

Compiled 558 to 363 computations (34.9% saved)

regimes266.0ms (3.3%)

Counts
64 → 2
Calls
Call 1
Inputs
0
x
x
0
0
x
(-.f64 x x)
(*.f64 2 x)
(*.f64 eps (/.f64 1/2 x))
(/.f64 (/.f64 eps x) 2)
(*.f64 1/2 (/.f64 eps x))
(*.f64 (neg.f64 eps) (/.f64 -1/2 x))
(-.f64 x (*.f64 -1/2 (/.f64 eps x)))
(-.f64 x (+.f64 (*.f64 -1/2 (/.f64 eps x)) x))
(-.f64 x (sqrt.f64 (neg.f64 eps)))
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)) 3)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 1/2 eps) x)) 3)
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
(*.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2)) (cbrt.f64 -1/4))
(*.f64 (*.f64 (cbrt.f64 1/4) (/.f64 eps x)) (cbrt.f64 1/2))
(/.f64 (pow.f64 (neg.f64 (cbrt.f64 (*.f64 eps 1/2))) 3) (neg.f64 x))
(/.f64 (*.f64 eps (cbrt.f64 (/.f64 1/8 x))) (pow.f64 x 2/3))
(*.f64 (pow.f64 eps 2/3) (/.f64 (cbrt.f64 eps) (*.f64 x 2)))
(/.f64 (*.f64 (/.f64 eps (cbrt.f64 x)) 1/2) (pow.f64 x 2/3))
(*.f64 (neg.f64 (*.f64 eps (/.f64 (cbrt.f64 -1/2) x))) (cbrt.f64 1/4))
(*.f64 (neg.f64 (cbrt.f64 -1/2)) (*.f64 (cbrt.f64 1/4) (/.f64 eps x)))
(*.f64 (neg.f64 (*.f64 (/.f64 eps x) (cbrt.f64 -1/2))) (cbrt.f64 1/4))
(*.f64 (*.f64 (*.f64 eps 1/2) (pow.f64 x -2/3)) (pow.f64 x -1/3))
(/.f64 (*.f64 1/2 (/.f64 eps (cbrt.f64 x))) (cbrt.f64 (*.f64 x x)))
(*.f64 (cbrt.f64 (/.f64 -1/8 x)) (neg.f64 (/.f64 eps (cbrt.f64 (*.f64 x x)))))
(*.f64 (pow.f64 (/.f64 (*.f64 eps 1/2) x) 2/3) (cbrt.f64 (/.f64 (*.f64 eps 1/2) x)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (/.f64 (*.f64 1/2 eps) x))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (/.f64 (*.f64 1/2 eps) x))
(-.f64 x (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 3/2)))
(*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 eps -1/2) x)) (pow.f64 (/.f64 eps x) 2/3))) (cbrt.f64 1/4))
(cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))
(cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))
(pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) 3)
(cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3))
(-.f64 x (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 3)))
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
(pow.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 3) 1/3)
(*.f64 (neg.f64 (*.f64 (cbrt.f64 (/.f64 eps x)) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2)))) (cbrt.f64 1/4))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (+.f64 (*.f64 1/2 (/.f64 eps x)) (*.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)))))
(fma.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
(*.f64 (neg.f64 (/.f64 (*.f64 (cbrt.f64 eps) (*.f64 (pow.f64 (/.f64 eps x) 2/3) (cbrt.f64 -1/2))) (cbrt.f64 x))) (cbrt.f64 1/4))
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 3) 3)
(fma.f64 (neg.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
(fma.f64 (neg.f64 (pow.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))) 1/3)) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/4)) x)
(fma.f64 (neg.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 1/18)) (pow.f64 (cbrt.f64 (fma.f64 x x (neg.f64 eps))) 4/3) x)
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)
(fma.f64 (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2) (*.f64 1/16 (pow.f64 eps 4))) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(pow.f64 (cbrt.f64 (fma.f64 (cbrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (cbrt.f64 (neg.f64 (fma.f64 x x (neg.f64 eps)))) x)) 3)
(*.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))
(fma.f64 1/8 (/.f64 (*.f64 eps eps) (pow.f64 x 3)) (+.f64 (*.f64 1/2 (+.f64 (/.f64 (fma.f64 (pow.f64 eps 4) 1/16 (pow.f64 (*.f64 -1/8 (*.f64 eps eps)) 2)) (pow.f64 x 7)) (/.f64 eps x))) (/.f64 (*.f64 1/16 (pow.f64 eps 3)) (pow.f64 x 5))))
(pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) x)) 3)
(fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 5/6))) 3)) (cbrt.f64 (pow.f64 (fma.f64 x x (neg.f64 eps)) 2/3)) x)
(fma.f64 (neg.f64 (*.f64 (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) (cbrt.f64 (neg.f64 (sqrt.f64 (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))))) (cbrt.f64 (fma.f64 x x (neg.f64 eps))) x)
(pow.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))) (+.f64 2 1/3))) (cbrt.f64 (cbrt.f64 (pow.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) 2/3)))) 3)
(pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))))) 4) 2))) 3)
Outputs
(-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps))))
(/.f64 (/.f64 eps x) 2)
Calls

4 calls:

100.0ms
eps
56.0ms
x
46.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
41.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Results
ErrorSegmentsBranch
4.9b2x
11.9b4eps
1.1b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
1.1b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 858 to 417 computations (51.4% saved)

bsearch1.0ms (0%)

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

Compiled 15 to 10 computations (33.3% saved)

regimes95.0ms (1.2%)

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

4 calls:

33.0ms
eps
20.0ms
x
20.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
18.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Results
ErrorSegmentsBranch
5.0b2x
11.9b4eps
1.1b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
1.1b2(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 106 to 61 computations (42.5% saved)

bsearch0.0ms (0%)

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

Compiled 15 to 10 computations (33.3% saved)

regimes66.0ms (0.8%)

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

2 calls:

46.0ms
eps
16.0ms
x
Results
ErrorSegmentsBranch
6.4b2x
12.7b6eps
Compiler

Compiled 62 to 33 computations (46.8% saved)

bsearch105.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
105.0ms
8.240376877716272e-88
3.893349289366036e-87
Compiler

Compiled 111 to 82 computations (26.1% saved)

regimes22.0ms (0.3%)

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

2 calls:

12.0ms
eps
7.0ms
x
Results
ErrorSegmentsBranch
33.3b1x
33.3b1eps
Compiler

Compiled 57 to 31 computations (45.6% saved)

regimes15.0ms (0.2%)

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

2 calls:

8.0ms
x
5.0ms
eps
Results
ErrorSegmentsBranch
33.4b1x
33.4b1eps
Compiler

Compiled 25 to 15 computations (40% saved)

regimes12.0ms (0.1%)

Accuracy

Total -0.9b remaining (-1.4%)

Threshold costs -0.9b (-1.4%)

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

2 calls:

5.0ms
x
5.0ms
eps
Results
ErrorSegmentsBranch
61.1b1x
61.1b1eps
Compiler

Compiled 20 to 12 computations (40% saved)

simplify59.0ms (0.7%)

Algorithm
egg-herbie
Stop Event
fuel
Calls
Call 1
Inputs
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -7547924849643083/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (/.f64 (/.f64 eps x) 2))
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -7547924849643083/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (/.f64 eps x) 2))
(if (<=.f64 x 3762771166858711/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (/.f64 eps x) 2))
(/.f64 (/.f64 eps x) 2)
(*.f64 eps (/.f64 1/2 x))
0
Outputs
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -7547924849643083/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (sqrt.f64 (fma.f64 x x (neg.f64 eps)))) (/.f64 (/.f64 eps x) 2))
(if (<=.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))) -7547924849643083/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))) (/.f64 (*.f64 eps 1/2) x))
(if (<=.f64 (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) -7547924849643083/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (/.f64 (/.f64 eps x) 2))
(if (<=.f64 (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))) -7547924849643083/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (-.f64 x (hypot.f64 x (sqrt.f64 (neg.f64 eps)))) (/.f64 (*.f64 eps 1/2) x))
(if (<=.f64 x 3762771166858711/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (/.f64 eps x) 2))
(if (<=.f64 x 3762771166858711/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552) (-.f64 x (sqrt.f64 (neg.f64 eps))) (/.f64 (*.f64 eps 1/2) x))
(/.f64 (/.f64 eps x) 2)
(/.f64 (*.f64 eps 1/2) x)
(*.f64 eps (/.f64 1/2 x))
(/.f64 (*.f64 eps 1/2) x)
0
Compiler

Compiled 85 to 52 computations (38.8% saved)

soundness0.0ms (0%)

end42.0ms (0.5%)

Compiler

Compiled 75 to 34 computations (54.7% saved)

Profiling

Loading profile data...