Details

Time bar (total: 6.6s)

analyze61.0ms (0.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
28.6%25%62.4%0.1%12.5%0%0%6
36.4%25%43.7%0.1%31.2%0%0%7
50%31.2%31.2%0.1%37.5%0%0%8
62.5%39%23.4%0.1%37.5%0%0%9
72.4%42.9%16.4%0.1%40.6%0%0%10
79.6%47.2%12.1%0.1%40.6%0%0%11
85.5%49.4%8.4%0.1%42.1%0%0%12
Compiler

Compiled 14 to 9 computations (35.7% saved)

sample1.3s (19.4%)

Results
1.2s8256×body256valid
28.0ms229×body256infinite
Bogosity

preprocess262.0ms (4%)

Algorithm
egglog
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(+.f64 (+.f64 (*.f64 y 2) (*.f64 y y)) (*.f64 x x))
Outputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(fma.f64 y y (*.f64 x (+.f64 2 x)))
(+.f64 (+.f64 (*.f64 y 2) (*.f64 y y)) (*.f64 x x))
(fma.f64 x x (*.f64 y (+.f64 2 y)))
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify109.0ms (1.7%)

Algorithm
egglog
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
Outputs
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(fma.f64 y y (*.f64 x (+.f64 2 x)))

eval1.0ms (0%)

Compiler

Compiled 21 to 12 computations (42.9% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0b
(fma.f64 y y (*.f64 x (+.f64 2 x)))
0.0b
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
Compiler

Compiled 23 to 14 computations (39.1% saved)

localize44.0ms (0.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
0.0b
(+.f64 (*.f64 x 2) (*.f64 x x))
Compiler

Compiled 32 to 14 computations (56.3% saved)

series58.0ms (0.9%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@inf
(+.f64 (*.f64 x 2) (*.f64 x x))
1.0ms
x
@0
(+.f64 (*.f64 x 2) (*.f64 x x))
1.0ms
y
@0
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
1.0ms
y
@inf
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
1.0ms
x
@-inf
(+.f64 (*.f64 x 2) (*.f64 x x))
Compiler

Compiled 1655 to 1260 computations (23.9% saved)

rewrite189.0ms (2.9%)

Algorithm
batch-egg-rewrite
Rules
72×egg-rr
47×egg-rr
Counts
2 → 119
Calls
Call 1
Inputs
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 2) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 2) 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 2 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 x (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 x 2)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) 4)) (*.f64 x (-.f64 x 2))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x (-.f64 x 2)) 0) (/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) 4)) (*.f64 x (-.f64 x 2))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2)))) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x x) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x 2) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 2) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 x) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 x (cbrt.f64 2)))) (+.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x (cbrt.f64 2)))) (+.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (*.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (-.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (+.f64 4 (*.f64 x (-.f64 x 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x fma.f64 y y (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 2 x) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y y) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (fma.f64 y y (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (fma.f64 y y (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 (fma.f64 y y (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) 1 (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 2 x) x (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (+.f64 2 x)) 1 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 2 (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 x (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (fma.f64 y y (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (fma.f64 y y (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y y))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2)) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x 2) 1 (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2)))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x (+.f64 2 x)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x)) 0) (/.f64 (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (pow.f64 (*.f64 x x) 2)) (-.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (*.f64 4 (*.f64 x x))) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 x (-.f64 2 x)) (*.f64 y y)) 0) (/.f64 (fma.f64 4 (*.f64 x x) (neg.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2))) (-.f64 (*.f64 x (-.f64 2 x)) (*.f64 y y))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (-.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2)))) (-.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y))))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y y (*.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y y (*.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y y) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (*.f64 (fma.f64 y y (*.f64 x 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) 1) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 2)) (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y y (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 x (+.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 3))))))

simplify1.3s (20.3%)

