Details

Time bar (total: 2.1s)

analyze9.0ms (0.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
0%50%50%2
0%50%50%3
31.2%18.7%50%4
40.6%9.4%50%5
45.3%4.7%50%6
47.6%2.3%50%7
48.8%1.2%50%8
49.4%0.6%50%9
49.7%0.3%50%10
49.8%0.1%50%11
49.9%0.1%50%12
49.9%0%50%13
50%0%50%14
Compiler

Compiled 29 to 19 computations (34.5% saved)

sample1.1s (53.2%)

Results
1.1s8256×body128valid

preprocess47.0ms (2.3%)

Algorithm
egg-herbie
Rules
651×rule-a--a0_binary64
651×rule-a-+a0_binary64
648×rule-a-/a1_binary64
229×rule-/*abc-*b/ac_binary64
185×rule-/a*bc-//abc_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
19035
247626
3363220
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1))
Outputs
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1))
(/.f64 (*.f64 i (*.f64 (*.f64 i i) i)) (*.f64 (*.f64 (*.f64 i 2) (*.f64 i 2)) (fma.f64 (*.f64 i 2) (*.f64 i 2) -1)))
(*.f64 (*.f64 i (/.f64 i (*.f64 2 (*.f64 i (*.f64 i 2))))) (/.f64 (*.f64 i i) (fma.f64 (*.f64 i 2) (*.f64 i 2) -1)))
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 (/.f64 i i) (*.f64 i 4)) (fma.f64 i (*.f64 i 4) -1)))
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
Compiler

Compiled 26 to 17 computations (34.6% saved)

simplify36.0ms (1.7%)

Algorithm
egg-herbie
Rules
651×rule-a--a0_binary64
651×rule-a-+a0_binary64
648×rule-a-/a1_binary64
229×rule-/*abc-*b/ac_binary64
185×rule-/a*bc-//abc_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01135
19035
247626
3363220
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1))
Outputs
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1))
(/.f64 (*.f64 i (*.f64 (*.f64 i i) i)) (*.f64 (*.f64 (*.f64 i 2) (*.f64 i 2)) (fma.f64 (*.f64 i 2) (*.f64 i 2) -1)))
(*.f64 (*.f64 i (/.f64 i (*.f64 2 (*.f64 i (*.f64 i 2))))) (/.f64 (*.f64 i i) (fma.f64 (*.f64 i 2) (*.f64 i 2) -1)))
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 (/.f64 i i) (*.f64 i 4)) (fma.f64 i (*.f64 i 4) -1)))
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))

prune4.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
24.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
25.0b
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
45.6b
(/.f64 (/.f64 (*.f64 (*.f64 i i) (*.f64 i i)) (*.f64 (*.f64 2 i) (*.f64 2 i))) (-.f64 (*.f64 (*.f64 2 i) (*.f64 2 i)) 1))
Compiler

Compiled 122 to 83 computations (32% saved)

localize8.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1))
24.4b
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))

series5.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
i
@0
(/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1))
1.0ms
i
@0
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
1.0ms
i
@inf
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
1.0ms
i
@-inf
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
1.0ms
i
@inf
(/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1))

rewrite54.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
313×rule-/ab-*+aa/1/2b_binary64
276×rule-*aa-fabs*aa_binary64
215×rule-nega--0a_binary64
215×rule-nega-/a-1_binary64
213×rule-nega-*a-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01234
132434
2400334
Stop Event
node limit
Counts
2 → 91
Calls
Call 1
Inputs
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
(/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 i 3) (*.f64 (fma.f64 i (*.f64 i 4) -1) (/.f64 i 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 i 3) (/.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/4 i) (/.f64 (fma.f64 i (*.f64 i 4) -1) (pow.f64 i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (/.f64 1 (pow.f64 i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 i (*.f64 i 4) -1) (*.f64 (pow.f64 i 3) (/.f64 1/4 i))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 3) (pow.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 i)) (fma.f64 i (*.f64 i 4) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 i))) (neg.f64 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/4 (pow.f64 i 3)) (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)) (pow.f64 i 3)) i)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 i)) (pow.f64 (cbrt.f64 (fma.f64 i (*.f64 i 4) -1)) 2)) (cbrt.f64 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 i)) (sqrt.f64 (fma.f64 i (*.f64 i 4) -1))) (sqrt.f64 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (pow.f64 i 3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 i 3)) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 i 3) 3) (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3) (pow.f64 (pow.f64 i 3) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (pow.f64 i 3/2)) (*.f64 (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (pow.f64 i 3/2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 i) (/.f64 1 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 i)) (/.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 i)) 2) (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 1/2 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/4 i)) (/.f64 (sqrt.f64 (/.f64 1/4 i)) (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 1/2 (*.f64 (fma.f64 i (*.f64 i 4) -1) (/.f64 i 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 i) (/.f64 1/2 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (fma.f64 i (*.f64 i 4) -1)) (/.f64 1/2 i))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)) (/.f64 1 i))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)) (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1))) (/.f64 1/2 i))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 i) (/.f64 1/2 i)) (/.f64 1/2 (/.f64 (fma.f64 i (*.f64 i 4) -1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (/.f64 1/4 i)) (neg.f64 (/.f64 1/4 i))) (/.f64 1/2 (neg.f64 (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3) (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3)) (/.f64 1/2 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1))) (neg.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)))) (/.f64 1/2 (neg.f64 i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (/.f64 1/4 i) (pow.f64 (cbrt.f64 (fma.f64 i (*.f64 i 4) -1)) 2)) (/.f64 (/.f64 1/4 i) (pow.f64 (cbrt.f64 (fma.f64 i (*.f64 i 4) -1)) 2))) (/.f64 1/2 (cbrt.f64 (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (/.f64 1/4 i) (sqrt.f64 (fma.f64 i (*.f64 i 4) -1))) (/.f64 (/.f64 1/4 i) (sqrt.f64 (fma.f64 i (*.f64 i 4) -1)))) (/.f64 1/2 (sqrt.f64 (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)) (pow.f64 (cbrt.f64 i) 2)) (/.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)) (pow.f64 (cbrt.f64 i) 2))) (/.f64 1/2 (cbrt.f64 i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)) (sqrt.f64 i)) (/.f64 (/.f64 1/4 (fma.f64 i (*.f64 i 4) -1)) (sqrt.f64 i))) (sqrt.f64 (/.f64 1/4 i)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (/.f64 1/4 i) 3) (pow.f64 (fma.f64 i (*.f64 i 4) -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (/.f64 1/2 (sqrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 i) (/.f64 1/2 (fma.f64 i (*.f64 i 4) -1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))

simplify29.0ms (1.4%)

Algorithm
egg-herbie
Rules
255×rule-/ab-*+aa/1/2b_binary64
255×rule-a-*a1_binary64
255×rule-a--a0_binary64
255×rule-a-+a0_binary64
252×rule-a-/a1_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073405
1510401
21650397
Stop Event
node limit
Counts
115 → 120
Calls
Call 1
Inputs
(*.f64 -1/4 (pow.f64 i 2))
(+.f64 (*.f64 -1 (pow.f64 i 4)) (*.f64 -1/4 (pow.f64 i 2)))
(+.f64 (*.f64 -1 (pow.f64 i 4)) (+.f64 (*.f64 -1/4 (pow.f64 i 2)) (*.f64 -4 (pow.f64 i 6))))
(+.f64 (*.f64 -16 (pow.f64 i 8)) (+.f64 (*.f64 -1 (pow.f64 i 4)) (+.f64 (*.f64 -1/4 (pow.f64 i 2)) (*.f64 -4 (pow.f64 i 6)))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (+.f64 (*.f64 1/1024 (/.f64 1 (pow.f64 i 6))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (+.f64 (*.f64 1/1024 (/.f64 1 (pow.f64 i 6))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
(/.f64 -1/4 i)
(-.f64 (*.f64 -1 i) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (*.f64 -1 i)) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (+.f64 (*.f64 -1 i) (*.f64 -16 (pow.f64 i 5)))) (*.f64 1/4 (/.f64 1 i)))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
Outputs
(*.f64 -1/4 (pow.f64 i 2))
(*.f64 -1/4 (*.f64 i i))
(+.f64 (*.f64 -1 (pow.f64 i 4)) (*.f64 -1/4 (pow.f64 i 2)))
(fma.f64 -1 (pow.f64 i 4) (*.f64 -1/4 (*.f64 i i)))
(fma.f64 -1/4 (*.f64 i i) (neg.f64 (pow.f64 i 4)))
(+.f64 (*.f64 -1 (pow.f64 i 4)) (+.f64 (*.f64 -1/4 (pow.f64 i 2)) (*.f64 -4 (pow.f64 i 6))))
(fma.f64 -1 (pow.f64 i 4) (fma.f64 -1/4 (*.f64 i i) (*.f64 -4 (pow.f64 i 6))))
(fma.f64 -1/4 (*.f64 i i) (fma.f64 -1 (pow.f64 i 4) (*.f64 -4 (pow.f64 i 6))))
(+.f64 (*.f64 -16 (pow.f64 i 8)) (+.f64 (*.f64 -1 (pow.f64 i 4)) (+.f64 (*.f64 -1/4 (pow.f64 i 2)) (*.f64 -4 (pow.f64 i 6)))))
(fma.f64 -16 (pow.f64 i 8) (fma.f64 -1 (pow.f64 i 4) (fma.f64 -1/4 (*.f64 i i) (*.f64 -4 (pow.f64 i 6)))))
(fma.f64 -1 (pow.f64 i 4) (fma.f64 -16 (pow.f64 i 8) (fma.f64 -1/4 (*.f64 i i) (*.f64 -4 (pow.f64 i 6)))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 1/16 (/.f64 1/64 (*.f64 i i)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 1/16 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (/.f64 1/64 (*.f64 i i))))
(+.f64 1/16 (+.f64 (/.f64 1/64 (*.f64 i i)) (/.f64 1/256 (pow.f64 i 4))))
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (+.f64 (*.f64 1/1024 (/.f64 1 (pow.f64 i 6))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/1024 (pow.f64 i 6)) (+.f64 1/16 (/.f64 1/64 (*.f64 i i)))))
(+.f64 1/16 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) (/.f64 1/1024 (pow.f64 i 6)))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 1/16 (/.f64 1/64 (*.f64 i i)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 1/16 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (/.f64 1/64 (*.f64 i i))))
(+.f64 1/16 (+.f64 (/.f64 1/64 (*.f64 i i)) (/.f64 1/256 (pow.f64 i 4))))
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (+.f64 (*.f64 1/1024 (/.f64 1 (pow.f64 i 6))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/1024 (pow.f64 i 6)) (+.f64 1/16 (/.f64 1/64 (*.f64 i i)))))
(+.f64 1/16 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) (/.f64 1/1024 (pow.f64 i 6)))))
(/.f64 -1/4 i)
(-.f64 (*.f64 -1 i) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (*.f64 i -1) (/.f64 1/4 i))
(-.f64 (neg.f64 i) (/.f64 1/4 i))
(-.f64 (/.f64 -1/4 i) i)
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (*.f64 -1 i)) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (fma.f64 -4 (pow.f64 i 3) (*.f64 i -1)) (/.f64 1/4 i))
(-.f64 (fma.f64 -4 (pow.f64 i 3) (neg.f64 i)) (/.f64 1/4 i))
(fma.f64 -4 (pow.f64 i 3) (-.f64 (/.f64 -1/4 i) i))
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (+.f64 (*.f64 -1 i) (*.f64 -16 (pow.f64 i 5)))) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (fma.f64 -4 (pow.f64 i 3) (fma.f64 -1 i (*.f64 -16 (pow.f64 i 5)))) (/.f64 1/4 i))
(-.f64 (fma.f64 -4 (pow.f64 i 3) (fma.f64 -16 (pow.f64 i 5) (neg.f64 i))) (/.f64 1/4 i))
(+.f64 (fma.f64 -4 (pow.f64 i 3) (fma.f64 -16 (pow.f64 i 5) (neg.f64 i))) (/.f64 -1/4 i))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (/.f64 1/64 (pow.f64 i 5)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/64 (pow.f64 i 5))))
(+.f64 (/.f64 1/64 (pow.f64 i 5)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/16 (pow.f64 i 3))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/256 (pow.f64 i 7))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/1024 (pow.f64 i 9)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/1024 (pow.f64 i 9)))))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (/.f64 1/64 (pow.f64 i 5)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/64 (pow.f64 i 5))))
(+.f64 (/.f64 1/64 (pow.f64 i 5)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/16 (pow.f64 i 3))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/256 (pow.f64 i 7))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/1024 (pow.f64 i 9)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/1024 (pow.f64 i 9)))))

prune83.0ms (4%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1173120
Fresh101
Picked011
Done000
Total1184122
Error
0b
Counts
122 → 4
Alt Table
StatusErrorProgram
25.0b
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
19.3b
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
32.0b
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
32.1b
(*.f64 -1/4 (pow.f64 i 2))
Compiler

Compiled 2376 to 1808 computations (23.9% saved)

localize9.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))
0.4b
(*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))
0.7b
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
18.2b
(cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))

series17.0ms (0.8%)

Counts
4 → 36
Calls

12 calls:

TimeVariablePointExpression
5.0ms
i
@-inf
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
3.0ms
i
@inf
(cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))
2.0ms
i
@0
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
2.0ms
i
@inf
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
2.0ms
i
@-inf
(cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))

rewrite68.0ms (3.3%)

Algorithm
batch-egg-rewrite
Rules
282×rule-*aa-fabs*aa_binary64
223×rule-nega--0a_binary64
223×rule-nega-/a-1_binary64
221×rule-nega-*a-1_binary64
134×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01371
134369
2412669
Stop Event
node limit
Counts
4 → 164
Calls
Call 1
Inputs
(cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
(*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))
(/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (pow.f64 1 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6) (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 1/2) (cbrt.f64 (/.f64 1/2 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 1/4) (cbrt.f64 1/4)) (/.f64 1/2 (cbrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1/2 1/3) (pow.f64 (/.f64 1/2 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1/3) (pow.f64 (sqrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 1/4 i)) (cbrt.f64 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6) (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1/3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))) (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 i (*.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (*.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) i))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 2) (*.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (cbrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) (*.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (sqrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3/2) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2)) (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 2) 3) (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 3) (pow.f64 (sqrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (/.f64 1 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 3) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 i 3)) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 i 3) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3/2) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3/2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 i (/.f64 1 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 i (/.f64 (cbrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (cbrt.f64 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (/.f64 1 i))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 1/4) i) (cbrt.f64 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 i) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (pow.f64 i 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) i 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 2) (cbrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) (sqrt.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (/.f64 1 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) (*.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2) (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (/.f64 1/2 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (sqrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6) (*.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2) (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 i) (/.f64 1 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2)) (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/4 i) (/.f64 1/4 i)) (/.f64 1/2 (fma.f64 i (*.f64 i 4) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 3/2) (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 2) 3) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6) 3) (pow.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1/6) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (neg.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 2) (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (/.f64 1/2 (*.f64 i (fma.f64 i (*.f64 i 4) -1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) (sqrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3))))))

simplify36.0ms (1.7%)

Algorithm
egg-herbie
Rules
330×rule-/ab-*+aa/1/2b_binary64
326×rule-a-*a1_binary64
326×rule-a--a0_binary64
326×rule-a-+a0_binary64
326×rule-a-/a1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02031374
115421370
Stop Event
node limit
Counts
200 → 222
Calls
Call 1
Inputs
(/.f64 (pow.f64 (cbrt.f64 1/4) 2) i)
(+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3)))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i))
(+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 5)))) (+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3)))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i)))
(+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 5)))) (+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3)))) (+.f64 (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i) (*.f64 1/3 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 7)))))))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i)) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3)))))
(+.f64 (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i)) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3))))))
(+.f64 (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i)) (+.f64 (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3)))) (*.f64 -1/3 (/.f64 (*.f64 (cbrt.f64 -1/4) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6))))) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 7)))))))
(pow.f64 (cbrt.f64 1/4) 6)
(+.f64 (pow.f64 (cbrt.f64 1/4) 6) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/144 (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2)))) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 4)) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
(+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 (*.f64 1/6912 (/.f64 1 (pow.f64 i 6))) (+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/144 (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2)))) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 4)) (+.f64 (*.f64 1/12 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (pow.f64 i 6))) (+.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (+.f64 (*.f64 2/3 (*.f64 (cbrt.f64 1/4) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))))) (*.f64 1/6912 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (pow.f64 i 6)) (+.f64 (*.f64 1/48 (/.f64 (+.f64 (*.f64 1/144 (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2)))) (*.f64 (pow.f64 i 6) (cbrt.f64 1/4)))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4))) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)))))) (pow.f64 i 4))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/6912 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))) (*.f64 2/3 (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1/4) 2) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6))))) (cbrt.f64 1/4)))))) (pow.f64 i 6))) (+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 (*.f64 1/6912 (/.f64 1 (pow.f64 i 6))) (+.f64 1/16 (+.f64 (*.f64 1/12 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (pow.f64 i 6))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4))) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)))))) (pow.f64 i 4))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))) (*.f64 -1/48 (/.f64 (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4))) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))))) (*.f64 (pow.f64 i 6) (pow.f64 (cbrt.f64 1/4) 2)))))))))))
(pow.f64 (cbrt.f64 1/4) 2)
(+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 2)))) (pow.f64 (cbrt.f64 1/4) 2))
(+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 4)))) (+.f64 (pow.f64 (cbrt.f64 1/4) 2) (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 2))))))
(+.f64 (*.f64 1/3 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 6)))) (+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 4)))) (+.f64 (pow.f64 (cbrt.f64 1/4) 2) (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 2)))))))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4))) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 2)))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4))) (+.f64 (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 2)))) (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4))))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4))) (+.f64 (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 2)))) (+.f64 (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4)))) (*.f64 -1/3 (/.f64 (*.f64 (cbrt.f64 -1/4) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6))))) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 6)))))))
(/.f64 -1/4 i)
(-.f64 (*.f64 -1 i) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (*.f64 -1 i)) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (+.f64 (*.f64 -1 i) (*.f64 -16 (pow.f64 i 5)))) (*.f64 1/4 (/.f64 1 i)))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
Outputs
(/.f64 (pow.f64 (cbrt.f64 1/4) 2) i)
(+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3)))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i))
(+.f64 (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i) (/.f64 1/48 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3))))
(+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 5)))) (+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3)))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i)))
(+.f64 (/.f64 1/48 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3))) (+.f64 (/.f64 1/288 (*.f64 (cbrt.f64 1/4) (pow.f64 i 5))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i)))
(+.f64 (/.f64 1/48 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3))) (+.f64 (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i) (/.f64 1/288 (*.f64 (cbrt.f64 1/4) (pow.f64 i 5)))))
(+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 5)))) (+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3)))) (+.f64 (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i) (*.f64 1/3 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 7)))))))
(+.f64 (/.f64 1/48 (*.f64 (cbrt.f64 1/4) (pow.f64 i 3))) (+.f64 (/.f64 1/288 (*.f64 (cbrt.f64 1/4) (pow.f64 i 5))) (+.f64 (/.f64 (pow.f64 (cbrt.f64 1/4) 2) i) (*.f64 1/3 (/.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 7)))))))
(*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i))
(*.f64 -1 (*.f64 (cbrt.f64 -1/4) (/.f64 (cbrt.f64 1/4) i)))
(*.f64 (neg.f64 (cbrt.f64 -1/4)) (/.f64 (cbrt.f64 1/4) i))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i)) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3)))))
(fma.f64 -1 (*.f64 (cbrt.f64 -1/4) (/.f64 (cbrt.f64 1/4) i)) (*.f64 -1/48 (/.f64 (/.f64 (cbrt.f64 -1/4) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 3))))
(fma.f64 -1 (*.f64 (cbrt.f64 1/4) (/.f64 (cbrt.f64 -1/4) i)) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3)))))
(+.f64 (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i)) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3))))))
(fma.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5))) (fma.f64 -1 (*.f64 (cbrt.f64 -1/4) (/.f64 (cbrt.f64 1/4) i)) (*.f64 -1/48 (/.f64 (/.f64 (cbrt.f64 -1/4) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 3)))))
(fma.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5))) (fma.f64 -1 (*.f64 (cbrt.f64 1/4) (/.f64 (cbrt.f64 -1/4) i)) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3))))))
(+.f64 (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) i)) (+.f64 (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3)))) (*.f64 -1/3 (/.f64 (*.f64 (cbrt.f64 -1/4) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6))))) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 7)))))))
(fma.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5))) (fma.f64 -1 (*.f64 (cbrt.f64 -1/4) (/.f64 (cbrt.f64 1/4) i)) (fma.f64 -1/48 (/.f64 (/.f64 (cbrt.f64 -1/4) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 3)) (*.f64 -1/3 (*.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 7))))))))
(fma.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 5))) (fma.f64 -1 (*.f64 (cbrt.f64 1/4) (/.f64 (cbrt.f64 -1/4) i)) (fma.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 3))) (*.f64 -1/3 (*.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (/.f64 (/.f64 (cbrt.f64 -1/4) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 7)))))))
(pow.f64 (cbrt.f64 1/4) 6)
(+.f64 (pow.f64 (cbrt.f64 1/4) 6) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (pow.f64 (cbrt.f64 1/4) 6) (/.f64 1/64 (*.f64 i i)))
(+.f64 (pow.f64 (cbrt.f64 1/4) 6) (/.f64 (/.f64 1/64 i) i))
(+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/144 (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2)))) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 4)) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
(+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (/.f64 (fma.f64 1/144 (cbrt.f64 1/4) (/.f64 1/2304 (pow.f64 (cbrt.f64 1/4) 2))) (pow.f64 i 4))))))
(+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 (/.f64 (/.f64 1/64 i) i) (*.f64 (fma.f64 1/144 (cbrt.f64 1/4) (/.f64 1/2304 (pow.f64 (cbrt.f64 1/4) 2))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4))))))
(+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 (*.f64 1/6912 (/.f64 1 (pow.f64 i 6))) (+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/144 (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2)))) (pow.f64 (cbrt.f64 1/4) 2)) (pow.f64 i 4)) (+.f64 (*.f64 1/12 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (pow.f64 i 6))) (+.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (+.f64 (*.f64 2/3 (*.f64 (cbrt.f64 1/4) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))))) (*.f64 1/6912 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2))))) (pow.f64 i 6)) (+.f64 (*.f64 1/48 (/.f64 (+.f64 (*.f64 1/144 (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 2)))) (*.f64 (pow.f64 i 6) (cbrt.f64 1/4)))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))))))
(+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 (/.f64 1/6912 (pow.f64 i 6)) (+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (/.f64 (fma.f64 1/144 (cbrt.f64 1/4) (/.f64 1/2304 (pow.f64 (cbrt.f64 1/4) 2))) (pow.f64 i 4))) (fma.f64 1/12 (/.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (pow.f64 i 6)) (+.f64 (*.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 1/4) (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6)))) (/.f64 1/6912 (pow.f64 (cbrt.f64 1/4) 2))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 6))) (fma.f64 1/48 (/.f64 (fma.f64 1/144 (cbrt.f64 1/4) (/.f64 1/2304 (pow.f64 (cbrt.f64 1/4) 2))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 6))) (/.f64 1/64 (*.f64 i i)))))))))
(+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 (pow.f64 (cbrt.f64 1/4) 6) (+.f64 (/.f64 1/6912 (pow.f64 i 6)) (+.f64 (*.f64 (fma.f64 1/144 (cbrt.f64 1/4) (/.f64 1/2304 (pow.f64 (cbrt.f64 1/4) 2))) (/.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4))) (fma.f64 1/12 (/.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (pow.f64 i 6)) (+.f64 (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (/.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 1/4) (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6)))) (/.f64 1/6912 (pow.f64 (cbrt.f64 1/4) 2))) (pow.f64 i 6))) (fma.f64 1/48 (/.f64 (fma.f64 1/144 (cbrt.f64 1/4) (/.f64 1/2304 (pow.f64 (cbrt.f64 1/4) 2))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 6))) (/.f64 (/.f64 1/64 i) i))))))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)
(+.f64 (/.f64 (/.f64 1/64 i) i) 1/16)
(+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4))) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)))))) (pow.f64 i 4))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))))
(+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 1/16 (fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 -1/4) (fma.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))))) (/.f64 (cbrt.f64 1/4) (pow.f64 i 4))) (/.f64 1/64 (*.f64 i i)))))
(+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 1/16 (fma.f64 -1 (*.f64 (cbrt.f64 1/4) (/.f64 (*.f64 (cbrt.f64 -1/4) (fma.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))))) (pow.f64 i 4))) (/.f64 (/.f64 1/64 i) i))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/6912 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))) (*.f64 2/3 (/.f64 (*.f64 (pow.f64 (cbrt.f64 -1/4) 2) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6))))) (cbrt.f64 1/4)))))) (pow.f64 i 6))) (+.f64 (*.f64 1/576 (/.f64 1 (pow.f64 i 4))) (+.f64 (*.f64 1/6912 (/.f64 1 (pow.f64 i 6))) (+.f64 1/16 (+.f64 (*.f64 1/12 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (pow.f64 i 6))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (cbrt.f64 1/4) (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4))) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)))))) (pow.f64 i 4))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))) (*.f64 -1/48 (/.f64 (*.f64 (cbrt.f64 -1/4) (+.f64 (*.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4))) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))))) (*.f64 (pow.f64 i 6) (pow.f64 (cbrt.f64 1/4) 2)))))))))))
(fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 -1/4) (fma.f64 1/6912 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)) (*.f64 2/3 (*.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4)))))) (/.f64 (cbrt.f64 1/4) (pow.f64 i 6))) (+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 (/.f64 1/6912 (pow.f64 i 6)) (+.f64 1/16 (fma.f64 1/12 (/.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (pow.f64 i 6)) (fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 -1/4) (fma.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))))) (/.f64 (cbrt.f64 1/4) (pow.f64 i 4))) (+.f64 (/.f64 1/64 (*.f64 i i)) (*.f64 -1/48 (*.f64 (fma.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)))) (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 6))))))))))))
(fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 -1/4) (fma.f64 1/6912 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)) (/.f64 2/3 (/.f64 (/.f64 (cbrt.f64 1/4) (pow.f64 (cbrt.f64 -1/4) 2)) (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))))))) (/.f64 (cbrt.f64 1/4) (pow.f64 i 6))) (+.f64 (/.f64 1/576 (pow.f64 i 4)) (+.f64 (/.f64 1/6912 (pow.f64 i 6)) (+.f64 1/16 (fma.f64 1/12 (/.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (pow.f64 i 6)) (fma.f64 -1 (*.f64 (cbrt.f64 1/4) (/.f64 (*.f64 (cbrt.f64 -1/4) (fma.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4))))) (pow.f64 i 4))) (+.f64 (/.f64 (/.f64 1/64 i) i) (*.f64 -1/48 (*.f64 (cbrt.f64 -1/4) (/.f64 (fma.f64 1/144 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (cbrt.f64 1/4)) (*.f64 1/2304 (/.f64 (pow.f64 (cbrt.f64 -1/4) 2) (pow.f64 (cbrt.f64 1/4) 4)))) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 6))))))))))))
(pow.f64 (cbrt.f64 1/4) 2)
(+.f64 (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 2)))) (pow.f64 (cbrt.f64 1/4) 2))
(+.f64 (pow.f64 (cbrt.f64 1/4) 2) (/.f64 1/48 (*.f64 (cbrt.f64 1/4) (*.f64 i i))))
(+.f64 (pow.f64 (cbrt.f64 1/4) 2) (/.f64 (/.f64 1/48 (*.f64 i i)) (cbrt.f64 1/4)))
(+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 4)))) (+.f64 (pow.f64 (cbrt.f64 1/4) 2) (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 2))))))
(+.f64 (pow.f64 (cbrt.f64 1/4) 2) (+.f64 (/.f64 1/288 (*.f64 (cbrt.f64 1/4) (pow.f64 i 4))) (/.f64 1/48 (*.f64 (cbrt.f64 1/4) (*.f64 i i)))))
(+.f64 (pow.f64 (cbrt.f64 1/4) 2) (+.f64 (/.f64 (/.f64 1/48 (*.f64 i i)) (cbrt.f64 1/4)) (/.f64 (/.f64 1/288 (cbrt.f64 1/4)) (pow.f64 i 4))))
(+.f64 (*.f64 1/3 (/.f64 (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6)))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 6)))) (+.f64 (*.f64 1/288 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 4)))) (+.f64 (pow.f64 (cbrt.f64 1/4) 2) (*.f64 1/48 (/.f64 1 (*.f64 (cbrt.f64 1/4) (pow.f64 i 2)))))))
(fma.f64 1/3 (/.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 6))) (+.f64 (pow.f64 (cbrt.f64 1/4) 2) (+.f64 (/.f64 1/288 (*.f64 (cbrt.f64 1/4) (pow.f64 i 4))) (/.f64 1/48 (*.f64 (cbrt.f64 1/4) (*.f64 i i))))))
(fma.f64 1/3 (/.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (*.f64 (cbrt.f64 1/4) (pow.f64 i 6))) (+.f64 (pow.f64 (cbrt.f64 1/4) 2) (+.f64 (/.f64 (/.f64 1/48 (*.f64 i i)) (cbrt.f64 1/4)) (/.f64 (/.f64 1/288 (cbrt.f64 1/4)) (pow.f64 i 4)))))
(*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)))
(*.f64 (cbrt.f64 1/4) (neg.f64 (cbrt.f64 -1/4)))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4))) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 2)))))
(fma.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (*.f64 i i)))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4))) (+.f64 (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 2)))) (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4))))))
(fma.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) (fma.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (*.f64 i i))) (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4))))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4))) (+.f64 (*.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 2)))) (+.f64 (*.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4)))) (*.f64 -1/3 (/.f64 (*.f64 (cbrt.f64 -1/4) (-.f64 5/2304 (*.f64 1/110592 (/.f64 1 (pow.f64 (cbrt.f64 1/4) 6))))) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 6)))))))
(fma.f64 -1 (*.f64 (cbrt.f64 1/4) (cbrt.f64 -1/4)) (fma.f64 -1/48 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (*.f64 i i))) (fma.f64 -1/288 (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 4))) (*.f64 -1/3 (*.f64 (-.f64 5/2304 (/.f64 1/110592 (pow.f64 (cbrt.f64 1/4) 6))) (/.f64 (cbrt.f64 -1/4) (*.f64 (pow.f64 (cbrt.f64 1/4) 2) (pow.f64 i 6))))))))
(/.f64 -1/4 i)
(-.f64 (*.f64 -1 i) (*.f64 1/4 (/.f64 1 i)))
(fma.f64 -1 i (neg.f64 (/.f64 1/4 i)))
(-.f64 (neg.f64 i) (/.f64 1/4 i))
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (*.f64 -1 i)) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (fma.f64 -4 (pow.f64 i 3) (*.f64 i -1)) (/.f64 1/4 i))
(-.f64 (fma.f64 -4 (pow.f64 i 3) (neg.f64 i)) (/.f64 1/4 i))
(-.f64 (+.f64 (*.f64 -4 (pow.f64 i 3)) (+.f64 (*.f64 -1 i) (*.f64 -16 (pow.f64 i 5)))) (*.f64 1/4 (/.f64 1 i)))
(-.f64 (fma.f64 -4 (pow.f64 i 3) (fma.f64 -1 i (*.f64 (pow.f64 i 5) -16))) (/.f64 1/4 i))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (/.f64 1/64 (pow.f64 i 5)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/64 (pow.f64 i 5))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/256 (pow.f64 i 7))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
(+.f64 (/.f64 1/256 (pow.f64 i 7)) (+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/1024 (pow.f64 i 9)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/1024 (pow.f64 i 9)))))
(/.f64 1/16 (pow.f64 i 3))
(+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (/.f64 1/64 (pow.f64 i 5)))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (*.f64 1/64 (/.f64 1 (pow.f64 i 5)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (/.f64 1/64 (pow.f64 i 5))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/256 (pow.f64 i 7))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 7))) (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 i 3))) (+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 5))) (*.f64 1/1024 (/.f64 1 (pow.f64 i 9))))))
(+.f64 (/.f64 1/256 (pow.f64 i 7)) (+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/1024 (pow.f64 i 9)))))
(+.f64 (/.f64 1/16 (pow.f64 i 3)) (+.f64 (/.f64 1/256 (pow.f64 i 7)) (+.f64 (/.f64 1/64 (pow.f64 i 5)) (/.f64 1/1024 (pow.f64 i 9)))))

prune204.0ms (9.8%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2220222
Fresh022
Picked011
Done011
Total2224226
Error
0b
Counts
226 → 4
Alt Table
StatusErrorProgram
25.0b
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
19.3b
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
32.0b
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
32.1b
(*.f64 -1/4 (pow.f64 i 2))
Compiler

Compiled 5556 to 4510 computations (18.8% saved)

localize9.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
0.3b
(/.f64 1/64 (*.f64 i i))
0.3b
(/.f64 1/256 (pow.f64 i 4))

series4.0ms (0.2%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
i
@0
(/.f64 1/256 (pow.f64 i 4))
1.0ms
i
@0
(/.f64 1/64 (*.f64 i i))
0.0ms
i
@0
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
0.0ms
i
@inf
(/.f64 1/256 (pow.f64 i 4))
0.0ms
i
@inf
(/.f64 1/64 (*.f64 i i))

rewrite56.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
286×rule-*aa-fabs*aa_binary64
215×rule-nega--0a_binary64
215×rule-nega-/a-1_binary64
215×rule-nega-*a-1_binary64
136×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01233
133533
2428933
Stop Event
node limit
Counts
3 → 109
Calls
Call 1
Inputs
(/.f64 1/256 (pow.f64 i 4))
(/.f64 1/64 (*.f64 i i))
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/256 (pow.f64 i 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/256 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (/.f64 1/256 (pow.f64 i 4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/256 (pow.f64 i 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/256 (pow.f64 i 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1/256 (pow.f64 i 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (/.f64 1/256 (pow.f64 i 4))) (/.f64 1/256 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/256 (/.f64 1 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/256 (pow.f64 i 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/256 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/256 (pow.f64 i 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) (pow.f64 (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) 2) (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/16 (*.f64 i i)) (/.f64 1/16 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/128 (/.f64 1/2 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (pow.f64 i 4)) 1/128)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (/.f64 1/256 (pow.f64 i 4))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/256 (pow.f64 i 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/16 (*.f64 i i)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/16777216 (pow.f64 (pow.f64 i 4) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/256 (pow.f64 i 4))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 1/256 (pow.f64 i 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 1/256 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1/256 (pow.f64 i 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1/256 (pow.f64 i 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 1/16777216 (pow.f64 (pow.f64 i 4) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/256 (pow.f64 i 4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/256 (pow.f64 i 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/256 (pow.f64 i 4)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) 2) (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/16 (*.f64 i i)) (/.f64 1/16 (*.f64 i i)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/128 (/.f64 1/2 (pow.f64 i 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1/256 (pow.f64 i 4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1/64 (*.f64 i i)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 1/64 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (log1p.f64 (/.f64 1/64 (*.f64 i i)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1/64 (*.f64 i i)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 1/64 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1/64 (*.f64 i i)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) (/.f64 1/64 (*.f64 i i))) (/.f64 1/64 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/64 (/.f64 1 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/64 (*.f64 i i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1/64 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 1/64 (*.f64 i i))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 i) 2)) (pow.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 i) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 i) 2)) 2) (/.f64 1/4 (pow.f64 (cbrt.f64 i) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/8 i) (/.f64 1/8 i))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/32 (/.f64 1/2 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/2 (*.f64 i i)) 1/32)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1/64 i) (/.f64 1 i))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) (/.f64 1/64 (*.f64 i i))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/64 i) (/.f64 1/64 i)) (/.f64 1/2 i))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/64 (*.f64 i i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 i) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/8 i) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1/262144 (pow.f64 i 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 1/64 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 1/64 (*.f64 i i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 1/64 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1/64 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1/64 (*.f64 i i)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 1/262144 (pow.f64 i 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1/64 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1/64 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/64 (*.f64 i i)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 1/4 (pow.f64 (cbrt.f64 i) 2)) 2) (/.f64 1/4 (pow.f64 (cbrt.f64 i) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/8 i) (/.f64 1/8 i) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/32 (/.f64 1/2 (*.f64 i i)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 1/64 (*.f64 i i))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 2) (cbrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) (sqrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 (pow.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16) 3) (/.f64 1/16777216 (pow.f64 (pow.f64 i 4) 3))) (+.f64 (pow.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16) 3) (/.f64 1/16777216 (pow.f64 (pow.f64 i 4) 3)))) (/.f64 1/2 (+.f64 (pow.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16) 2) (-.f64 (pow.f64 (/.f64 1/256 (pow.f64 i 4)) 2) (*.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 3) (pow.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16) 3) (/.f64 1/16777216 (pow.f64 (pow.f64 i 4) 3))) (+.f64 (pow.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16) 2) (-.f64 (pow.f64 (/.f64 1/256 (pow.f64 i 4)) 2) (*.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/256 (pow.f64 i 4)) 1 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16) 1 (/.f64 1/256 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) 2) (cbrt.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) (/.f64 1/256 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 2) (cbrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) 2) (cbrt.f64 (/.f64 1/256 (pow.f64 i 4))) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) (sqrt.f64 (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)) (/.f64 1/256 (pow.f64 i 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) (sqrt.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/16 (*.f64 i i)) (/.f64 1/16 (*.f64 i i)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/128 (/.f64 1/2 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))))))))

simplify28.0ms (1.4%)

Algorithm
egg-herbie
Rules
334×rule-/ab-*+aa/1/2b_binary64
260×rule-a-*a1_binary64
260×rule-a--a0_binary64
260×rule-a-+a0_binary64
260×rule-a-/a1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021243
1135243
2358243
31592243
Stop Event
node limit
Counts
133 → 120
Calls
Call 1
Inputs
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/256 (pow.f64 i 4))
(+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))) (*.f64 1/256 (/.f64 1 (pow.f64 i 4))))
(+.f64 1/16 (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 1/16 (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
Outputs
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/64 (pow.f64 i 2))
(/.f64 1/64 (*.f64 i i))
(/.f64 1/256 (pow.f64 i 4))
(+.f64 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))) (*.f64 1/256 (/.f64 1 (pow.f64 i 4))))
(+.f64 (/.f64 1/64 (*.f64 i i)) (/.f64 1/256 (pow.f64 i 4)))
(+.f64 1/16 (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))
(+.f64 (/.f64 1/64 (*.f64 i i)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) 1/16))
(+.f64 1/16 (+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))
(+.f64 (/.f64 1/64 (*.f64 i i)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) 1/16))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))
(+.f64 (/.f64 1/64 (*.f64 i i)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) 1/16))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))
(+.f64 (/.f64 1/64 (*.f64 i i)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) 1/16))
1/16
(+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2))))
(+.f64 (/.f64 1/64 (*.f64 i i)) 1/16)
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))
(+.f64 (/.f64 1/64 (*.f64 i i)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) 1/16))
(+.f64 (*.f64 1/256 (/.f64 1 (pow.f64 i 4))) (+.f64 1/16 (*.f64 1/64 (/.f64 1 (pow.f64 i 2)))))
(+.f64 (/.f64 1/256 (pow.f64 i 4)) (+.f64 (/.f64 1/64 (*.f64 i i)) 1/16))
(+.f64 (/.f64 1/64 (*.f64 i i)) (+.f64 (/.f64 1/256 (pow.f64 i 4)) 1/16))

prune73.0ms (3.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1200120
Fresh011
Picked011
Done022
Total1204124
Error
0b
Counts
124 → 4
Alt Table
StatusErrorProgram
25.0b
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
19.3b
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
32.0b
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
32.1b
(*.f64 -1/4 (pow.f64 i 2))
Compiler

Compiled 2190 to 1630 computations (25.6% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 -1/4 (pow.f64 i 2))

series3.0ms (0.1%)

Counts
1 → 0
Calls

3 calls:

TimeVariablePointExpression
2.0ms
i
@0
(*.f64 -1/4 (pow.f64 i 2))
1.0ms
i
@inf
(*.f64 -1/4 (pow.f64 i 2))
0.0ms
i
@-inf
(*.f64 -1/4 (pow.f64 i 2))

rewrite29.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
598×rules-30_binary64
598×rules-31_binary64
598×rules-32_binary64
598×rules-33_binary64
547×rules-27_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11577
218347
Stop Event
node limit
Counts
1 → 29
Calls
Call 1
Inputs
(*.f64 -1/4 (pow.f64 i 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/4 (*.f64 i i)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 -1/4 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 -1/4 (*.f64 i i)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 -1/4 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 -1/4 (*.f64 i i)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 -1/4 (*.f64 i i)) (*.f64 -1/4 (*.f64 i i))) (*.f64 -1/4 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1/4 (/.f64 1 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1/4 (*.f64 i i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 -1/4 (*.f64 i i))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 -1/4 (*.f64 i i)) 3) (+.f64 (pow.f64 (*.f64 -1/4 (*.f64 i i)) 2) (+.f64 0 (*.f64 (*.f64 -1/4 (*.f64 i i)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 -1/4 (*.f64 i i)) 3) (+.f64 (pow.f64 (*.f64 -1/4 (*.f64 i i)) 2) (-.f64 0 (*.f64 (*.f64 -1/4 (*.f64 i i)) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -1/4 (*.f64 i i)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -1/4 (*.f64 i i)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -1/4 (*.f64 i i))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 i (sqrt.f64 -1/4)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 -1/4 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 -1/4 (*.f64 i i)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 -1/4 (*.f64 i i)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 i) i) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/4 (*.f64 i i)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -1/4 (*.f64 i i)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -1/4 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -1/4 (*.f64 i i))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (*.f64 i i) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i i) -1/4 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (*.f64 i i)) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (*.f64 i i))) 2) (cbrt.f64 (*.f64 -1/4 (*.f64 i i))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 i (sqrt.f64 -1/4)) (*.f64 i (sqrt.f64 -1/4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -1/4 (*.f64 i i))))))))

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
29 → 29
Calls
Call 1
Inputs
Outputs

prune14.0ms (0.7%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New29029
Fresh000
Picked011
Done033
Total29433
Error
0b
Counts
33 → 4
Alt Table
StatusErrorProgram
25.0b
(*.f64 (pow.f64 i 3) (/.f64 (/.f64 1/4 i) (fma.f64 i (*.f64 i 4) -1)))
19.3b
(pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3)
32.0b
(+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4)))
32.1b
(*.f64 -1/4 (pow.f64 i 2))
Compiler

Compiled 321 to 206 computations (35.8% saved)

regimes30.0ms (1.4%)

Accuracy

Total -63.4b remaining (-17565.4%)

Threshold costs -63.4b (-17565.4%)

Counts
10 → 2
Compiler

Compiled 159 to 110 computations (30.8% saved)

bsearch28.0ms (1.4%)

Algorithm
binary-search
Calls

1 calls:

28.0ms
i
Steps
ItersPointRange
26.34059804421463
∈ [
26.34059804421463
,
262.54033841919687
]
Compiler

Compiled 30 to 20 computations (33.3% saved)

simplify1.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02647
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 i 115847175328751/4398046511104) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3) (+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4))))
Outputs
(if (<=.f64 i 115847175328751/4398046511104) (pow.f64 (*.f64 i (cbrt.f64 (/.f64 1/4 (*.f64 i (fma.f64 i (*.f64 i 4) -1))))) 3) (+.f64 (+.f64 1/16 (/.f64 1/64 (*.f64 i i))) (/.f64 1/256 (pow.f64 i 4))))

end84.0ms (4%)

Stop Event
done
Compiler

Compiled 113 to 84 computations (25.7% saved)

Profiling

Loading profile data...