Algorithm
egglog
Counts
155 → 164
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(pow.f64 y 2)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(pow.f64 (/.f64 1 y) -2)
(+.f64 (pow.f64 (/.f64 1 y) -2) (+.f64 (*.f64 2 x) (pow.f64 x 2)))
(+.f64 (pow.f64 (/.f64 1 y) -2) (+.f64 (*.f64 2 x) (pow.f64 x 2)))
(+.f64 (pow.f64 (/.f64 1 y) -2) (+.f64 (*.f64 2 x) (pow.f64 x 2)))
(pow.f64 (/.f64 -1 y) -2)
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 (/.f64 -1 y) -2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 (/.f64 -1 y) -2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 (/.f64 -1 y) -2) (pow.f64 x 2)))
(fma.f64 x x (*.f64 x 2))
(fma.f64 1 (*.f64 x x) (*.f64 x 2))
(fma.f64 1 (*.f64 x 2) (*.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (*.f64 x 2))
(fma.f64 (*.f64 x x) 1 (*.f64 x 2))
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 x x))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 x x))
(fma.f64 (*.f64 x 2) 1 (*.f64 x x))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))
(fma.f64 x 2 (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (*.f64 x 2))
(fma.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))
(fma.f64 2 x (*.f64 x x))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x 2))
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 x 2)) (*.f64 x x))
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 x x))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) 4)) (*.f64 x (-.f64 x 2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (-.f64 x 2)) 0) (/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) 4)) (*.f64 x (-.f64 x 2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2)))) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x 2) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))
(+.f64 (*.f64 x 2) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(*.f64 (+.f64 2 x) x)
(*.f64 1 (*.f64 x (+.f64 2 x)))
(*.f64 (*.f64 x (+.f64 2 x)) 1)
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(*.f64 (+.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 x (cbrt.f64 2)))) (+.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 x x))))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x (cbrt.f64 2)))) (+.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (*.f64 x 2))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 2 x)))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (-.f64 x 2))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)
(pow.f64 (*.f64 x (+.f64 2 x)) 1)
(pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))
(fma.f64 y y (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 x (+.f64 2 x)))
(fma.f64 x x (fma.f64 y y (*.f64 x 2)))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (fma.f64 y y (*.f64 x 2)))
(fma.f64 1 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))
(fma.f64 (*.f64 x x) 1 (fma.f64 y y (*.f64 x 2)))
(fma.f64 (*.f64 y y) 1 (*.f64 x (+.f64 2 x)))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (*.f64 x (+.f64 2 x)) 1 (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (*.f64 y y))
(fma.f64 x 2 (fma.f64 x x (*.f64 y y)))
(fma.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (fma.f64 x x (*.f64 y y)))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 x (+.f64 2 x)))
(fma.f64 1 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (fma.f64 y y (*.f64 x 2)))
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (fma.f64 y y (*.f64 x 2)))
(fma.f64 1 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))
(fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y y))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2)) (*.f64 x 2))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 x (+.f64 2 x)))
(fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 x (+.f64 2 x)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))) (*.f64 y y))
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (fma.f64 x x (*.f64 y y)))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (*.f64 x 2) 1 (fma.f64 x x (*.f64 y y)))
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (fma.f64 x x (*.f64 y y)))
(if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2)))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x (+.f64 2 x)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (-.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x)) 0) (/.f64 (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (pow.f64 (*.f64 x x) 2)) (-.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (*.f64 4 (*.f64 x x))) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (-.f64 (*.f64 x (-.f64 2 x)) (*.f64 y y)) 0) (/.f64 (fma.f64 4 (*.f64 x x) (neg.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2))) (-.f64 (*.f64 x (-.f64 2 x)) (*.f64 y y))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (-.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2)))) (-.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y))))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 y y (*.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 y y (*.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 x (+.f64 2 x)))
(+.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))
(+.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))
(+.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))
(+.f64 (*.f64 x x) (*.f64 (fma.f64 y y (*.f64 x 2)) 1))
(+.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))
(+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) 1) (*.f64 x x))
(*.f64 (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 2)) (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))))
(*.f64 1 (fma.f64 y y (*.f64 x (+.f64 2 x))))
(*.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 1)
(*.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 x (+.f64 2 x)))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (*.f64 y y))))
(pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))) 3)
(pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 1)
(pow.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 3) 1/3)
(cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 3))
Outputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 x) -2))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 y y (*.f64 2 x))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(+.f64 (fma.f64 2 x (pow.f64 (/.f64 1 x) -2)) (*.f64 y y))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(+.f64 (fma.f64 2 x (pow.f64 (/.f64 1 x) -2)) (*.f64 y y))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(fma.f64 2 x (fma.f64 y y (pow.f64 (/.f64 -1 x) -2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(fma.f64 2 x (fma.f64 y y (pow.f64 (/.f64 -1 x) -2)))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (/.f64 1 y) -2)
(+.f64 (pow.f64 (/.f64 1 y) -2) (+.f64 (*.f64 2 x) (pow.f64 x 2)))
(fma.f64 (+.f64 2 x) x (pow.f64 (/.f64 1 y) -2))
(+.f64 (pow.f64 (/.f64 1 y) -2) (+.f64 (*.f64 2 x) (pow.f64 x 2)))
(fma.f64 (+.f64 2 x) x (pow.f64 (/.f64 1 y) -2))
(+.f64 (pow.f64 (/.f64 1 y) -2) (+.f64 (*.f64 2 x) (pow.f64 x 2)))
(fma.f64 (+.f64 2 x) x (pow.f64 (/.f64 1 y) -2))
(pow.f64 (/.f64 -1 y) -2)
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 (/.f64 -1 y) -2) (pow.f64 x 2)))
(+.f64 (*.f64 x (+.f64 2 x)) (pow.f64 (/.f64 -1 y) -2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 (/.f64 -1 y) -2) (pow.f64 x 2)))
(+.f64 (*.f64 x (+.f64 2 x)) (pow.f64 (/.f64 -1 y) -2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 (/.f64 -1 y) -2) (pow.f64 x 2)))
(+.f64 (*.f64 x (+.f64 2 x)) (pow.f64 (/.f64 -1 y) -2))
(fma.f64 x x (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 1 (*.f64 x x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 1 (*.f64 x 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 x x) 1 (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 x 2) 1 (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 x 2 (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 2 x (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 x 2)) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) 4)) (*.f64 x (-.f64 x 2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 x (*.f64 x (fma.f64 x x -4))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (-.f64 x 2)) 0) (/.f64 (*.f64 (*.f64 x x) (-.f64 (*.f64 x x) 4)) (*.f64 x (-.f64 x 2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 x (*.f64 x (fma.f64 x x -4))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2)))) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (*.f64 x (fma.f64 (+.f64 x -2) x 4))) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 2 x)) (*.f64 x x)) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 2 x)) (*.f64 x x)) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x 2) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 8 (pow.f64 x 3))) (*.f64 (*.f64 x x) (+.f64 4 (*.f64 x (-.f64 x 2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 2 x) 0) (/.f64 (*.f64 (pow.f64 x 3) (+.f64 2 x)) (*.f64 x x)) (*.f64 x (+.f64 2 x)))
(+.f64 (*.f64 x 2) (*.f64 x x))
(*.f64 x (+.f64 2 x))
(+.f64 (*.f64 x x) (*.f64 x 2))
(*.f64 x (+.f64 2 x))
(*.f64 x (+.f64 2 x))
(*.f64 (+.f64 2 x) x)
(*.f64 x (+.f64 2 x))
(*.f64 1 (*.f64 x (+.f64 2 x)))
(*.f64 x (+.f64 2 x))
(*.f64 (*.f64 x (+.f64 2 x)) 1)
(*.f64 x (+.f64 2 x))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))
(*.f64 x (+.f64 2 x))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))
(*.f64 x (+.f64 2 x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2))
(*.f64 x (+.f64 2 x))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 x (+.f64 2 x))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 x (+.f64 2 x))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(*.f64 x (+.f64 2 x))
(*.f64 (+.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 x (cbrt.f64 x)) (*.f64 x (cbrt.f64 2)))) (+.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 x x))))
(*.f64 (fma.f64 x (-.f64 (cbrt.f64 x) (cbrt.f64 2)) (cbrt.f64 (*.f64 x (*.f64 4 x)))) (*.f64 (cbrt.f64 x) (+.f64 (cbrt.f64 x) (cbrt.f64 2))))
(*.f64 (+.f64 (*.f64 x (cbrt.f64 x)) (-.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x (cbrt.f64 2)))) (+.f64 (cbrt.f64 (*.f64 x x)) (cbrt.f64 (*.f64 x 2))))
(*.f64 (fma.f64 x (-.f64 (cbrt.f64 x) (cbrt.f64 2)) (cbrt.f64 (*.f64 x (*.f64 4 x)))) (*.f64 (cbrt.f64 x) (+.f64 (cbrt.f64 x) (cbrt.f64 2))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))))
(*.f64 x (+.f64 2 x))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (+.f64 2 x)))
(*.f64 x (+.f64 2 x))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))
(*.f64 x (+.f64 2 x))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))
(*.f64 x (+.f64 2 x))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 4 (*.f64 x (-.f64 x 2))))
(*.f64 x (+.f64 2 x))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (+.f64 4 (*.f64 x (-.f64 x 2))))
(*.f64 x (+.f64 2 x))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)
(*.f64 x (+.f64 2 x))
(pow.f64 (*.f64 x (+.f64 2 x)) 1)
(*.f64 x (+.f64 2 x))
(pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)
(*.f64 x (+.f64 2 x))
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))
(*.f64 x (+.f64 2 x))
(fma.f64 y y (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 x x (fma.f64 y y (*.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (fma.f64 y y (*.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x x) 1 (fma.f64 y y (*.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 y y) 1 (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x (+.f64 2 x)) 1 (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 x 2 (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 x 2)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 2 x (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (fma.f64 y y (*.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (fma.f64 y y (*.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (fma.f64 x x (*.f64 y y))) (cbrt.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2)) (*.f64 x 2))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))) (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 x 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (*.f64 x 2) 1 (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2)))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2))))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2)))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (*.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 2 x) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2)))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (*.f64 x (+.f64 2 x)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x (+.f64 2 x)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (neg.f64 (*.f64 x (+.f64 2 x)))) (pow.f64 (*.f64 x (+.f64 2 x)) 2))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (-.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x)) 0) (/.f64 (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (pow.f64 (*.f64 x x) 2)) (-.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 (-.f64 2 x) x (*.f64 y y)) 0) (/.f64 (-.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2) (pow.f64 (*.f64 x x) 2)) (fma.f64 (-.f64 2 x) x (*.f64 y y))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2)) 0) (/.f64 (-.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (*.f64 4 (*.f64 x x))) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 y y (*.f64 x (+.f64 x -2))) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (*.f64 (*.f64 -4 x) x)) (fma.f64 y y (*.f64 x (+.f64 x -2)))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (-.f64 (*.f64 x (-.f64 2 x)) (*.f64 y y)) 0) (/.f64 (fma.f64 4 (*.f64 x x) (neg.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2))) (-.f64 (*.f64 x (-.f64 2 x)) (*.f64 y y))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 x (-.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (*.f64 (*.f64 -4 x) x)) (fma.f64 y y (*.f64 x (+.f64 x -2)))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (-.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2))) 0) (/.f64 (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2)))) (-.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (-.f64 (*.f64 x (+.f64 x -2)) (*.f64 y y)) 0) (/.f64 (-.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2) (pow.f64 (*.f64 x x) 2)) (fma.f64 (-.f64 2 x) x (*.f64 y y))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y)))) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (fma.f64 y y (*.f64 2 x)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y))))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2))))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2)))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y)))) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (fma.f64 y y (*.f64 2 x)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (fma.f64 y y (*.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 y y (*.f64 2 x)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (fma.f64 y y (*.f64 2 x)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (fma.f64 y y (*.f64 2 x)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (fma.f64 y y (*.f64 x 2)) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (fma.f64 y y (*.f64 2 x)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (*.f64 x 2) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (*.f64 2 x) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2)))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (-.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2)))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (+.f64 (pow.f64 (fma.f64 x x (*.f64 y y)) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 x x (*.f64 y y)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (fma.f64 x x (*.f64 y y)) 3)) (fma.f64 4 (*.f64 x x) (*.f64 (fma.f64 x x (*.f64 y y)) (fma.f64 y y (*.f64 x (+.f64 x -2)))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(if (!=.f64 (fma.f64 y y (*.f64 x 2)) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (fma.f64 y y (*.f64 x 2)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) (fma.f64 y y (*.f64 x 2))) (*.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))))) (fma.f64 y y (*.f64 x (+.f64 2 x))))
(if (!=.f64 (fma.f64 y y (*.f64 2 x)) 0) (/.f64 (+.f64 (pow.f64 (pow.f64 x 3) 2) (pow.f64 (fma.f64 y y (*.f64 2 x)) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (fma.f64 y y (*.f64 2 x)) (fma.f64 (-.f64 2 x) x (*.f64 y y))))) (fma.f64 x (+.f64 2 x) (*.f64 y y)))
(+.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 x (+.f64 2 x)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (fma.f64 y y (*.f64 x 2)) (*.f64 x x))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (fma.f64 y y (*.f64 x 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x 2) (fma.f64 x x (*.f64 y y)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 x x) (*.f64 (fma.f64 y y (*.f64 x 2)) 1))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (fma.f64 x x (*.f64 y y)) (*.f64 x 2))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 (fma.f64 y y (*.f64 x 2)) 1) (*.f64 x x))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 2)))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 2)) (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 1 (fma.f64 y y (*.f64 x (+.f64 2 x))))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 1)
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(*.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 x (+.f64 2 x)))))
(*.f64 (fma.f64 y (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (-.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (*.f64 y y))))) (fma.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (*.f64 y y))))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (*.f64 y y))))
(*.f64 (fma.f64 y (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (-.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (*.f64 y y))))) (fma.f64 (cbrt.f64 x) (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (*.f64 y y))))
(pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 x (+.f64 2 x)))) 3)
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 1)
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(pow.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 3) 1/3)
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 x (+.f64 2 x))) 3))
(fma.f64 x (+.f64 2 x) (*.f64 y y))

localize20.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 x (+.f64 2 x))
Compiler

Compiled 21 to 12 computations (42.9% saved)

series10.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(*.f64 x (+.f64 2 x))
1.0ms
x
@-inf
(*.f64 x (+.f64 2 x))
1.0ms
x
@inf
(*.f64 x (+.f64 2 x))
Compiler

Compiled 455 to 350 computations (23.1% saved)

rewrite90.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
76×egg-rr
Counts
1 → 76
Calls
Call 1
Inputs
(*.f64 x (+.f64 2 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 x x) 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 x (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 2 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 x 0) (/.f64 (+.f64 8 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x -2) 4) x)) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 8 (pow.f64 x 3)) 0) (/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3)))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4))) 0) (*.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4)))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 x) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (cbrt.f64 (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 8 (pow.f64 x 3)) (*.f64 (/.f64 1 (fma.f64 x (+.f64 x -2) 4)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) 2) (cbrt.f64 (*.f64 x (+.f64 2 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) 1) (/.f64 x (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 (+.f64 8 (pow.f64 x 3)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (+.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 x (cbrt.f64 (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 2 x) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (/.f64 1 (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) 1) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 (*.f64 x (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) 1) (cbrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 x (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (+.f64 x -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 -8 (neg.f64 (pow.f64 x 3)))) (+.f64 -4 (*.f64 x (-.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 x 3))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -8 (neg.f64 (pow.f64 x 3))) x) (+.f64 -4 (*.f64 x (-.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x (+.f64 8 (pow.f64 x 3)))) (+.f64 -4 (*.f64 x (-.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (+.f64 2 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))))))

simplify382.0ms (5.8%)

Algorithm
egglog
Counts
88 → 98
Calls
Call 1
Inputs
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 x x))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))
(fma.f64 x x (+.f64 x x))
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 x x))
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 x x))
(fma.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (+.f64 x x))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (+.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (+.f64 x x))
(fma.f64 1 (+.f64 x x) (*.f64 x x))
(fma.f64 1 (*.f64 x x) (+.f64 x x))
(fma.f64 (+.f64 x x) 1 (*.f64 x x))
(fma.f64 2 x (*.f64 x x))
(fma.f64 x 2 (*.f64 x x))
(if (!=.f64 (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 x 0) (/.f64 (+.f64 8 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x -2) 4) x)) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 8 (pow.f64 x 3)) 0) (/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4))) 0) (*.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))
(+.f64 (+.f64 x x) (*.f64 x x))
(+.f64 (*.f64 x x) (+.f64 x x))
(*.f64 x (+.f64 2 x))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (cbrt.f64 (+.f64 2 x)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x)))
(*.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)))
(*.f64 (+.f64 8 (pow.f64 x 3)) (*.f64 (/.f64 1 (fma.f64 x (+.f64 x -2) 4)) x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) 2) (cbrt.f64 (*.f64 x (+.f64 2 x)))))
(*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x))))
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) 1) (/.f64 x (fma.f64 x (+.f64 x -2) 4)))
(*.f64 (/.f64 x (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 (+.f64 8 (pow.f64 x 3)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(*.f64 (/.f64 x 1) (+.f64 2 x))
(*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))))
(*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))
(*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 x (cbrt.f64 (+.f64 2 x))))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 2 x) (cbrt.f64 x)))
(*.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (/.f64 1 (fma.f64 x (+.f64 x -2) 4)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) 2))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) 2))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) 1) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 (*.f64 x (cbrt.f64 x))))
(*.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) 1) (cbrt.f64 (*.f64 x x)))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))
(*.f64 1 (*.f64 x (+.f64 2 x)))
(*.f64 (*.f64 x (+.f64 2 x)) 1)
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 x (+.f64 -8 (neg.f64 (pow.f64 x 3)))) (+.f64 -4 (*.f64 x (-.f64 2 x))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 x 3))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 -8 (neg.f64 (pow.f64 x 3))) x) (+.f64 -4 (*.f64 x (-.f64 2 x))))
(/.f64 (neg.f64 (*.f64 x (+.f64 8 (pow.f64 x 3)))) (+.f64 -4 (*.f64 x (-.f64 2 x))))
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)
(pow.f64 (*.f64 x (+.f64 2 x)) 1)
(pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))
Outputs
(*.f64 2 x)
(+.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 (+.f64 2 x) x)
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 x) -2))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))
(fma.f64 x x (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 1 (+.f64 x x) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 1 (*.f64 x x) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (+.f64 x x) 1 (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 2 x (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 x 2 (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(if (!=.f64 (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 (*.f64 x x) (fma.f64 x (+.f64 x -2) 4)) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (*.f64 (*.f64 x x) (fma.f64 x (+.f64 x -2) 4))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 x 0) (/.f64 (+.f64 8 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x -2) 4) x)) (*.f64 x (+.f64 2 x)))
(if (!=.f64 x 0) (/.f64 (+.f64 8 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x -2) 4) x)) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 8 (pow.f64 x 3)) 0) (/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 8 (pow.f64 x 3)) 0) (/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3)))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4))) 0) (*.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (fma.f64 (fma.f64 x (+.f64 x -2) -4) (*.f64 x (+.f64 x -2)) 16) 0) (*.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (fma.f64 (fma.f64 x (+.f64 x -2) -4) (*.f64 x (+.f64 x -2)) 16)) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 x (*.f64 (+.f64 x -2) (*.f64 (+.f64 2 x) x))) (*.f64 x (+.f64 x -2))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (*.f64 (*.f64 x x) (fma.f64 x (+.f64 x -2) 4))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (+.f64 x -2))))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (*.f64 (*.f64 x x) (fma.f64 x (+.f64 x -2) 4))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (pow.f64 x 3) 2)))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 (*.f64 x (+.f64 2 x)) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 2 x)))
(if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 x (*.f64 (+.f64 x -2) (*.f64 (+.f64 2 x) x))) (*.f64 x (+.f64 x -2))) (*.f64 (+.f64 2 x) x))
(+.f64 (+.f64 x x) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 x x) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(*.f64 x (+.f64 2 x))
(*.f64 (+.f64 2 x) x)
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (cbrt.f64 (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 x)) (cbrt.f64 x))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (+.f64 8 (pow.f64 x 3)) (*.f64 (/.f64 1 (fma.f64 x (+.f64 x -2) 4)) x))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) 2) (cbrt.f64 (*.f64 x (+.f64 2 x)))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x x))) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2))))
(*.f64 (+.f64 2 x) x)
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) 1) (/.f64 x (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (/.f64 x (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 (+.f64 8 (pow.f64 x 3)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (/.f64 x 1) (+.f64 2 x))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 2)) (cbrt.f64 (*.f64 x (+.f64 2 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 x (cbrt.f64 (+.f64 2 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 2 x) (cbrt.f64 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (/.f64 1 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (+.f64 2 x)))) 2) 2))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) 2))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) 1) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (cbrt.f64 (*.f64 x x)))) (cbrt.f64 (*.f64 x (cbrt.f64 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) 1) (cbrt.f64 (*.f64 x x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 1 (*.f64 x (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 x (+.f64 2 x)) 1)
(*.f64 (+.f64 2 x) x)
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 x (+.f64 -8 (neg.f64 (pow.f64 x 3)))) (+.f64 -4 (*.f64 x (-.f64 2 x))))
(/.f64 (*.f64 x (-.f64 -8 (pow.f64 x 3))) (fma.f64 (-.f64 2 x) x -4))
(/.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 x 3))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 -8 (neg.f64 (pow.f64 x 3))) x) (+.f64 -4 (*.f64 x (-.f64 2 x))))
(/.f64 (*.f64 x (-.f64 -8 (pow.f64 x 3))) (fma.f64 (-.f64 2 x) x -4))
(/.f64 (neg.f64 (*.f64 x (+.f64 8 (pow.f64 x 3)))) (+.f64 -4 (*.f64 x (-.f64 2 x))))
(*.f64 (+.f64 2 x) x)
(pow.f64 (cbrt.f64 (*.f64 x (+.f64 2 x))) 3)
(*.f64 (+.f64 2 x) x)
(pow.f64 (*.f64 x (+.f64 2 x)) 1)
(*.f64 (+.f64 2 x) x)
(pow.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3) 1/3)
(*.f64 (+.f64 2 x) x)
(cbrt.f64 (pow.f64 (*.f64 x (+.f64 2 x)) 3))
(*.f64 (+.f64 2 x) x)

eval229.0ms (3.5%)

Compiler

Compiled 6000 to 3183 computations (47% saved)

prune110.0ms (1.7%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2584262
Fresh000
Picked101
Done101
Total2604264
Error
0b
Counts
264 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
21.5b
(fma.f64 y y (+.f64 x x))
0.0b
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
21.5b
(+.f64 (*.f64 2 x) (*.f64 y y))
36.8b
(*.f64 y y)
Compiler

Compiled 33 to 20 computations (39.4% saved)

localize5.0ms (0.1%)

Compiler

Compiled 6 to 3 computations (50% saved)

localize17.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 2 x) (*.f64 y y))
Compiler

Compiled 18 to 9 computations (50% saved)

series16.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(+.f64 (*.f64 2 x) (*.f64 y y))
1.0ms
y
@0
(+.f64 (*.f64 2 x) (*.f64 y y))
0.0ms
y
@inf
(+.f64 (*.f64 2 x) (*.f64 y y))
0.0ms
x
@inf
(+.f64 (*.f64 2 x) (*.f64 y y))
0.0ms
x
@-inf
(+.f64 (*.f64 2 x) (*.f64 y y))
Compiler

Compiled 815 to 605 computations (25.8% saved)

rewrite124.0ms (1.9%)

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

simplify259.0ms (3.9%)

Algorithm
egglog
Counts
63 → 54
Calls
Call 1
Inputs
(pow.f64 y 2)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(pow.f64 (/.f64 1 y) -2)
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 2 x))
(pow.f64 (/.f64 -1 y) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(fma.f64 (cbrt.f64 (*.f64 2 x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 2 x)) (*.f64 y y))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 y y))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 y y))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 2 x))
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 2 x))
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 y y))
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 y y))
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 y y))
(fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 2 x))
(fma.f64 1 (*.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 2 x))
(fma.f64 (*.f64 2 x) 1 (*.f64 y y))
(fma.f64 (*.f64 y y) 1 (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 x 2 (*.f64 y y))
(if (!=.f64 (fma.f64 x 2 (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 y (pow.f64 y 3) (neg.f64 (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 -2 x))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (fma.f64 y y (*.f64 -2 x)) 0) (/.f64 (fma.f64 y (pow.f64 y 3) (neg.f64 (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 -2 x))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (*.f64 2 x) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 2 x)))
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 x))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) 2) (cbrt.f64 (fma.f64 y y (*.f64 2 x)))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2))))
(*.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2)))
(*.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 2 (*.f64 x (*.f64 y y)))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 2 x))))
(*.f64 (+.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 2 (*.f64 x (*.f64 y y)))))) (+.f64 (cbrt.f64 (*.f64 2 x)) (cbrt.f64 (*.f64 y y))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2)) (cbrt.f64 (fma.f64 y y (*.f64 2 x))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) 2))
(*.f64 1 (fma.f64 y y (*.f64 2 x)))
(*.f64 (fma.f64 y y (*.f64 2 x)) 1)
(pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))) 3)
(pow.f64 (fma.f64 y y (*.f64 2 x)) 1)
(pow.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 3) 1/3)
(cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 3))
Outputs
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(fma.f64 2 x (*.f64 y y))
(pow.f64 (/.f64 1 y) -2)
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 y) -2))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 y) -2))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 2 x))
(fma.f64 2 x (pow.f64 (/.f64 1 y) -2))
(pow.f64 (/.f64 -1 y) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 y) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 y) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 y) -2))
(fma.f64 (cbrt.f64 (*.f64 2 x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 y y (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 2 x)) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (cbrt.f64 x) (cbrt.f64 (*.f64 (*.f64 x x) 8)) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (*.f64 x (sqrt.f64 2)) (sqrt.f64 2) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (sqrt.f64 2) (*.f64 x (sqrt.f64 2)) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (*.f64 x (cbrt.f64 2)) (cbrt.f64 4) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 1 (*.f64 2 x) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (*.f64 2 x) 1 (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 (*.f64 y y) 1 (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(fma.f64 x 2 (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(if (!=.f64 (fma.f64 x 2 (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 y (pow.f64 y 3) (neg.f64 (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 -2 x))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (fma.f64 x 2 (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 y (pow.f64 y 3) (*.f64 -4 (*.f64 x x))) (fma.f64 y y (*.f64 -2 x))) (fma.f64 2 x (*.f64 y y)))
(if (!=.f64 (fma.f64 y y (*.f64 -2 x)) 0) (/.f64 (fma.f64 y (pow.f64 y 3) (neg.f64 (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 -2 x))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (fma.f64 y y (*.f64 -2 x)) 0) (/.f64 (fma.f64 y (pow.f64 y 3) (*.f64 -4 (*.f64 x x))) (fma.f64 y y (*.f64 -2 x))) (fma.f64 2 x (*.f64 y y)))
(if (!=.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x))) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 (*.f64 4 x) x)) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 (*.f64 4 x) x))) (fma.f64 2 x (*.f64 y y)))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 (*.f64 4 x) x))) (fma.f64 2 x (*.f64 y y)))
(if (!=.f64 (*.f64 2 x) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 4 (*.f64 x x)))) (fma.f64 y y (*.f64 2 x)))
(if (!=.f64 (*.f64 2 x) 0) (/.f64 (fma.f64 (pow.f64 x 3) 8 (pow.f64 (*.f64 y y) 3)) (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 -2 x)) (*.f64 (*.f64 4 x) x))) (fma.f64 2 x (*.f64 y y)))
(+.f64 (*.f64 2 x) (*.f64 y y))
(fma.f64 2 x (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 2 x))
(fma.f64 2 x (*.f64 y y))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2))
(fma.f64 2 x (*.f64 y y))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) 2) (cbrt.f64 (fma.f64 y y (*.f64 2 x)))))
(fma.f64 2 x (*.f64 y y))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2))))
(fma.f64 2 x (*.f64 y y))
(*.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2)))
(fma.f64 2 x (*.f64 y y))
(*.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (cbrt.f64 (*.f64 2 (*.f64 x (*.f64 y y)))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 2 x))))
(fma.f64 2 x (*.f64 y y))
(*.f64 (+.f64 (cbrt.f64 (*.f64 4 (*.f64 x x))) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 2 (*.f64 x (*.f64 y y)))))) (+.f64 (cbrt.f64 (*.f64 2 x)) (cbrt.f64 (*.f64 y y))))
(fma.f64 2 x (*.f64 y y))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 2)) (cbrt.f64 (fma.f64 y y (*.f64 2 x))))
(fma.f64 2 x (*.f64 y y))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x)))) 2) 2))
(fma.f64 2 x (*.f64 y y))
(*.f64 1 (fma.f64 y y (*.f64 2 x)))
(fma.f64 2 x (*.f64 y y))
(*.f64 (fma.f64 y y (*.f64 2 x)) 1)
(fma.f64 2 x (*.f64 y y))
(pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 2 x))) 3)
(fma.f64 2 x (*.f64 y y))
(pow.f64 (fma.f64 y y (*.f64 2 x)) 1)
(fma.f64 2 x (*.f64 y y))
(pow.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 3) 1/3)
(fma.f64 2 x (*.f64 y y))
(cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 2 x)) 3))
(fma.f64 2 x (*.f64 y y))

localize23.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 2 x) x)
0.0b
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
Compiler

Compiled 25 to 13 computations (48% saved)

series29.0ms (0.4%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@0
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
0.0ms
x
@0
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
0.0ms
y
@inf
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
0.0ms
x
@-inf
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
0.0ms
x
@inf
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
Compiler

Compiled 1555 to 1160 computations (25.4% saved)

rewrite121.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
70×egg-rr
40×egg-rr
Counts
2 → 110
Calls
Call 1
Inputs
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
(*.f64 (+.f64 2 x) x)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x fma.f64 y y (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 2 x) x (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (+.f64 2 x) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 y y) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y y) 1 (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 2 x) x) 1 (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (+.f64 2 x) x)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 (+.f64 2 x) x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y y) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y y) (+.f64 x x)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (+.f64 (*.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (+.f64 (+.f64 x x) (*.f64 y y)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 y y (*.f64 (+.f64 2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) 2) (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 (+.f64 2 x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)) (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 x x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 x (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 2 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 8 (pow.f64 x 3)) 0) (/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3)))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 x 0) (/.f64 (+.f64 8 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x -2) 4) x)) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4))) 0) (*.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4)))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 (*.f64 x x) 2)) (*.f64 x (-.f64 2 x))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 x x) (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) (+.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 2 x) x)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 x (+.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 2 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (cbrt.f64 (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 x)) (cbrt.f64 (+.f64 2 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 8 (pow.f64 x 3)) (*.f64 (/.f64 1 (fma.f64 x (+.f64 x -2) 4)) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2) 2))) (cbrt.f64 (*.f64 (+.f64 2 x) x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 (+.f64 8 (pow.f64 x 3)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 x 1) (+.f64 2 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) 1) (/.f64 x (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (+.f64 2 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 x (cbrt.f64 (+.f64 2 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 2 x) (cbrt.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) 1) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (/.f64 1 (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (+.f64 x -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 x (neg.f64 (+.f64 8 (pow.f64 x 3)))) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 8 (pow.f64 x 3))) x) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 x 3))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 x (+.f64 8 (pow.f64 x 3)))) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 2 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3))))))

simplify901.0ms (13.6%)

Algorithm
egglog
Counts
146 → 148
Calls
Call 1
Inputs
(pow.f64 y 2)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(*.f64 (+.f64 2 x) x)
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(pow.f64 (/.f64 1 y) -2)
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 (+.f64 2 x) x))
(pow.f64 (/.f64 -1 y) -2)
(+.f64 (pow.f64 (/.f64 -1 y) -2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 (/.f64 -1 y) -2) (*.f64 (+.f64 2 x) x))
(+.f64 (pow.f64 (/.f64 -1 y) -2) (*.f64 (+.f64 2 x) x))
(*.f64 2 x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 y y (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 (+.f64 2 x) x))
(fma.f64 1 (*.f64 (+.f64 2 x) x) (*.f64 y y))
(fma.f64 (*.f64 y y) 1 (*.f64 (+.f64 2 x) x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 2 x) x) 1 (*.f64 y y))
(fma.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 (+.f64 2 x) x))
(fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 (+.f64 2 x) x))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 (+.f64 2 x) x))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (+.f64 2 x) x)) (*.f64 y y))
(fma.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 y y))
(fma.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 y y))
(if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (*.f64 (+.f64 2 x) x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 (+.f64 2 x) x))
(+.f64 (+.f64 (*.f64 y y) (+.f64 x x)) (*.f64 x x))
(+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (+.f64 x x))
(+.f64 (+.f64 x x) (+.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (*.f64 x x) (+.f64 (+.f64 x x) (*.f64 y y)))
(*.f64 1 (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(*.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 1)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) 2) (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2))))
(*.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (*.f64 y y))))
(*.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 (+.f64 2 x) x))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)) (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))))
(pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))) 3)
(pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 1)
(pow.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 3) 1/3)
(cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 3))
(fma.f64 x x (+.f64 x x))
(fma.f64 1 (*.f64 x x) (+.f64 x x))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (+.f64 x x))
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))
(fma.f64 1 (+.f64 x x) (*.f64 x x))
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (+.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (+.f64 x x))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x) (*.f64 x x))
(fma.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))
(fma.f64 2 x (*.f64 x x))
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))
(fma.f64 x 2 (*.f64 x x))
(if (!=.f64 (+.f64 8 (pow.f64 x 3)) 0) (/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3)))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 x 0) (/.f64 (+.f64 8 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x -2) 4) x)) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4))) 0) (*.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4)))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 (*.f64 x x) 2)) (*.f64 x (-.f64 2 x))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(+.f64 (+.f64 x x) (*.f64 x x))
(+.f64 (*.f64 x x) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(*.f64 x (+.f64 2 x))
(*.f64 1 (*.f64 (+.f64 2 x) x))
(*.f64 (*.f64 (+.f64 2 x) x) 1)
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (cbrt.f64 (+.f64 2 x)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 x)) (cbrt.f64 (+.f64 2 x)))
(*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x))))
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))
(*.f64 (+.f64 8 (pow.f64 x 3)) (*.f64 (/.f64 1 (fma.f64 x (+.f64 x -2) 4)) x))
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2) 2))) (cbrt.f64 (*.f64 (+.f64 2 x) x))))
(*.f64 (/.f64 x (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 (+.f64 8 (pow.f64 x 3)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(*.f64 (/.f64 x 1) (+.f64 2 x))
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) 1) (/.f64 x (fma.f64 x (+.f64 x -2) 4)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (+.f64 2 x) x)))
(*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 x (cbrt.f64 (+.f64 2 x))))
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 2 x) (cbrt.f64 x)))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) 1) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) 2))
(*.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (/.f64 1 (fma.f64 x (+.f64 x -2) 4)))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2))
(/.f64 (*.f64 x (neg.f64 (+.f64 8 (pow.f64 x 3)))) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (neg.f64 (+.f64 8 (pow.f64 x 3))) x) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 x 3))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (neg.f64 (*.f64 x (+.f64 8 (pow.f64 x 3)))) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) 3)
(pow.f64 (*.f64 (+.f64 2 x) x) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) 1/3)
(cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3))
Outputs
(pow.f64 y 2)
(*.f64 y y)
(+.f64 (*.f64 2 x) (pow.f64 y 2))
(+.f64 (fma.f64 y y x) x)
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 x 2)))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 x 2 (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (fma.f64 y y x) x))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (*.f64 2 x) (pow.f64 y 2)))
(+.f64 (pow.f64 (/.f64 1 x) -2) (+.f64 (fma.f64 y y x) x))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(fma.f64 x 2 (fma.f64 y y (pow.f64 (/.f64 -1 x) -2)))
(+.f64 (*.f64 2 x) (+.f64 (pow.f64 y 2) (pow.f64 (/.f64 -1 x) -2)))
(fma.f64 x 2 (fma.f64 y y (pow.f64 (/.f64 -1 x) -2)))
(*.f64 (+.f64 2 x) x)
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (pow.f64 y 2) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(pow.f64 (/.f64 1 y) -2)
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 (+.f64 2 x) x))
(fma.f64 x (+.f64 2 x) (pow.f64 (/.f64 1 y) -2))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 (+.f64 2 x) x))
(fma.f64 x (+.f64 2 x) (pow.f64 (/.f64 1 y) -2))
(+.f64 (pow.f64 (/.f64 1 y) -2) (*.f64 (+.f64 2 x) x))
(fma.f64 x (+.f64 2 x) (pow.f64 (/.f64 1 y) -2))
(pow.f64 (/.f64 -1 y) -2)
(+.f64 (pow.f64 (/.f64 -1 y) -2) (*.f64 (+.f64 2 x) x))
(fma.f64 x (+.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(+.f64 (pow.f64 (/.f64 -1 y) -2) (*.f64 (+.f64 2 x) x))
(fma.f64 x (+.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(+.f64 (pow.f64 (/.f64 -1 y) -2) (*.f64 (+.f64 2 x) x))
(fma.f64 x (+.f64 2 x) (pow.f64 (/.f64 -1 y) -2))
(*.f64 2 x)
(+.f64 x x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (pow.f64 x 2))
(*.f64 (+.f64 2 x) x)
(pow.f64 (/.f64 1 x) -2)
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 x 2 (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 x 2 (pow.f64 (/.f64 1 x) -2))
(+.f64 (pow.f64 (/.f64 1 x) -2) (*.f64 2 x))
(fma.f64 x 2 (pow.f64 (/.f64 1 x) -2))
(pow.f64 (/.f64 -1 x) -2)
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(+.f64 (*.f64 2 x) (pow.f64 (/.f64 -1 x) -2))
(fma.f64 2 x (pow.f64 (/.f64 -1 x) -2))
(fma.f64 y y (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 x (+.f64 2 x) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 1 (*.f64 y y) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 1 (*.f64 (+.f64 2 x) x) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (*.f64 y y) 1 (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (*.f64 (+.f64 2 x) x) 1 (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 y (cbrt.f64 y)) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 y y)) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (cbrt.f64 y) (*.f64 (cbrt.f64 (*.f64 y y)) y) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (+.f64 2 x) x)) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 (+.f64 2 x) x (*.f64 y y)))
(if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x))) 0) (/.f64 (fma.f64 (pow.f64 y 3) y (neg.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))) (fma.f64 y y (neg.f64 (*.f64 (+.f64 2 x) x)))) (fma.f64 (+.f64 2 x) x (*.f64 y y)))
(if (!=.f64 (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (fma.f64 (pow.f64 y 3) y (*.f64 (+.f64 2 x) (*.f64 x (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (+.f64 2 x) (*.f64 x (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))))))) (fma.f64 (+.f64 2 x) x (*.f64 y y)))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (*.f64 y y) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (+.f64 2 x) (*.f64 x (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))))))) (fma.f64 (+.f64 2 x) x (*.f64 y y)))
(if (!=.f64 (*.f64 (+.f64 2 x) x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (*.f64 (+.f64 2 x) x) (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y)))))) (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(if (!=.f64 (*.f64 (+.f64 2 x) x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) (pow.f64 (*.f64 y y) 3)) (fma.f64 (pow.f64 y 3) y (*.f64 (+.f64 2 x) (*.f64 x (fma.f64 x (+.f64 2 x) (neg.f64 (*.f64 y y))))))) (fma.f64 (+.f64 2 x) x (*.f64 y y)))
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (*.f64 y y) (*.f64 (+.f64 2 x) x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (+.f64 (*.f64 y y) (+.f64 x x)) (*.f64 x x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (+.f64 x x))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (+.f64 x x) (+.f64 (*.f64 x x) (*.f64 y y)))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(+.f64 (*.f64 x x) (+.f64 (+.f64 x x) (*.f64 y y)))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 1 (fma.f64 y y (*.f64 (+.f64 2 x) x)))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 1)
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)) (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))))) (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) 2) (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)))) 2) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2))))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))) (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (+.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (-.f64 (*.f64 y (cbrt.f64 y)) (cbrt.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (*.f64 y y))))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (+.f64 (*.f64 y (cbrt.f64 y)) (-.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))))) (+.f64 (cbrt.f64 (*.f64 y y)) (cbrt.f64 (*.f64 (+.f64 2 x) x))))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 2)) (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(pow.f64 (cbrt.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x))) 3)
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 1)
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(pow.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 3) 1/3)
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(cbrt.f64 (pow.f64 (fma.f64 y y (*.f64 (+.f64 2 x) x)) 3))
(fma.f64 (+.f64 2 x) x (*.f64 y y))
(fma.f64 x x (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 1 (*.f64 x x) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) x) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 2) (*.f64 (cbrt.f64 4) x) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 1 (+.f64 x x) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 x (cbrt.f64 x)) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 2) x) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 (+.f64 x x)) (cbrt.f64 (*.f64 4 (*.f64 x x))) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 2 x (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 (cbrt.f64 (*.f64 8 x)) (cbrt.f64 (*.f64 x x)) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(fma.f64 x 2 (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(if (!=.f64 (+.f64 8 (pow.f64 x 3)) 0) (/.f64 x (/.f64 (fma.f64 x (+.f64 x -2) 4) (+.f64 8 (pow.f64 x 3)))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 x 0) (/.f64 (+.f64 8 (pow.f64 x 3)) (/.f64 (fma.f64 x (+.f64 x -2) 4) x)) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4))) 0) (*.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (+.f64 16 (*.f64 (*.f64 x (+.f64 x -2)) (-.f64 (*.f64 x (+.f64 x -2)) 4)))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (fma.f64 (*.f64 x (+.f64 x -2)) (fma.f64 x (+.f64 x -2) -4) 16) 0) (/.f64 (*.f64 x (*.f64 (+.f64 8 (pow.f64 x 3)) (fma.f64 (*.f64 x (+.f64 x -2)) (fma.f64 x (+.f64 x -2) -4) 16))) (+.f64 64 (pow.f64 (*.f64 x (+.f64 x -2)) 3))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 (*.f64 (+.f64 2 x) x) (*.f64 x (+.f64 x -2))) (*.f64 x (+.f64 x -2))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (+.f64 x -2)) 0) (/.f64 (*.f64 (+.f64 2 x) (*.f64 x (*.f64 x (+.f64 x -2)))) (*.f64 x (+.f64 x -2))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (-.f64 (*.f64 4 (*.f64 x x)) (pow.f64 (*.f64 x x) 2)) (*.f64 x (-.f64 2 x))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x (-.f64 2 x)) 0) (/.f64 (*.f64 (*.f64 x x) (fma.f64 x x -4)) (*.f64 x (-.f64 x 2))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2)))) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (*.f64 x x) 3) (pow.f64 (+.f64 x x) 3)) (+.f64 (pow.f64 (*.f64 x x) 2) (-.f64 (*.f64 4 (*.f64 x x)) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (+.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (*.f64 x x) 3)) (+.f64 (*.f64 4 (*.f64 x x)) (-.f64 (pow.f64 (*.f64 x x) 2) (*.f64 (*.f64 x x) (+.f64 x x))))) (*.f64 (+.f64 2 x) x))
(if (!=.f64 (*.f64 x x) 0) (/.f64 (+.f64 (pow.f64 (+.f64 x x) 3) (pow.f64 (pow.f64 x 3) 2)) (fma.f64 (*.f64 4 x) x (*.f64 (*.f64 x x) (*.f64 x (-.f64 x 2))))) (*.f64 (+.f64 2 x) x))
(+.f64 (+.f64 x x) (*.f64 x x))
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 x x) (+.f64 x x))
(*.f64 (+.f64 2 x) x)
(*.f64 (+.f64 2 x) x)
(*.f64 x (+.f64 2 x))
(*.f64 (+.f64 2 x) x)
(*.f64 1 (*.f64 (+.f64 2 x) x))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (+.f64 2 x) x) 1)
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x) (cbrt.f64 (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x)) (cbrt.f64 x))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 x)) (cbrt.f64 (+.f64 2 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 2 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (+.f64 2 x)) (*.f64 (cbrt.f64 x) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (+.f64 2 x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2))))
(*.f64 (+.f64 2 x) x)
(*.f64 (+.f64 8 (pow.f64 x 3)) (*.f64 (/.f64 1 (fma.f64 x (+.f64 x -2) 4)) x))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2) 2))) (cbrt.f64 (*.f64 (+.f64 2 x) x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (/.f64 x (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 (+.f64 8 (pow.f64 x 3)) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (/.f64 x 1) (+.f64 2 x))
(*.f64 (+.f64 2 x) x)
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (/.f64 x (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (/.f64 (+.f64 8 (pow.f64 x 3)) 1) (/.f64 x (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 2)) (cbrt.f64 (*.f64 (+.f64 2 x) x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (+.f64 2 x) (cbrt.f64 x)) (cbrt.f64 (*.f64 x x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) (*.f64 x (cbrt.f64 (+.f64 2 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (+.f64 2 x) (cbrt.f64 x)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) 1) (cbrt.f64 (pow.f64 (+.f64 2 x) 2)))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 (*.f64 x (cbrt.f64 (+.f64 2 x))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 2 x))) 2) 2))
(*.f64 (+.f64 2 x) x)
(*.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (/.f64 1 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (cbrt.f64 (*.f64 8 x)) (*.f64 x (cbrt.f64 x))))
(*.f64 (+.f64 2 x) x)
(*.f64 (cbrt.f64 (*.f64 x x)) (+.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (*.f64 8 x))))
(*.f64 (+.f64 2 x) x)
(/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) 1) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (/.f64 (*.f64 x (+.f64 8 (pow.f64 x 3))) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4))) (pow.f64 (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)) 2))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 x (neg.f64 (+.f64 8 (pow.f64 x 3)))) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (neg.f64 (+.f64 8 (pow.f64 x 3))) x) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(/.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 x 3))) (*.f64 (cbrt.f64 (pow.f64 (+.f64 2 x) 2)) x)) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) (pow.f64 (+.f64 2 x) 2))) x) (cbrt.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (neg.f64 (*.f64 x (+.f64 8 (pow.f64 x 3)))) (neg.f64 (fma.f64 x (+.f64 x -2) 4)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 x 3)) x) (fma.f64 x (+.f64 x -2) 4))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 2 x) x)) 3)
(*.f64 (+.f64 2 x) x)
(pow.f64 (*.f64 (+.f64 2 x) x) 1)
(*.f64 (+.f64 2 x) x)
(pow.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3) 1/3)
(*.f64 (+.f64 2 x) x)
(cbrt.f64 (pow.f64 (*.f64 (+.f64 2 x) x) 3))
(*.f64 (+.f64 2 x) x)

localize8.0ms (0.1%)

Compiler

Compiled 13 to 4 computations (69.2% saved)

eval121.0ms (1.8%)

Compiler

Compiled 3995 to 2208 computations (44.7% saved)

prune40.0ms (0.6%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New2002202
Fresh000
Picked011
Done033
Total2006206
Error
0b
Counts
206 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
21.5b
(fma.f64 y y (+.f64 x x))
0.0b
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
21.5b
(+.f64 (*.f64 2 x) (*.f64 y y))
25.6b
(*.f64 (+.f64 2 x) x)
36.8b
(*.f64 y y)
47.0b
(*.f64 2 x)
Compiler

Compiled 45 to 29 computations (35.6% saved)

localize3.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 2 x) x)
Compiler

Compiled 12 to 8 computations (33.3% saved)

eval25.0ms (0.4%)

Compiler

Compiled 1537 to 934 computations (39.2% saved)

prune13.0ms (0.2%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New80080
Fresh000
Picked011
Done055
Total80686
Error
0b
Counts
86 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
21.5b
(fma.f64 y y (+.f64 x x))
0.0b
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
21.5b
(+.f64 (*.f64 2 x) (*.f64 y y))
25.6b
(*.f64 (+.f64 2 x) x)
36.8b
(*.f64 y y)
47.0b
(*.f64 2 x)
Compiler

Compiled 45 to 29 computations (35.6% saved)

regimes31.0ms (0.5%)

Counts
8 → 1
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 y y)
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(fma.f64 y y (+.f64 x x))
(fma.f64 y y (*.f64 x (+.f64 2 x)))
Outputs
(fma.f64 y y (*.f64 x (+.f64 2 x)))
Calls

5 calls:

8.0ms
y
6.0ms
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
6.0ms
(+.f64 (*.f64 x 2) (*.f64 x x))
5.0ms
x
4.0ms
(*.f64 y y)
Results
ErrorSegmentsBranch
0b1x
0b1y
0b1(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
0b1(+.f64 (*.f64 x 2) (*.f64 x x))
0b1(*.f64 y y)
Compiler

Compiled 87 to 47 computations (46% saved)

regimes27.0ms (0.4%)

Counts
7 → 1
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 y y)
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (*.f64 y y))
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
(fma.f64 y y (+.f64 x x))
Outputs
(+.f64 (*.f64 (+.f64 2 x) x) (*.f64 y y))
Calls

5 calls:

6.0ms
y
5.0ms
(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
5.0ms
(+.f64 (*.f64 x 2) (*.f64 x x))
5.0ms
x
4.0ms
(*.f64 y y)
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1(+.f64 (+.f64 (*.f64 x 2) (*.f64 x x)) (*.f64 y y))
0.0b1(+.f64 (*.f64 x 2) (*.f64 x x))
0.0b1(*.f64 y y)
Compiler

Compiled 79 to 43 computations (45.6% saved)

regimes115.0ms (1.7%)

Counts
4 → 3
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 y y)
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (*.f64 y y))
Outputs
(*.f64 (+.f64 2 x) x)
(+.f64 (*.f64 2 x) (*.f64 y y))
(*.f64 (+.f64 2 x) x)
Calls

3 calls:

55.0ms
y
30.0ms
x
29.0ms
(*.f64 y y)
Results
ErrorSegmentsBranch
4.9b3x
8.4b3y
7.8b4(*.f64 y y)
Compiler

Compiled 31 to 18 computations (41.9% saved)

bsearch54.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
27.0ms
5.429276545425122e+36
1.5972039852820741e+37
27.0ms
-0.00023727574743493567
-2.9502401867640086e-12
Results
37.0ms224×body256valid
Compiler

Compiled 270 to 194 computations (28.1% saved)

regimes169.0ms (2.6%)

Counts
3 → 4
Calls
Call 1
Inputs
(*.f64 2 x)
(*.f64 y y)
(*.f64 (+.f64 2 x) x)
Outputs
(*.f64 (+.f64 2 x) x)
(*.f64 y y)
(*.f64 (+.f64 2 x) x)
(*.f64 y y)
Calls

3 calls:

108.0ms
x
39.0ms
y
19.0ms
(*.f64 y y)
Results
ErrorSegmentsBranch
16.6b7x
8.4b3y
7.8b4(*.f64 y y)
Compiler

Compiled 24 to 15 computations (37.5% saved)

bsearch70.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
30.0ms
4.292588535365657e+97
3.3058359500704106e+98
13.0ms
1.5245563181082926e+79
4.498172726061442e+79
27.0ms
356365337517951.25
5.758710162053367e+20
Results
63.0ms320×body256valid
Compiler

Compiled 258 to 192 computations (25.6% saved)

regimes70.0ms (1.1%)

Accuracy

Total -38.5b remaining (-164.3%)

Threshold costs -38.5b (-164.3%)

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

3 calls:

29.0ms
x
21.0ms
y
18.0ms
(*.f64 y y)
Results
ErrorSegmentsBranch
33.5b5x
23.4b3y
24.1b2(*.f64 y y)
Compiler

Compiled 19 to 12 computations (36.8% saved)

bsearch53.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
9.40759574853706e-110
3.529183457845442e-109
30.0ms
-3.964545059934815e-61
-1.5756105461205138e-61
Results
48.0ms160×body256valid
Compiler

Compiled 138 to 102 computations (26.1% saved)

simplify4.0ms (0.1%)

Stop Event
done
Compiler

Compiled 108 to 64 computations (40.7% saved)

soundness0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

end111.0ms (1.7%)

Compiler

Compiled 98 to 51 computations (48% saved)

Profiling

Loading profile data...