Details

Time bar (total: 8.8s)

analyze36.0ms (0.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%12.5%87.5%0
0%12.5%87.5%1
0%12.5%87.5%2
3.1%9.3%87.5%3
3.1%6.2%90.7%4
4.7%4.7%90.7%5
4.7%3.5%91.8%6
5.6%2.5%91.8%7
5.9%1.8%92.3%8
6.4%1.3%92.3%9
6.6%0.9%92.5%10
6.8%0.6%92.5%11
6.9%0.5%92.6%12
Compiler

Compiled 24 to 17 computations (29.2% saved)

sample984.0ms (11.1%)

Results
957.0ms8256×body256valid
15.0ms138×body256invalid

preprocess105.0ms (1.2%)

Algorithm
egg-herbie
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
(*.f64 (-.f64 (/.f64 (*.f64 v (-.f64 1 v)) m) 1) v)
Outputs
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
(*.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) -1) m)
(*.f64 (-.f64 (/.f64 (*.f64 v (-.f64 1 v)) m) 1) v)
(*.f64 (fma.f64 v (/.f64 (-.f64 1 v) m) -1) v)
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify35.0ms (0.4%)

Algorithm
egg-herbie
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Outputs
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)

eval1.0ms (0%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
0.2b
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
Compiler

Compiled 25 to 17 computations (32% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
0.0b
(fma.f64 (-.f64 1 m) (/.f64 m v) -1)
0.0b
(fma.f64 (-.f64 1 m) (/.f64 m v) -1)
0.1b
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
Compiler

Compiled 30 to 16 computations (46.7% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
v
@-inf
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
1.0ms
m
@inf
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
1.0ms
m
@0
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
1.0ms
m
@-inf
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
1.0ms
v
@0
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)

rewrite48.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
60×egg-rr
37×egg-rr
Counts
2 → 97
Calls
Call 1
Inputs
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
(fma.f64 (-.f64 1 m) (/.f64 m v) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 0) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (*.f64 0 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) m)) v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (/.f64 (*.f64 m (*.f64 (-.f64 1 m) m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) m)) v) 1) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) m)) v) 0) m)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) m)) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 2)) (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m) (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (cbrt.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 m m)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1)) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 (*.f64 (-.f64 1 m) m) v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0) (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (*.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) (/.f64 1 (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) m) 1) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) v) -1)) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (neg.f64 m)) 1) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v)) -1)) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) m) 1) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) v) 1)) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (neg.f64 m)) 1) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v)) 1)) (*.f64 (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) 1) (*.f64 (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1)) (neg.f64 (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) 1) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) (+.f64 1 (-.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (/.f64 (*.f64 (+.f64 m -1) m) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (-.f64 1 m) m) 1) (neg.f64 v)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (/.f64 m v)) 1) (*.f64 (fma.f64 m (+.f64 1 m) 1) -1)) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 m) m)) 1) v) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 v) (*.f64 (-.f64 1 m) m)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1 (*.f64 (fma.f64 m (+.f64 1 m) 1) v)) (*.f64 (-.f64 1 (pow.f64 m 3)) m)) (*.f64 (fma.f64 m (+.f64 1 m) 1) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (fma.f64 m (+.f64 1 m) 1)) (*.f64 (-.f64 1 (pow.f64 m 3)) (/.f64 m v))) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 v (neg.f64 (*.f64 (-.f64 1 m) m))) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 -1 (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v))) (*.f64 (-.f64 1 (pow.f64 m 3)) (neg.f64 m))) (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (-.f64 1 m) m) 1) v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (/.f64 m v)) 1) (fma.f64 m (+.f64 1 m) 1)) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (neg.f64 (*.f64 (-.f64 1 m) m)) 1) (neg.f64 v)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 m) (/.f64 m v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 m) (cbrt.f64 (/.f64 m v))) (cbrt.f64 (pow.f64 (/.f64 m v) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (-.f64 1 m)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) (/.f64 m v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 m v) (-.f64 1 m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 m) m) (/.f64 1 v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 1 (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 -1 (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1 -1)))))

simplify312.0ms (3.5%)

Algorithm
egg-herbie
Counts
145 → 119
Calls
Call 1
Inputs
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
-1
(-.f64 (/.f64 m v) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
Outputs
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
-1
(-.f64 (/.f64 m v) 1)
(+.f64 (/.f64 m v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)

localize16.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
0.0b
(/.f64 (*.f64 m (-.f64 1 m)) v)
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
0.0b
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(/.f64 (*.f64 m (-.f64 1 m)) v)
0.1b
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Compiler

Compiled 40 to 25 computations (37.5% saved)

series13.0ms (0.1%)

Counts
4 → 63
Calls

21 calls:

TimeVariablePointExpression
4.0ms
m
@inf
(/.f64 (*.f64 m (-.f64 1 m)) v)
1.0ms
m
@0
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
1.0ms
v
@0
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
1.0ms
m
@inf
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
1.0ms
m
@-inf
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)

rewrite78.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
90×egg-rr
81×egg-rr
51×egg-rr
48×egg-rr
Counts
4 → 270
Calls
Call 1
Inputs
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(*.f64 m (-.f64 1 m))
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 0) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (*.f64 0 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 1) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) m))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 0) m)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m) (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 2)) (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 m m)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (cbrt.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3))) (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)) m) (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1))) (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1)) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1)) 1) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1)) 1) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) m))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 (*.f64 m (-.f64 1 m)) v) (neg.f64 m))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0) (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 0) (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 m v) (*.f64 (/.f64 1 v) (neg.f64 (*.f64 m m))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 m (-.f64 1 m)) v)) (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) (*.f64 0 (/.f64 (*.f64 m (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (+.f64 m -1) m) v)) (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 m v) (*.f64 (neg.f64 (*.f64 m m)) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 v)) (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 v)) (*.f64 (-.f64 1 m) (cbrt.f64 (pow.f64 v -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) (/.f64 m v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (*.f64 m (cbrt.f64 (pow.f64 v -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (-.f64 1 m)) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (*.f64 m (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 m -1) m) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (pow.f64 v -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (pow.f64 v -2))) (cbrt.f64 (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 v) (*.f64 (+.f64 m -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m v) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) (cbrt.f64 (pow.f64 v -2))) (/.f64 m (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v) (cbrt.f64 (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (pow.f64 v -2))) (/.f64 (-.f64 1 m) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) (cbrt.f64 (pow.f64 v -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (-.f64 0 (*.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) 0))) (+.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (/.f64 (-.f64 1 m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 m -1) m) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 m)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 v) (*.f64 m (-.f64 1 (pow.f64 m 3)))) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 m (-.f64 1 m))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 m (cbrt.f64 v)) (-.f64 1 m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) m) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (cbrt.f64 (*.f64 (+.f64 m -1) m))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (cbrt.f64 (*.f64 m (-.f64 1 m)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 m) (*.f64 m (cbrt.f64 (pow.f64 v -2)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (/.f64 1 v)) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (pow.f64 v -2))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (/.f64 m v)) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (*.f64 (-.f64 1 m) (cbrt.f64 (pow.f64 v -2)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 m -1) m)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 m)) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 m -1) m) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) -1) (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) 1) (*.f64 (fma.f64 m (+.f64 1 m) 1) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (/.f64 1 v))) (*.f64 (fma.f64 m (+.f64 1 m) 1) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 m (-.f64 1 (pow.f64 m 3)))) (*.f64 (neg.f64 v) (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (*.f64 v (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 m (-.f64 1 (pow.f64 m 3)))) (*.f64 (cbrt.f64 (*.f64 v v)) (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v))) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) (/.f64 m v)) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (pow.f64 v -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 v) (*.f64 m (-.f64 1 m)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 m -1) m) (/.f64 -1 v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 m) (/.f64 m v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m (-.f64 1 m)) (/.f64 1 v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 m (cbrt.f64 v)) (*.f64 (-.f64 1 m) (cbrt.f64 (pow.f64 v -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 (*.f64 (+.f64 m -1) m) v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) -1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (*.f64 m (cbrt.f64 (pow.f64 v -2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 (-.f64 1 m) v) 0)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m (-.f64 1 m)) 0) (*.f64 m (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (-.f64 1 m)) (*.f64 (*.f64 m (-.f64 1 m)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 m (-.f64 1 m))) (*.f64 m (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (-.f64 1 m)) (*.f64 0 (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 m (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 m m)) m)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 m (*.f64 (neg.f64 (*.f64 m m)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 m -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) (cbrt.f64 (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (-.f64 1 m))) (cbrt.f64 (pow.f64 (-.f64 1 m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 m)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 m (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (-.f64 1 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 m -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 m m)) (-.f64 1 m)) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 m -1) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) (*.f64 m (cbrt.f64 (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) m) (cbrt.f64 (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (-.f64 1 m) (cbrt.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (+.f64 m -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 m -1) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 m -1) m)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (/.f64 1 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (fma.f64 m (+.f64 1 m) 1))) (pow.f64 (cbrt.f64 (fma.f64 m (+.f64 1 m) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 m)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 m -1) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (+.f64 -1 (pow.f64 m 3))) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 m 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) m)) (cbrt.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) m) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 m (-.f64 1 (pow.f64 m 3)))) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 m (-.f64 1 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 m -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 m) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m m)) (cbrt.f64 m) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 m) (cbrt.f64 (*.f64 m m)) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 m (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m 1 (neg.f64 (*.f64 m m)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0) (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (*.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) (neg.f64 (/.f64 1 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) (/.f64 1 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)))) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)) (/.f64 1 (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (-.f64 1 (*.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) -1))) (+.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (-.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (/.f64 (cbrt.f64 (*.f64 (+.f64 m -1) m)) (cbrt.f64 v)))) (+.f64 -1 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (+.f64 1 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)))) (-.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1) (/.f64 1 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v))) (neg.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) 3) -1) (/.f64 1 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 6) (+.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1) (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)) 1) (*.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) 3) -1) 1) (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 6) (+.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3))) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)) (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)) 1) (neg.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1)) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 m (-.f64 1 m)) (neg.f64 v)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) 1) (*.f64 (cbrt.f64 (*.f64 v v)) -1)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 m -1) m) v) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 v (*.f64 (+.f64 m -1) m)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 v) (*.f64 m (-.f64 1 m))) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (cbrt.f64 (*.f64 v v))) (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (+.f64 m -1) m) (neg.f64 v)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (+.f64 1 (/.f64 (*.f64 (+.f64 m -1) m) v)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m (-.f64 1 m)) (/.f64 1 v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (pow.f64 v -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 v) (*.f64 m (-.f64 1 m)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (+.f64 m -1) m) (/.f64 -1 v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 m) (/.f64 m v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 m (cbrt.f64 v)) (*.f64 (-.f64 1 m) (cbrt.f64 (pow.f64 v -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (/.f64 (*.f64 (+.f64 m -1) m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) -1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (*.f64 m (cbrt.f64 (pow.f64 v -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 -1 (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 1 (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 (-.f64 1 m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))

simplify409.0ms (4.6%)

Algorithm
egg-herbie
Counts
333 → 294
Calls
Call 1
Inputs
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(/.f64 m v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
m
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 -1 (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 -1 (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
-1
(-.f64 (/.f64 m v) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(/.f64 (*.f64 m (-.f64 1 m)) v)
-1
-1
Outputs
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(/.f64 m v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
m
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(*.f64 -1 (pow.f64 m 2))
(neg.f64 (*.f64 m m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(*.f64 -1 (pow.f64 m 2))
(neg.f64 (*.f64 m m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
-1
(-.f64 (/.f64 m v) 1)
(+.f64 (/.f64 m v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(/.f64 (*.f64 m (-.f64 1 m)) v)
-1
-1

eval171.0ms (1.9%)

Compiler

Compiled 7300 to 4636 computations (36.5% saved)

prune74.0ms (0.8%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New39617413
Fresh000
Picked101
Done101
Total39817415
Error
0b
Counts
415 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
15.1b
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m))
30.9b
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
0.2b
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
10.8b
(*.f64 (-.f64 (/.f64 m v) 1) m)
1.4b
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) 3)
0.2b
(*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m)
22.1b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
30.9b
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
16.8b
(-.f64 (/.f64 (*.f64 m m) v) m)
53.4b
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
15.1b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))
0.1b
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
28.6b
(*.f64 (-.f64 (/.f64 (*.f64 (/.f64 m (cbrt.f64 v)) (-.f64 1 m)) (cbrt.f64 (*.f64 v v))) 1) m)
26.0b
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
0.8b
(*.f64 (-.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) 3) v) 1) m)
22.1b
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)) 1) m)
37.6b
(neg.f64 m)
Compiler

Compiled 510 to 348 computations (31.8% saved)

localize15.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
0.0b
(/.f64 (*.f64 (-.f64 1 m) m) v)
0.0b
(*.f64 (-.f64 1 m) m)
0.0b
(*.f64 (-.f64 1 m) m)
0.0b
(/.f64 (*.f64 (-.f64 1 m) m) v)
0.1b
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
Compiler

Compiled 33 to 18 computations (45.5% saved)

series6.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
m
@inf
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
0.0ms
m
@-inf
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
0.0ms
m
@0
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
0.0ms
v
@-inf
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
0.0ms
v
@inf
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))

rewrite53.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
73×egg-rr
51×egg-rr
44×egg-rr
Counts
3 → 168
Calls
Call 1
Inputs
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
(/.f64 (*.f64 (-.f64 1 m) m) v)
(*.f64 (-.f64 1 m) m)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (*.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 0) (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (*.f64 0 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 m (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) (cbrt.f64 (pow.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 2)) (cbrt.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (cbrt.f64 m)) (cbrt.f64 (neg.f64 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (+.f64 (cbrt.f64 (neg.f64 m)) (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (cbrt.f64 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (-.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (cbrt.f64 m)) (cbrt.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 m (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (neg.f64 m)) (cbrt.f64 (*.f64 m m)) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 m) (cbrt.f64 (neg.f64 (*.f64 m m))) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m m)) (cbrt.f64 (neg.f64 m)) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) m) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 m) m) (/.f64 m v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 2)) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 1 (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 m) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 m) 1 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m -1 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 m (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 (*.f64 (-.f64 1 m) m) v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) (neg.f64 m))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0) (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 m v) (*.f64 (/.f64 1 v) (neg.f64 (*.f64 m m))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 0 (/.f64 (*.f64 (-.f64 1 m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (-.f64 1 m) m) v)) (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 m v) (*.f64 (neg.f64 (*.f64 m m)) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (+.f64 -1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 v)) (/.f64 (*.f64 (+.f64 -1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 m) m)) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 2)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (+.f64 -1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) (/.f64 m v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (/.f64 m (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 v)) (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) m) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (*.f64 (-.f64 1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 m) m) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 v)) (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m v) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 2)) v) (cbrt.f64 (*.f64 (-.f64 1 m) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 -1 m) m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 v) (*.f64 (+.f64 -1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))) (/.f64 m (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 (*.f64 v v))) (/.f64 (-.f64 1 m) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 v)) (pow.f64 (cbrt.f64 v) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (/.f64 (-.f64 1 m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 v)) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (/.f64 1 v))) (*.f64 (fma.f64 m (+.f64 1 m) 1) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 m (-.f64 1 (pow.f64 m 3)))) (*.f64 (cbrt.f64 (*.f64 v v)) (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 m (-.f64 1 (pow.f64 m 3)))) (*.f64 (neg.f64 v) (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (*.f64 v (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 m) m) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 m) m) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 v) (*.f64 m (-.f64 1 (pow.f64 m 3)))) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (cbrt.f64 (*.f64 (-.f64 1 m) m))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (cbrt.f64 (*.f64 (+.f64 -1 m) m))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (-.f64 1 m) m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 m (cbrt.f64 v)) (-.f64 1 m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) m) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 2))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (/.f64 1 v)) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 1 m) m)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 -1 m) m)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (/.f64 m v)) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 m) (/.f64 m (cbrt.f64 (*.f64 v v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 m) m) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 -1 m) m) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) 1) (*.f64 (fma.f64 m (+.f64 1 m) 1) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) -1) (*.f64 (fma.f64 m (+.f64 1 m) 1) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 v))) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) (/.f64 m v)) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 -1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (+.f64 -1 m) m) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (+.f64 -1 m) m) v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 -1 m) (/.f64 m v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1 v) (*.f64 (+.f64 -1 m) m)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 m) m) (*.f64 (*.f64 (-.f64 1 m) m) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 1 m) m) 0) (*.f64 (-.f64 1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 1 m) m) (*.f64 0 (*.f64 (-.f64 1 m) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (-.f64 1 m) m)) (*.f64 (-.f64 1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 m (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 m m)) m)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 m (*.f64 (neg.f64 (*.f64 m m)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 -1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 1 m) m)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 2)) (cbrt.f64 (*.f64 (-.f64 1 m) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (-.f64 1 m))) (cbrt.f64 (pow.f64 (-.f64 1 m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 m)) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (-.f64 1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 -1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (-.f64 1 m) (cbrt.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) m) (cbrt.f64 (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 -1 m) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) (*.f64 m (cbrt.f64 (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 m m)) (-.f64 1 m)) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (+.f64 -1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 m) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 -1 m) m)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (/.f64 1 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 m) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (-.f64 1 m) m) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (fma.f64 m (+.f64 1 m) 1))) (pow.f64 (cbrt.f64 (fma.f64 m (+.f64 1 m) 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m (+.f64 1 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 m) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (+.f64 -1 (pow.f64 m 3))) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) m) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 m 3))) (*.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) m)) (cbrt.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 m (-.f64 1 (pow.f64 m 3)))) (neg.f64 (fma.f64 m (+.f64 1 m) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 m) m)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 m) m)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 1 m) m)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 m) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 -1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 m) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 m) (cbrt.f64 (*.f64 m m)) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m m)) (cbrt.f64 m) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m 1 (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 m (neg.f64 (*.f64 m m)))))))

simplify362.0ms (4.1%)

Algorithm
egg-herbie
Counts
228 → 189
Calls
Call 1
Inputs
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(/.f64 m v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
m
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 -1 (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 -1 (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
Outputs
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(/.f64 m v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(/.f64 (*.f64 m (-.f64 1 m)) v)
m
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(*.f64 -1 (pow.f64 m 2))
(neg.f64 (*.f64 m m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(*.f64 -1 (pow.f64 m 2))
(neg.f64 (*.f64 m m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 2)) m)
(*.f64 m (-.f64 1 m))

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize12.0ms (0.1%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
0.0b
(/.f64 (*.f64 m (-.f64 1 m)) v)
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(/.f64 (*.f64 m (-.f64 1 m)) v)
0.2b
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
Compiler

Compiled 29 to 17 computations (41.4% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
v
@0
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
1.0ms
m
@0
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
1.0ms
v
@inf
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
0.0ms
v
@-inf
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
0.0ms
m
@inf
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)

rewrite35.0ms (0.4%)

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

simplify145.0ms (1.6%)

Algorithm
egg-herbie
Counts
86 → 69
Calls
Call 1
Inputs
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
Outputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
14.2b
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
0.0b
(*.f64 (pow.f64 m 2) (-.f64 1 m))
0.0b
(*.f64 (pow.f64 m 2) (-.f64 1 m))
14.2b
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
Compiler

Compiled 28 to 19 computations (32.1% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

9 calls:

TimeVariablePointExpression
0.0ms
m
@inf
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
0.0ms
m
@-inf
(*.f64 (pow.f64 m 2) (-.f64 1 m))
0.0ms
m
@inf
(*.f64 (pow.f64 m 2) (-.f64 1 m))
0.0ms
m
@0
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
0.0ms
m
@-inf
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)

rewrite48.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
73×egg-rr
61×egg-rr
Counts
2 → 134
Calls
Call 1
Inputs
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(*.f64 (pow.f64 m 2) (-.f64 1 m))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) (*.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 0) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (*.f64 (/.f64 1 v) (neg.f64 (pow.f64 m 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) (*.f64 0 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (*.f64 (neg.f64 (pow.f64 m 3)) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 v)) (/.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) (/.f64 (*.f64 m m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 v)) (pow.f64 (cbrt.f64 v) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 2)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (/.f64 (-.f64 1 m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (/.f64 (*.f64 m m) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (*.f64 (*.f64 (-.f64 1 m) m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 v)) (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 2)) v) (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) (cbrt.f64 (*.f64 v v))) (/.f64 (-.f64 1 m) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 v) (*.f64 (+.f64 m -1) (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) v) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))) (/.f64 (*.f64 m m) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 v)) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (*.f64 (cbrt.f64 (*.f64 v v)) (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (*.f64 (neg.f64 v) (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (*.f64 v (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (/.f64 1 v))) (*.f64 (fma.f64 m m (+.f64 1 m)) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) -1) (*.f64 (fma.f64 m m (+.f64 1 m)) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) 1) (*.f64 (fma.f64 m m (+.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (*.f64 m m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (*.f64 (-.f64 1 m) m) m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 v) (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 2)) (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 2)) (cbrt.f64 (*.f64 (+.f64 m -1) (*.f64 m m)))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 2))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (-.f64 1 m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 2))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 m -1) (*.f64 m m))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 2))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 m) (/.f64 (*.f64 m m) (cbrt.f64 (*.f64 v v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (/.f64 1 v)) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (/.f64 (*.f64 m m) v)) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) (/.f64 (*.f64 m m) v)) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (cbrt.f64 v))) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 m -1) (/.f64 (*.f64 m m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1 v) (*.f64 (+.f64 m -1) (*.f64 m m))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 m 3)) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (*.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 0) (*.f64 (*.f64 (-.f64 1 m) m) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) (*.f64 0 (*.f64 (*.f64 (-.f64 1 m) m) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (*.f64 (-.f64 1 m) m) m)) (*.f64 (*.f64 (-.f64 1 m) m) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m m) (*.f64 (neg.f64 (pow.f64 m 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 m m) (pow.f64 m 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 m -1) (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 2)) (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) (cbrt.f64 (*.f64 m m))) (cbrt.f64 (pow.f64 m 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (cbrt.f64 (-.f64 1 m))) (cbrt.f64 (pow.f64 (-.f64 1 m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 m)) (pow.f64 (*.f64 (cbrt.f64 (-.f64 1 m)) m) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 (-.f64 1 m) m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 m -1) (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 m 4)) (*.f64 (-.f64 1 m) (cbrt.f64 (*.f64 m m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) (*.f64 (*.f64 m m) (cbrt.f64 (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (cbrt.f64 (-.f64 1 m)) m) 2) (cbrt.f64 (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (+.f64 (neg.f64 m) (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 m -1) (*.f64 m m))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 m m)) (+.f64 m -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 m -1) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (/.f64 1 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 m 4)) (+.f64 (*.f64 m m) (*.f64 (cbrt.f64 (*.f64 m m)) m))) (-.f64 (cbrt.f64 (*.f64 m m)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) m) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (*.f64 (-.f64 1 m) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (-.f64 m (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (+.f64 -1 (pow.f64 m 3))) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 m 3))) (pow.f64 (*.f64 (cbrt.f64 (-.f64 1 m)) m) 2)) (cbrt.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) (*.f64 m m)) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 m -1) (*.f64 m m)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (fma.f64 m m (+.f64 1 m)))) (pow.f64 (cbrt.f64 (fma.f64 m m (+.f64 1 m))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 (-.f64 1 m) m) m)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (pow.f64 m 3) (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 m -1) (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m m)) (cbrt.f64 (pow.f64 m 4)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 m 4)) (cbrt.f64 (*.f64 m m)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 m m)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 m) (neg.f64 m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m m) 1 (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m m (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 m m) (neg.f64 (pow.f64 m 3)))))))

simplify141.0ms (1.6%)

Algorithm
egg-herbie
Counts
158 → 145
Calls
Call 1
Inputs
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(pow.f64 m 2)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 -1 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 -1 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
Outputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(pow.f64 m 2)
(*.f64 m m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(*.f64 -1 (pow.f64 m 3))
(neg.f64 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(*.f64 -1 (pow.f64 m 3))
(neg.f64 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))

localize57.0ms (0.6%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)
0.0b
(/.f64 (*.f64 (-.f64 1 m) m) v)
0.0b
(+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))
0.0b
(*.f64 (-.f64 1 m) m)
0.4b
(pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)
0.4b
(pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)
2.6b
(*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)
18.7b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
Compiler

Compiled 126 to 86 computations (31.7% saved)

series33.0ms (0.4%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
5.0ms
v
@-inf
(*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)
3.0ms
v
@inf
(*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)
2.0ms
v
@0
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
2.0ms
v
@inf
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
2.0ms
m
@0
(*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)

rewrite137.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
73×egg-rr
58×egg-rr
52×egg-rr
48×egg-rr
Counts
4 → 231
Calls
Call 1
Inputs
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
(*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)
(pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)
(pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) (*.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 0) (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (neg.f64 m)) (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m)) (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (neg.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) (*.f64 0 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 m) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (*.f64 (neg.f64 m) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (neg.f64 m)) (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))) (*.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (neg.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (neg.f64 m) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (*.f64 (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (*.f64 (neg.f64 m) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (+.f64 -1 (*.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) (fma.f64 m (/.f64 (-.f64 1 m) v) 1)))) (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (/.f64 m (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) (cbrt.f64 (/.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 2) (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (neg.f64 1/3)) (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) (cbrt.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 2)) (cbrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 2)) (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (/.f64 -1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) (/.f64 m (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (pow.f64 (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (+.f64 -1 (*.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) (fma.f64 m (/.f64 (-.f64 1 m) v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) 1) (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2))) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) 1) (+.f64 -1 (*.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) (fma.f64 m (/.f64 (-.f64 1 m) v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (neg.f64 (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) -1) (+.f64 -1 (*.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) (fma.f64 m (/.f64 (-.f64 1 m) v) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (cbrt.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))) (neg.f64 (cbrt.f64 (pow.f64 (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 1 (neg.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) (/.f64 m (+.f64 (fma.f64 m (/.f64 (-.f64 1 m) v) 1) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 m (fma.f64 m (/.f64 (-.f64 1 m) v) -1)) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (*.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 0) (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (*.f64 1 (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (*.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m)) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (*.f64 0 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)) (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (*.f64 (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)) 1) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m) 1) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m) 0) m)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 m (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) m) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)) (cbrt.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 2)) (cbrt.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1))) (cbrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1)) (*.f64 (cbrt.f64 (pow.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) 2)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 9) -1)) (/.f64 1 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6) (+.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 9) -1)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6) (+.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6) (+.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 9) -1))) (+.f64 (+.f64 -1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) (neg.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 9) -1)) (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6) (+.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 9) -1)) 1) (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6) (+.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) m))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) 3) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) 0) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 0 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (-.f64 1 m) m)) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) m) (*.f64 (/.f64 1 v) (/.f64 (*.f64 (-.f64 1 m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2) (pow.f64 v -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (/.f64 (-.f64 1 m) (cbrt.f64 v))) (*.f64 (/.f64 m (cbrt.f64 (*.f64 v v))) (/.f64 m (cbrt.f64 (*.f64 v v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 m) 2) (*.f64 (/.f64 m v) (/.f64 m v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 v -2) (pow.f64 (*.f64 (+.f64 m -1) m) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 1 v)) 2) (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 (*.f64 v v))) (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 (*.f64 v v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2) (*.f64 (/.f64 -1 v) (/.f64 -1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (*.f64 (/.f64 (-.f64 1 m) v) (/.f64 (-.f64 1 m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 m (cbrt.f64 v)) (/.f64 m (cbrt.f64 v))) (*.f64 (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))) (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) -1) (*.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (+.f64 m -1) m)) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2) (/.f64 1 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) (/.f64 1 (neg.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (+.f64 3 2))) (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (+.f64 2 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 4)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (+.f64 2 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (-.f64 1 m) m)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (+.f64 m -1) m)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) (neg.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2) (neg.f64 v)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (+.f64 m -1) m)) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (+.f64 m -1) m)) (cbrt.f64 (neg.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (+.f64 m -1) m)) 1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (+.f64 m -1) m)) -1) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2) v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) (neg.f64 v)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (-.f64 1 m) m)) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (-.f64 1 m) m)) 1) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (-.f64 1 m) m)) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (*.f64 (-.f64 1 m) m)) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) (pow.f64 (*.f64 (-.f64 1 m) m) 3))) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 6)) (cbrt.f64 (pow.f64 v 6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) (*.f64 2 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) (+.f64 1/3 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 6))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 0) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3) 0) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) (*.f64 0 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3) (pow.f64 v -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (+.f64 3 2)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (-.f64 1 m) m)) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 4)) (/.f64 (*.f64 (-.f64 1 m) m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) m) (*.f64 (/.f64 1 v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) (neg.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (/.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 3) (/.f64 1 (neg.f64 (pow.f64 v 3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (+.f64 m -1) m)) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 (*.f64 v v))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 3) (pow.f64 (/.f64 -1 v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 m 3) (pow.f64 (/.f64 (-.f64 1 m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 v -3) (pow.f64 (*.f64 (-.f64 1 m) m) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 m) 3) (pow.f64 (/.f64 m v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) m) (pow.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 2)) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 m (cbrt.f64 v)) 3) (pow.f64 (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) 3) (pow.f64 (/.f64 m (cbrt.f64 (*.f64 v v))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (-.f64 0 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0))) (+.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (+.f64 0 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0))) (-.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (/.f64 (*.f64 (-.f64 1 m) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3) (pow.f64 v 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (-.f64 1 m) m)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (+.f64 m -1) m)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 (+.f64 m -1) m) 3) (neg.f64 (pow.f64 v 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (+.f64 m -1) m)) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (+.f64 m -1) m)) (cbrt.f64 (neg.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (+.f64 m -1) m)) 1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (+.f64 m -1) m)) -1) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3) 1) (pow.f64 v 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3) (*.f64 v v)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3) v) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (-.f64 1 m) m)) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (-.f64 1 m) m)) 1) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (-.f64 1 m) m)) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (-.f64 1 m) m)) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) (cbrt.f64 v)) 3) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 9) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 9))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (+.f64 2 1/3)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 1 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (+.f64 3 2)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 4)) (/.f64 (*.f64 (-.f64 1 m) m) v)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (-.f64 1 m) m) (*.f64 (/.f64 1 v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (*.f64 (-.f64 1 m) m)) (/.f64 1 v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 (-.f64 1 m) m) 3) (pow.f64 v -3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 4) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 (/.f64 (*.f64 (+.f64 m -1) m) v) 3) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2) (/.f64 (*.f64 (-.f64 1 m) m) v) 0)))))

simplify681.0ms (7.7%)

Algorithm
egg-herbie
Counts
327 → 302
Calls
Call 1
Inputs
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (pow.f64 m 3))) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (/.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) v))) (pow.f64 m 4))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (pow.f64 m 3))) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v)))
(-.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (/.f64 1 v) (/.f64 (pow.f64 m 2) v))))) (+.f64 (*.f64 -2 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v))))) (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (/.f64 1 v) (+.f64 (*.f64 2 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v))))) (/.f64 (pow.f64 m 2) v)))))))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2)))))
(+.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))))) (pow.f64 v 3)) (+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2))))))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2)))))
(+.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))))) (pow.f64 v 3)) (+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2))))))
(*.f64 -1 m)
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (*.f64 -1 m))
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (*.f64 -1 m)))
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 -1 m) (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))))))
(*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))
(+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))))
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))))
(*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))
(+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))))
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))))
(/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(/.f64 (pow.f64 m 2) (pow.f64 v 2))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (/.f64 (pow.f64 m 2) (pow.f64 v 2)))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (pow.f64 m 4) (pow.f64 v 2))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (/.f64 (pow.f64 m 4) (pow.f64 v 2)))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (pow.f64 m 4) (pow.f64 v 2))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (/.f64 (pow.f64 m 4) (pow.f64 v 2)))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(/.f64 (pow.f64 m 3) (pow.f64 v 3))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3))))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))))
(*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3)))))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))))
(*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3)))))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
Outputs
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (pow.f64 m 3))) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(fma.f64 (+.f64 (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (neg.f64 (pow.f64 v -2))) (pow.f64 m 3) (-.f64 (/.f64 (*.f64 m m) v) m))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (/.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) v))) (pow.f64 m 4))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 (pow.f64 v 2)) (*.f64 -1 (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (pow.f64 m 3))) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))))
(fma.f64 (neg.f64 (-.f64 (pow.f64 v -2) (/.f64 (-.f64 (pow.f64 v -2) (+.f64 (pow.f64 v -2) (/.f64 -1 v))) v))) (pow.f64 m 4) (fma.f64 (+.f64 (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (neg.f64 (pow.f64 v -2))) (pow.f64 m 3) (-.f64 (/.f64 (*.f64 m m) v) m)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v)))
(fma.f64 (-.f64 (/.f64 2 v) (fma.f64 (neg.f64 v) (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (/.f64 3 v))) m (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))
(-.f64 (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (/.f64 1 v) (/.f64 (pow.f64 m 2) v))))) (+.f64 (*.f64 -2 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v))))) (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))))
(-.f64 (+.f64 1 (fma.f64 (-.f64 (/.f64 2 v) (fma.f64 (neg.f64 v) (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (/.f64 3 v))) m (/.f64 (+.f64 (+.f64 1 (*.f64 m m)) (neg.f64 (pow.f64 m 3))) v))) (fma.f64 -2 (-.f64 (/.f64 2 v) (fma.f64 (neg.f64 v) (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (/.f64 3 v))) (*.f64 v (+.f64 (pow.f64 v -2) (/.f64 -1 v)))))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v)))
(fma.f64 (-.f64 (/.f64 2 v) (fma.f64 (neg.f64 v) (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (/.f64 3 v))) m (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v)))) m) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (/.f64 1 v) (+.f64 (*.f64 2 (-.f64 (*.f64 2 (/.f64 1 v)) (+.f64 (*.f64 -1 (*.f64 v (-.f64 (/.f64 1 (pow.f64 v 2)) (/.f64 1 v)))) (*.f64 3 (/.f64 1 v))))) (/.f64 (pow.f64 m 2) v)))))))
(+.f64 (fma.f64 (neg.f64 v) (+.f64 (pow.f64 v -2) (/.f64 -1 v)) 1) (fma.f64 (-.f64 (/.f64 2 v) (fma.f64 (neg.f64 v) (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (/.f64 3 v))) m (+.f64 (/.f64 (+.f64 (+.f64 1 (*.f64 m m)) (neg.f64 (pow.f64 m 3))) v) (*.f64 2 (-.f64 (/.f64 2 v) (fma.f64 (neg.f64 v) (+.f64 (pow.f64 v -2) (/.f64 -1 v)) (/.f64 3 v)))))))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2)))))
(-.f64 (+.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) (/.f64 0 (*.f64 v v))) m)
(+.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))))) (pow.f64 v 3)) (+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2))))))
(fma.f64 (*.f64 (*.f64 m (-.f64 1 m)) 0) (pow.f64 v (neg.f64 3)) (-.f64 (+.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) (/.f64 0 (*.f64 v v))) m))
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2)))))
(-.f64 (+.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) (/.f64 0 (*.f64 v v))) m)
(+.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))))) (pow.f64 v 3)) (+.f64 (*.f64 -1 m) (+.f64 (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v) (*.f64 -1 (/.f64 (+.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)) (*.f64 -1 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 2)))) (pow.f64 v 2))))))
(fma.f64 (*.f64 (*.f64 m (-.f64 1 m)) 0) (pow.f64 v (neg.f64 3)) (-.f64 (+.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) (/.f64 0 (*.f64 v v))) m))
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (*.f64 -1 m))
(-.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) m)
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (*.f64 -1 m)))
(-.f64 (/.f64 (+.f64 (pow.f64 m 4) (*.f64 -3 (pow.f64 m 5))) (pow.f64 v 3)) m)
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 -1 m) (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))))))
(+.f64 (/.f64 (+.f64 (pow.f64 m 4) (*.f64 -3 (pow.f64 m 5))) (pow.f64 v 3)) (fma.f64 (/.f64 (pow.f64 m 6) (pow.f64 v 3)) 3 (neg.f64 m)))
(*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))
(/.f64 (neg.f64 (pow.f64 m 7)) (pow.f64 v 3))
(+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))
(/.f64 (+.f64 (*.f64 3 (pow.f64 m 6)) (neg.f64 (pow.f64 m 7))) (pow.f64 v 3))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))))
(fma.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3)) (/.f64 (+.f64 (*.f64 3 (pow.f64 m 6)) (neg.f64 (pow.f64 m 7))) (pow.f64 v 3)))
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))))
(+.f64 (/.f64 (+.f64 (pow.f64 m 4) (*.f64 -3 (pow.f64 m 5))) (pow.f64 v 3)) (/.f64 (+.f64 (*.f64 3 (pow.f64 m 6)) (neg.f64 (pow.f64 m 7))) (pow.f64 v 3)))
(*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))
(/.f64 (neg.f64 (pow.f64 m 7)) (pow.f64 v 3))
(+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))
(/.f64 (+.f64 (*.f64 3 (pow.f64 m 6)) (neg.f64 (pow.f64 m 7))) (pow.f64 v 3))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3)))))
(fma.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3)) (/.f64 (+.f64 (*.f64 3 (pow.f64 m 6)) (neg.f64 (pow.f64 m 7))) (pow.f64 v 3)))
(+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (+.f64 (*.f64 -3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 -1 (/.f64 (pow.f64 m 7) (pow.f64 v 3))))))
(+.f64 (/.f64 (+.f64 (pow.f64 m 4) (*.f64 -3 (pow.f64 m 5))) (pow.f64 v 3)) (/.f64 (+.f64 (*.f64 3 (pow.f64 m 6)) (neg.f64 (pow.f64 m 7))) (pow.f64 v 3)))
(/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 4) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3)))
(-.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) v) 3) m)
(/.f64 (pow.f64 m 2) (pow.f64 v 2))
(pow.f64 (/.f64 m v) 2)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (/.f64 (pow.f64 m 2) (pow.f64 v 2)))
(/.f64 (+.f64 (*.f64 m m) (*.f64 -2 (pow.f64 m 3))) (*.f64 v v))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (+.f64 (+.f64 (pow.f64 m 4) (*.f64 m m)) (*.f64 -2 (pow.f64 m 3))) (*.f64 v v))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (+.f64 (+.f64 (pow.f64 m 4) (*.f64 m m)) (*.f64 -2 (pow.f64 m 3))) (*.f64 v v))
(/.f64 (pow.f64 m 4) (pow.f64 v 2))
(pow.f64 (/.f64 (*.f64 m m) v) 2)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (/.f64 (pow.f64 m 4) (pow.f64 v 2)))
(/.f64 (+.f64 (*.f64 -2 (pow.f64 m 3)) (pow.f64 m 4)) (*.f64 v v))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (+.f64 (+.f64 (pow.f64 m 4) (*.f64 m m)) (*.f64 -2 (pow.f64 m 3))) (*.f64 v v))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (+.f64 (+.f64 (pow.f64 m 4) (*.f64 m m)) (*.f64 -2 (pow.f64 m 3))) (*.f64 v v))
(/.f64 (pow.f64 m 4) (pow.f64 v 2))
(pow.f64 (/.f64 (*.f64 m m) v) 2)
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (/.f64 (pow.f64 m 4) (pow.f64 v 2)))
(/.f64 (+.f64 (*.f64 -2 (pow.f64 m 3)) (pow.f64 m 4)) (*.f64 v v))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (+.f64 (+.f64 (pow.f64 m 4) (*.f64 m m)) (*.f64 -2 (pow.f64 m 3))) (*.f64 v v))
(+.f64 (*.f64 -2 (/.f64 (pow.f64 m 3) (pow.f64 v 2))) (+.f64 (/.f64 (pow.f64 m 4) (pow.f64 v 2)) (/.f64 (pow.f64 m 2) (pow.f64 v 2))))
(/.f64 (+.f64 (+.f64 (pow.f64 m 4) (*.f64 m m)) (*.f64 -2 (pow.f64 m 3))) (*.f64 v v))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (*.f64 (pow.f64 m 2) (pow.f64 (-.f64 1 m) 2)) (pow.f64 v 2))
(*.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (pow.f64 v -2))
(/.f64 (pow.f64 m 3) (pow.f64 v 3))
(pow.f64 (/.f64 m v) 3)
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))
(/.f64 (+.f64 (*.f64 -3 (pow.f64 m 4)) (pow.f64 m 3)) (pow.f64 v 3))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3))))
(+.f64 (/.f64 (+.f64 (*.f64 -3 (pow.f64 m 4)) (*.f64 3 (pow.f64 m 5))) (pow.f64 v 3)) (pow.f64 (/.f64 m v) 3))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))))
(+.f64 (/.f64 (+.f64 (*.f64 -3 (pow.f64 m 4)) (neg.f64 (pow.f64 m 6))) (pow.f64 v 3)) (/.f64 (+.f64 (*.f64 3 (pow.f64 m 5)) (pow.f64 m 3)) (pow.f64 v 3)))
(*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3)))
(/.f64 (neg.f64 (pow.f64 m 6)) (pow.f64 v 3))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))))
(/.f64 (+.f64 (neg.f64 (pow.f64 m 6)) (*.f64 3 (pow.f64 m 5))) (pow.f64 v 3))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3)))))
(fma.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (/.f64 (+.f64 (neg.f64 (pow.f64 m 6)) (*.f64 3 (pow.f64 m 5))) (pow.f64 v 3)))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))))
(+.f64 (/.f64 (+.f64 (*.f64 -3 (pow.f64 m 4)) (neg.f64 (pow.f64 m 6))) (pow.f64 v 3)) (/.f64 (+.f64 (*.f64 3 (pow.f64 m 5)) (pow.f64 m 3)) (pow.f64 v 3)))
(*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3)))
(/.f64 (neg.f64 (pow.f64 m 6)) (pow.f64 v 3))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))))
(/.f64 (+.f64 (neg.f64 (pow.f64 m 6)) (*.f64 3 (pow.f64 m 5))) (pow.f64 v 3))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3)))))
(fma.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3)) (/.f64 (+.f64 (neg.f64 (pow.f64 m 6)) (*.f64 3 (pow.f64 m 5))) (pow.f64 v 3)))
(+.f64 (*.f64 -3 (/.f64 (pow.f64 m 4) (pow.f64 v 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 m 6) (pow.f64 v 3))) (+.f64 (*.f64 3 (/.f64 (pow.f64 m 5) (pow.f64 v 3))) (/.f64 (pow.f64 m 3) (pow.f64 v 3)))))
(+.f64 (/.f64 (+.f64 (*.f64 -3 (pow.f64 m 4)) (neg.f64 (pow.f64 m 6))) (pow.f64 v 3)) (/.f64 (+.f64 (*.f64 3 (pow.f64 m 5)) (pow.f64 m 3)) (pow.f64 v 3)))
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)
(/.f64 (*.f64 (pow.f64 m 3) (pow.f64 (-.f64 1 m) 3)) (pow.f64 v 3))
(pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)

eval465.0ms (5.3%)

Compiler

Compiled 20132 to 12848 computations (36.2% saved)

prune163.0ms (1.8%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New84311854
Fresh9312
Picked101
Done314
Total85615871
Error
0b
Counts
871 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
0.2b
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
30.9b
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
10.8b
(*.f64 (-.f64 (/.f64 m v) 1) m)
30.9b
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
26.0b
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
36.6b
(*.f64 (/.f64 m v) m)
53.4b
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
10.8b
(fma.f64 (/.f64 m v) m (neg.f64 m))
6.1b
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
37.6b
(neg.f64 m)
41.5b
(/.f64 (*.f64 m m) v)
22.1b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (/.f64 (*.f64 (-.f64 1 m) m) v))))
22.3b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 3)))
30.9b
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
22.1b
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
Compiler

Compiled 472 to 313 computations (33.7% saved)

localize15.0ms (0.2%)

Local error

Found 6 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
0.1b
(/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v)
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(*.f64 m (-.f64 1 m))
0.1b
(/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v)
0.1b
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
Compiler

Compiled 40 to 23 computations (42.5% saved)

series6.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
v
@-inf
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
1.0ms
v
@inf
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
1.0ms
m
@0
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
0.0ms
v
@0
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
0.0ms
v
@-inf
(/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v)

rewrite52.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
93×egg-rr
61×egg-rr
Counts
2 → 154
Calls
Call 1
Inputs
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
(/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 0) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (/.f64 (*.f64 m (-.f64 1 m)) v)) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (*.f64 0 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 2)) (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (/.f64 m v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v)) (/.f64 m (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m v) (fma.f64 m (-.f64 1 m) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 (*.f64 v v))) (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 m m)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m) (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (cbrt.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (cbrt.f64 v)) (pow.f64 (cbrt.f64 v) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (/.f64 v (cbrt.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v)) m) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 2)) (cbrt.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v)))) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) (neg.f64 v)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) 1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (cbrt.f64 v)) (cbrt.f64 v)) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (cbrt.f64 v)) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 v 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) m) (cbrt.f64 v))) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 (*.f64 (+.f64 m -1) m) v) (/.f64 m v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)) m))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 m (+.f64 (*.f64 (+.f64 m -1) m) v)) v))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 m (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0) (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 v) (neg.f64 v)) (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) (*.f64 (/.f64 1 v) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (*.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 v) (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (/.f64 (*.f64 m (-.f64 1 m)) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 v)) (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 m (*.f64 (-.f64 1 m) v)) (*.f64 v v)) (/.f64 (*.f64 v v) (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v))) (/.f64 (cbrt.f64 (pow.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) 2)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (+.f64 m -1) m) v) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 (/.f64 (pow.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) 2) (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (fma.f64 m (-.f64 1 m) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) 2)) v) (cbrt.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (pow.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) 2) (*.f64 v v))) (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 v) (+.f64 (*.f64 (+.f64 m -1) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v)) (pow.f64 (cbrt.f64 v) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v))) (/.f64 1 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 v)) (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (fma.f64 m (-.f64 1 m) (neg.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (cbrt.f64 (pow.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) 2))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (/.f64 v (cbrt.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v))) (cbrt.f64 (pow.f64 v 4))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v))) (cbrt.f64 v)) (*.f64 (cbrt.f64 (*.f64 v v)) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) -1) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (-.f64 1 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3) 1) (+.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2) (fma.f64 (-.f64 1 m) (/.f64 m v) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) 1) (*.f64 (cbrt.f64 (*.f64 v v)) -1)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) (neg.f64 v)) (*.f64 (cbrt.f64 (*.f64 v v)) (neg.f64 v))) (*.f64 (cbrt.f64 (*.f64 v v)) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) v) (*.f64 (cbrt.f64 (*.f64 v v)) v)) (*.f64 (cbrt.f64 (*.f64 v v)) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (+.f64 m -1) m) (cbrt.f64 (*.f64 v v))) (*.f64 (neg.f64 v) (/.f64 v (cbrt.f64 v)))) (*.f64 (neg.f64 v) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (+.f64 m -1) m) v) (*.f64 (neg.f64 v) v)) (*.f64 (neg.f64 v) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (*.f64 v v))) (*.f64 v (/.f64 v (cbrt.f64 v)))) (*.f64 (cbrt.f64 (*.f64 v v)) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 (*.f64 m (*.f64 (-.f64 1 m) v))) (*.f64 v (neg.f64 v))) (*.f64 v (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (+.f64 m -1) m) v) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v))) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (cbrt.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (cbrt.f64 (+.f64 (*.f64 (+.f64 m -1) m) v))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) (neg.f64 v)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 (+.f64 m -1) m) v) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (*.f64 (+.f64 m -1) m) v) 1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v))) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (pow.f64 v 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v))) v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 v (fma.f64 m (-.f64 1 m) (neg.f64 v))) 1) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v)) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 v 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v))) (*.f64 (cbrt.f64 (*.f64 v v)) (/.f64 v (cbrt.f64 v)))) (cbrt.f64 (pow.f64 v 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (+.f64 m -1) m) (neg.f64 v)) (*.f64 v v)) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (fma.f64 m (-.f64 1 m) (neg.f64 v)) (cbrt.f64 v))) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 v (+.f64 (*.f64 (+.f64 m -1) m) v)) (neg.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (-.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m (-.f64 1 m)) (/.f64 1 v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 m) (/.f64 m v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (/.f64 m (cbrt.f64 (*.f64 v v))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 m (cbrt.f64 v)) (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 m (-.f64 1 m)) v)) (cbrt.f64 (/.f64 (pow.f64 (*.f64 m (-.f64 1 m)) 2) (*.f64 v v))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 (-.f64 1 m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1 v)) (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (*.f64 v v))) -1)))))

simplify317.0ms (3.6%)

Algorithm
egg-herbie
Counts
202 → 174
Calls
Call 1
Inputs
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
-1
(-.f64 (/.f64 m v) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
Outputs
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v) m)
-1
(-.f64 (/.f64 m v) 1)
(+.f64 (/.f64 m v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(*.f64 -1 (/.f64 (pow.f64 m 2) v))
(neg.f64 (/.f64 (*.f64 m m) v))
(+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (+.f64 (/.f64 m v) (*.f64 -1 (/.f64 (pow.f64 m 2) v))) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(/.f64 (*.f64 m (-.f64 1 m)) v)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
-1
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)
(-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1)
(+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
14.2b
(/.f64 (*.f64 m m) v)
14.2b
(/.f64 (*.f64 m m) v)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
m
@0
(/.f64 (*.f64 m m) v)
1.0ms
m
@inf
(/.f64 (*.f64 m m) v)
0.0ms
v
@inf
(/.f64 (*.f64 m m) v)
0.0ms
v
@-inf
(/.f64 (*.f64 m m) v)
0.0ms
v
@0
(/.f64 (*.f64 m m) v)

rewrite60.0ms (0.7%)

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

simplify167.0ms (1.9%)

Algorithm
egg-herbie
Counts
72 → 49
Calls
Call 1
Inputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
Outputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
14.2b
(/.f64 (*.f64 m m) v)
0.2b
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
0.2b
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
14.2b
(/.f64 (*.f64 m m) v)
Compiler

Compiled 26 to 6 computations (76.9% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
v
@0
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
1.0ms
m
@0
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
1.0ms
v
@inf
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
1.0ms
m
@inf
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
0.0ms
m
@-inf
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)

rewrite75.0ms (0.8%)

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

simplify177.0ms (2%)

Algorithm
egg-herbie
Counts
112 → 88
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
Outputs
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
14.2b
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
14.2b
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
Compiler

Compiled 25 to 13 computations (48% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
m
@0
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
0.0ms
m
@-inf
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
0.0ms
m
@inf
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
0.0ms
v
@-inf
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
0.0ms
v
@inf
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))

rewrite62.0ms (0.7%)

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

simplify141.0ms (1.6%)

Algorithm
egg-herbie
Counts
103 → 86
Calls
Call 1
Inputs
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
Outputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
14.2b
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
0.0b
(-.f64 (*.f64 m m) (pow.f64 m 3))
0.0b
(-.f64 (*.f64 m m) (pow.f64 m 3))
14.2b
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
Compiler

Compiled 27 to 13 computations (51.9% saved)

series4.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
m
@-inf
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
1.0ms
m
@inf
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
1.0ms
m
@0
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
1.0ms
v
@0
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
1.0ms
v
@inf
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)

rewrite47.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
79×egg-rr
61×egg-rr
Counts
2 → 140
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
(-.f64 (*.f64 m m) (pow.f64 m 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (/.f64 (pow.f64 m 3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 m 3) (neg.f64 v)) (/.f64 (*.f64 m m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (*.f64 (/.f64 1 v) (neg.f64 (pow.f64 m 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 v) (neg.f64 (pow.f64 m 3))) (/.f64 (*.f64 m m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 0) (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) (*.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (*.f64 (/.f64 (pow.f64 m 3) (neg.f64 v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)) (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) (*.f64 0 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 m m) v) (/.f64 (pow.f64 m 3) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 (*.f64 m m) v) (*.f64 v v)) (/.f64 (*.f64 v (pow.f64 m 3)) (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 m 3) (neg.f64 v)) (/.f64 (*.f64 m m) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 v)) (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 v) (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 m m) (-.f64 1 m))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 2)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 v)) (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 v)) (-.f64 (/.f64 m (cbrt.f64 (*.f64 v v))) (pow.f64 (/.f64 m (cbrt.f64 v)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m v) (*.f64 m (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 (*.f64 v v))) (-.f64 (/.f64 m (cbrt.f64 v)) (/.f64 (*.f64 m m) (cbrt.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 m (cbrt.f64 v)) 2) (-.f64 (cbrt.f64 (/.f64 1 v)) (/.f64 m (cbrt.f64 v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 2)) (cbrt.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 2)) v) (cbrt.f64 (*.f64 (*.f64 m m) (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 v) (*.f64 (*.f64 m m) (+.f64 m -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (-.f64 (/.f64 m v) (/.f64 (*.f64 m m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) v) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 v)) (pow.f64 (cbrt.f64 v) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (*.f64 m m) v (neg.f64 (*.f64 v (pow.f64 m 3)))) (/.f64 1 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 v)) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v))) (*.f64 (cbrt.f64 (*.f64 v v)) (/.f64 (pow.f64 m 3) (cbrt.f64 v)))) (*.f64 (cbrt.f64 (*.f64 v v)) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (neg.f64 v)) (*.f64 (cbrt.f64 (*.f64 v v)) (neg.f64 (pow.f64 m 3)))) (*.f64 (cbrt.f64 (*.f64 v v)) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) v) (*.f64 (cbrt.f64 (*.f64 v v)) (pow.f64 m 3))) (*.f64 (cbrt.f64 (*.f64 v v)) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 m m) (cbrt.f64 (*.f64 v v))) (*.f64 v (/.f64 (pow.f64 m 3) (cbrt.f64 v)))) (*.f64 v (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 m m) (neg.f64 v)) (*.f64 v (neg.f64 (pow.f64 m 3)))) (*.f64 v (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (neg.f64 (*.f64 m m)) (cbrt.f64 (*.f64 v v))) (*.f64 (neg.f64 v) (/.f64 (pow.f64 m 3) (cbrt.f64 v)))) (*.f64 (neg.f64 v) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (neg.f64 (*.f64 m m)) (neg.f64 v)) (*.f64 (neg.f64 v) (neg.f64 (pow.f64 m 3)))) (*.f64 (neg.f64 v) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (neg.f64 (*.f64 m m)) v) (*.f64 (neg.f64 v) (pow.f64 m 3))) (*.f64 (neg.f64 v) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (*.f64 m m) v (neg.f64 (*.f64 v (pow.f64 m 3))))) (neg.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (*.f64 m m) v (neg.f64 (*.f64 v (pow.f64 m 3)))) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (*.f64 m m) (-.f64 1 m))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)) (cbrt.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 2))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 2)) (cbrt.f64 (*.f64 (*.f64 m m) (+.f64 m -1)))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 2)) (cbrt.f64 (*.f64 (*.f64 m m) (-.f64 1 m)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (*.f64 m m) v (neg.f64 (*.f64 v (pow.f64 m 3)))) 1) (*.f64 v v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 m m) (+.f64 m -1))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 2))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 m m) (-.f64 1 m))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 2))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (fma.f64 (*.f64 m m) v (neg.f64 (*.f64 v (pow.f64 m 3)))) v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (cbrt.f64 v))) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) v))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 m v) (/.f64 (pow.f64 m 3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m m)) (/.f64 (cbrt.f64 (pow.f64 m 4)) v) (/.f64 (pow.f64 m 3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 (*.f64 m m) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2)) (/.f64 (pow.f64 m 3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 m (cbrt.f64 v)) (/.f64 m (cbrt.f64 (*.f64 v v))) (/.f64 (pow.f64 m 3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m m) (/.f64 1 v) (/.f64 (pow.f64 m 3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1 v)) (pow.f64 (/.f64 m (cbrt.f64 v)) 2) (/.f64 (pow.f64 m 3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 (*.f64 m m) v) (/.f64 (pow.f64 m 3) (neg.f64 v)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 m 3)) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 0) (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (*.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 (*.f64 m m) (-.f64 1 m))) (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) (*.f64 0 (*.f64 (*.f64 m m) (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 m m) (pow.f64 m 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (*.f64 m m) (+.f64 m -1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 m m) 0) (pow.f64 m 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (neg.f64 (pow.f64 m 3)) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (neg.f64 (*.f64 m m))) (pow.f64 m 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 m m) (-.f64 1 m))) (cbrt.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 2)) (cbrt.f64 (*.f64 (*.f64 m m) (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (*.f64 m (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (*.f64 m m) (+.f64 m -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (-.f64 1 m)) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (+.f64 (neg.f64 m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (+.f64 (neg.f64 (*.f64 m m)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (-.f64 (cbrt.f64 (pow.f64 m 4)) (*.f64 (cbrt.f64 (pow.f64 m 4)) m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (-.f64 (cbrt.f64 (pow.f64 m 5)) (cbrt.f64 (pow.f64 m 8))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 (cbrt.f64 (*.f64 m m)) (cbrt.f64 (pow.f64 m 5))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (-.f64 (cbrt.f64 (pow.f64 m 4)) (pow.f64 m (+.f64 2 1/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 m) 1) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 m m) (+.f64 m -1))) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (*.f64 m (+.f64 m -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 m m)) (+.f64 m -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 m 4)) (+.f64 (*.f64 m m) (cbrt.f64 (pow.f64 m 5)))) (-.f64 (cbrt.f64 (*.f64 m m)) m))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 m m) (-.f64 1 m))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 (*.f64 m m) (+.f64 m -1)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 m m) (+.f64 m -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m m (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m m)) (cbrt.f64 (pow.f64 m 4)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 m) (*.f64 m m) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 m m)) m (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (neg.f64 (*.f64 m m)) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m m) (neg.f64 m) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 m 3) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 m m)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 m) (neg.f64 m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 m 4)) (cbrt.f64 (*.f64 m m)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 m) (cbrt.f64 (pow.f64 m 5)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 m m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (pow.f64 m 3)) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m m) 1 (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (*.f64 (*.f64 m m) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (*.f64 (*.f64 m m) (-.f64 1 m)))))))

simplify197.0ms (2.2%)

Algorithm
egg-herbie
Counts
176 → 151
Calls
Call 1
Inputs
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(pow.f64 m 2)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 -1 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 -1 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
Outputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(/.f64 (-.f64 (pow.f64 m 2) (pow.f64 m 3)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(pow.f64 m 2)
(*.f64 m m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(*.f64 -1 (pow.f64 m 3))
(neg.f64 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(*.f64 -1 (pow.f64 m 3))
(neg.f64 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 m m) (-.f64 1 m))

eval201.0ms (2.3%)

Compiler

Compiled 9287 to 4600 computations (50.5% saved)

prune109.0ms (1.2%)

Pruning

16 alts after pruning (11 fresh and 5 done)

PrunedKeptTotal
New6466652
Fresh459
Picked011
Done145
Total65116667
Error
0b
Counts
667 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
53.4b
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
0.2b
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
30.9b
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
26.0b
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
36.6b
(*.f64 (/.f64 m v) m)
10.8b
(*.f64 (/.f64 (-.f64 m v) v) m)
30.9b
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
53.4b
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
0.2b
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
10.8b
(*.f64 (-.f64 (/.f64 m v) 1) m)
37.6b
(neg.f64 m)
30.9b
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
41.5b
(/.f64 (*.f64 m m) v)
22.1b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (/.f64 (*.f64 (-.f64 1 m) m) v))))
22.1b
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
41.6b
(*.f64 (*.f64 m m) (/.f64 1 v))
Compiler

Compiled 397 to 261 computations (34.3% saved)

localize17.0ms (0.2%)

Local error

Found 8 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
0.0b
(/.f64 (*.f64 m (-.f64 1 m)) v)
0.0b
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(*.f64 m (-.f64 1 m))
0.0b
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
0.0b
(/.f64 (*.f64 m (-.f64 1 m)) v)
0.2b
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
Compiler

Compiled 43 to 24 computations (44.2% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
m
@0
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
0.0ms
m
@inf
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
0.0ms
m
@-inf
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
0.0ms
v
@inf
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
0.0ms
v
@0
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))

rewrite41.0ms (0.5%)

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

simplify159.0ms (1.8%)

Algorithm
egg-herbie
Counts
87 → 75
Calls
Call 1
Inputs
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
Outputs
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (neg.f64 (pow.f64 m 3)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v)))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(+.f64 (*.f64 -1 m) (/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v))
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 m v) m)
0.1b
(*.f64 (/.f64 m v) m)
Compiler

Compiled 12 to 4 computations (66.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
m
@0
(*.f64 (/.f64 m v) m)
0.0ms
m
@inf
(*.f64 (/.f64 m v) m)
0.0ms
m
@-inf
(*.f64 (/.f64 m v) m)
0.0ms
v
@inf
(*.f64 (/.f64 m v) m)
0.0ms
v
@-inf
(*.f64 (/.f64 m v) m)

rewrite73.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
82×egg-rr
Counts
1 → 82
Calls
Call 1
Inputs
(*.f64 (/.f64 m v) m)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (*.f64 m m) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (/.f64 (*.f64 m m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 m v)) (*.f64 (pow.f64 (/.f64 m v) 2/3) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 m v) 2/3) m) (cbrt.f64 (/.f64 m v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 m (*.f64 v v))) (/.f64 (pow.f64 (cbrt.f64 m) 5) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 m) v) (pow.f64 (cbrt.f64 m) 5))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 m 4/3) -1) (/.f64 (pow.f64 m 2/3) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 m v)) (*.f64 (pow.f64 (cbrt.f64 m) 5) (pow.f64 v -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 m 6) v) (pow.f64 v 2/3))) (pow.f64 (cbrt.f64 (pow.f64 v 2/3)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 m m) v)) (pow.f64 (/.f64 (*.f64 m m) v) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2/3) (cbrt.f64 (/.f64 (*.f64 m m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (/.f64 m v))) (pow.f64 (/.f64 m v) 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (/.f64 (pow.f64 (cbrt.f64 m) 5) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 m v) 2/3) (*.f64 m (cbrt.f64 (/.f64 m v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 m) 5) v) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 m) (cbrt.f64 v)) (*.f64 m (neg.f64 (pow.f64 v -2/3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 v -1/3) (*.f64 (*.f64 m m) (pow.f64 v -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 v)) (*.f64 m (pow.f64 v -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m v) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (/.f64 m v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (pow.f64 v -2/3)) (/.f64 m (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 m m)) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (neg.f64 (/.f64 m v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 m 4/3) (/.f64 (pow.f64 m 2/3) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 m 2/3) v) (pow.f64 m 4/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (neg.f64 (/.f64 (*.f64 m m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 m m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (*.f64 m m) v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (neg.f64 (*.f64 m m)) (cbrt.f64 v)) (neg.f64 (pow.f64 v -2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (neg.f64 m)) (*.f64 (pow.f64 (/.f64 m v) 2/3) m)) (neg.f64 (pow.f64 v -1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 m 6) v) v)) (pow.f64 v -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 m) (*.f64 (pow.f64 (/.f64 m v) 2/3) m)) (pow.f64 v -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (*.f64 m (pow.f64 v -2/3))) (pow.f64 v -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 m 2/3) (pow.f64 (/.f64 (*.f64 m m) v) 2/3)) (pow.f64 v -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (pow.f64 v -2/3)) (pow.f64 v -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2/3) (pow.f64 m 2/3)) (pow.f64 v -1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (neg.f64 m)) (/.f64 (neg.f64 (pow.f64 (cbrt.f64 m) 5)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 m (cbrt.f64 v)) m) (pow.f64 v -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 m 4/3) v) (pow.f64 m 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 m 2/3) (/.f64 (pow.f64 m 4/3) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (pow.f64 m 2/3)) (/.f64 (neg.f64 (pow.f64 m 4/3)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (pow.f64 v -2/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 v -2/3) (/.f64 (*.f64 m m) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 m 6) v) (pow.f64 v 2/3))) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (neg.f64 m)) (*.f64 (pow.f64 (/.f64 m v) 2/3) m)) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 m 6) v) (pow.f64 v 2/3)))) (neg.f64 (pow.f64 (cbrt.f64 (cbrt.f64 v)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m m) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (/.f64 m (cbrt.f64 v)) m)) (neg.f64 (pow.f64 v 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (neg.f64 (*.f64 m m)) (cbrt.f64 v)) (neg.f64 (pow.f64 v 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 m 6) v) v))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 m) (*.f64 (pow.f64 (/.f64 m v) 2/3) m))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 m (*.f64 m (pow.f64 v -2/3)))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 m 2/3) (pow.f64 (/.f64 (*.f64 m m) v) 2/3))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 m m) (pow.f64 v -2/3))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2/3) (pow.f64 m 2/3))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2) (/.f64 (*.f64 m m) (cbrt.f64 v)))) (cbrt.f64 (pow.f64 v 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (neg.f64 (*.f64 m m)) (pow.f64 (/.f64 (*.f64 m m) v) 2))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2) (neg.f64 (*.f64 m m)))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (pow.f64 (/.f64 (*.f64 m m) v) 2))) (cbrt.f64 (pow.f64 v 2/3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 m (cbrt.f64 v)) m) (pow.f64 v 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2/3) (pow.f64 m 2/3)) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 m) (*.f64 (pow.f64 (/.f64 m v) 2/3) m)) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (*.f64 m (pow.f64 v -2/3))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 m 2/3) (pow.f64 (/.f64 (*.f64 m m) v) 2/3)) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 m m)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (pow.f64 v 2/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (pow.f64 v -2/3)) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (/.f64 (/.f64 (pow.f64 m 6) v) v)) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 m m) v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (cbrt.f64 (neg.f64 m)) (*.f64 (pow.f64 (/.f64 m v) 2/3) m))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (*.f64 m m) (pow.f64 (/.f64 (*.f64 m m) v) 2))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 (*.f64 m m) v) 2) (*.f64 m m))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 m m) v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 m m) v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 m m) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (/.f64 (*.f64 m m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 m m) v) 3))))))

simplify171.0ms (1.9%)

Algorithm
egg-herbie
Counts
106 → 83
Calls
Call 1
Inputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (pow.f64 m 2) v)
Outputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 (/.f64 m v) 1) m)
0.0b
(-.f64 (/.f64 m v) 1)
0.0b
(-.f64 (/.f64 m v) 1)
0.1b
(*.f64 (-.f64 (/.f64 m v) 1) m)
Compiler

Compiled 20 to 9 computations (55% saved)

series4.0ms (0.1%)

Counts
2 → 30
Calls

12 calls:

TimeVariablePointExpression
1.0ms
m
@0
(*.f64 (-.f64 (/.f64 m v) 1) m)
1.0ms
m
@inf
(*.f64 (-.f64 (/.f64 m v) 1) m)
0.0ms
v
@-inf
(*.f64 (-.f64 (/.f64 m v) 1) m)
0.0ms
m
@-inf
(*.f64 (-.f64 (/.f64 m v) 1) m)
0.0ms
v
@inf
(*.f64 (-.f64 (/.f64 m v) 1) m)

rewrite52.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
81×egg-rr
51×egg-rr
Counts
2 → 132
Calls
Call 1
Inputs
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 m v) 1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 m) (/.f64 (*.f64 m m) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 0) (fma.f64 (/.f64 m v) m (neg.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) (*.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 m m) v) 1) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (fma.f64 (/.f64 m v) m (neg.f64 m))) (fma.f64 (/.f64 m v) m (neg.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) (*.f64 0 (fma.f64 (/.f64 m v) m (neg.f64 m))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (/.f64 (*.f64 m m) v) 0) m)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 m m) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (/.f64 (-.f64 v m) v) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 m v) v)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (/.f64 (-.f64 v m) v) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 v m) v) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)) m) (cbrt.f64 (/.f64 (-.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))) (/.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))) (/.f64 m (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (/.f64 m v) m (neg.f64 m))) (cbrt.f64 (pow.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (/.f64 (-.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 m v) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 2)) (cbrt.f64 (fma.f64 (/.f64 m v) m (neg.f64 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 (-.f64 m v) v) (cbrt.f64 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (cbrt.f64 (/.f64 (-.f64 m v) v))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (/.f64 m v) m (neg.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)) (*.f64 m (cbrt.f64 (/.f64 (-.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (/.f64 (-.f64 m v) v) (cbrt.f64 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 m m)) (/.f64 (-.f64 m v) v)) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (/.f64 (-.f64 v m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 v m) v) (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 m v) 3) -1)) (/.f64 1 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1) (/.f64 m (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 m v) 3) -1)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (-.f64 1 (pow.f64 (/.f64 m v) 3))) (neg.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 m v) 3)) m) (neg.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1)) (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)) m)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 m v) 3) -1))) (neg.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 m v) 3) -1)) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 m v) 3) -1)) 1) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (+.f64 (pow.f64 (/.f64 m v) 3) -1)) 1) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 m v) m (neg.f64 m))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 m v) m (neg.f64 m))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (/.f64 m v) m (neg.f64 m))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (-.f64 v m) v) m))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (/.f64 (-.f64 v m) v) m) 1))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (/.f64 m v) m (neg.f64 m)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 m v) m (neg.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 m v) (neg.f64 m))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 m v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (/.f64 m v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 m v) v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (/.f64 m v) 0) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (-.f64 m v) v) 0) (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 m v) v) (*.f64 (/.f64 (-.f64 m v) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (-.f64 m v) v)) (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (-.f64 m v) v) (*.f64 0 (/.f64 (-.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (pow.f64 (/.f64 m v) 3) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) (neg.f64 (/.f64 1 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (/.f64 m v) 3) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) (/.f64 1 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 m v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (-.f64 v m) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (neg.f64 (/.f64 m v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (/.f64 m v) 0) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (-.f64 m v) v) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (neg.f64 (/.f64 m v)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (cbrt.f64 (/.f64 (-.f64 v m) v))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 (/.f64 m v) 3)) (/.f64 1 (neg.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1)) 1) (/.f64 (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1)) 2) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))) (/.f64 (/.f64 (-.f64 m v) v) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))) (/.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (-.f64 (cbrt.f64 (pow.f64 (/.f64 m v) 2)) (cbrt.f64 (neg.f64 (/.f64 m v))))) (+.f64 -1 (cbrt.f64 (/.f64 m v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (/.f64 m v) 2)) (-.f64 1 (*.f64 (cbrt.f64 (/.f64 m v)) -1))) (+.f64 (cbrt.f64 (/.f64 m v)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 (/.f64 m v) 2)) (+.f64 1 (cbrt.f64 (/.f64 m v)))) (-.f64 (cbrt.f64 (/.f64 m v)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1) (/.f64 1 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 m v) v)) (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)) (cbrt.f64 (/.f64 (-.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 m v) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (-.f64 v m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 v m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) (+.f64 (pow.f64 (/.f64 m v) 3) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (-.f64 v m) v)) (neg.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)) (/.f64 (/.f64 (-.f64 m v) v) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (/.f64 m v) 3) 3) -1) (/.f64 1 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))) (+.f64 (pow.f64 (/.f64 m v) 6) (+.f64 (pow.f64 (/.f64 m v) 3) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))) (pow.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 (/.f64 m v) 3) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) (*.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v)) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (/.f64 m v) 3) 3) -1) 1) (*.f64 (+.f64 (pow.f64 (/.f64 m v) 6) (+.f64 (pow.f64 (/.f64 m v) 3) 1)) (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 m v) 3)) 1) (*.f64 (neg.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (/.f64 m v) 3)) (neg.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (-.f64 m v) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2)) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 (/.f64 m v) 3)) 1) (neg.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 3) -1)) (cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 2))) (cbrt.f64 (+.f64 (pow.f64 (/.f64 m v) 2) (/.f64 (+.f64 m v) v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 v) m) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 v (neg.f64 m)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (cbrt.f64 (*.f64 v v))) (/.f64 m (cbrt.f64 v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 m (neg.f64 v)) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 m) v) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 (/.f64 m (cbrt.f64 v)) 1) (*.f64 (cbrt.f64 (*.f64 v v)) -1)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 m v) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (neg.f64 m) (neg.f64 v)) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (/.f64 m (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (-.f64 m v) v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 m v) v)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 m v) v)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (-.f64 m v) v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 m v) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 v m) v))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (/.f64 (-.f64 v m) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (-.f64 m v) v) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 m v)) (cbrt.f64 (pow.f64 (/.f64 m v) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m (/.f64 1 v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 v) m -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 m) (/.f64 -1 v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (/.f64 m v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (/.f64 m v) 2)) (cbrt.f64 (/.f64 m v)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (/.f64 m v)) -1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 m (cbrt.f64 (pow.f64 v -2))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 m) (/.f64 (cbrt.f64 (*.f64 m m)) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 0 (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 3 (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 0 (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 m v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 m v) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 -1 (/.f64 m v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 1 (/.f64 m v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 0 (/.f64 (-.f64 m v) v))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 0 1 (/.f64 (-.f64 m v) v))))))

simplify171.0ms (1.9%)

Algorithm
egg-herbie
Counts
162 → 139
Calls
Call 1
Inputs
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
-1
(/.f64 m v)
(/.f64 m v)
(/.f64 m v)
-1
-1
Outputs
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(*.f64 -1 m)
(neg.f64 m)
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
(+.f64 (*.f64 -1 m) (/.f64 (pow.f64 m 2) v))
(fma.f64 m (/.f64 m v) (neg.f64 m))
-1
(/.f64 m v)
(/.f64 m v)
(/.f64 m v)
-1
-1

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
1.2b
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
1.2b
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
Compiler

Compiled 22 to 6 computations (72.7% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
m
@0
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
0.0ms
m
@inf
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
0.0ms
m
@-inf
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
0.0ms
v
@-inf
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
0.0ms
v
@inf
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))

rewrite40.0ms (0.5%)

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

simplify174.0ms (2%)

Algorithm
egg-herbie
Counts
93 → 69
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
Outputs
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
14.2b
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
0.0b
(*.f64 (*.f64 m m) (-.f64 1 m))
0.0b
(*.f64 (*.f64 m m) (-.f64 1 m))
14.2b
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
Compiler

Compiled 27 to 13 computations (51.9% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
m
@0
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
0.0ms
m
@inf
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
0.0ms
m
@-inf
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
0.0ms
m
@inf
(*.f64 (*.f64 m m) (-.f64 1 m))
0.0ms
v
@-inf
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)

rewrite48.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
79×egg-rr
65×egg-rr
Counts
2 → 144
Calls
Call 1
Inputs
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 (*.f64 m m) (-.f64 1 m))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) (*.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 0) (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (*.f64 (/.f64 1 v) (neg.f64 (pow.f64 m 3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) (*.f64 0 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)) (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 m m) v) (*.f64 (neg.f64 (pow.f64 m 3)) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (/.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 0 (neg.f64 v)) (/.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 2)) (cbrt.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 m (cbrt.f64 v)) (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))) (/.f64 (cbrt.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 2)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (/.f64 (-.f64 1 m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) (/.f64 (*.f64 m m) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (/.f64 (*.f64 m m) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (/.f64 1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 v) (*.f64 m (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) (/.f64 -1 v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 v)) (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (cbrt.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 2)) v) (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (*.f64 v v))) (/.f64 m (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) v) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v))) (/.f64 (*.f64 m m) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) v) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 (*.f64 v v))) (cbrt.f64 (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 v) (*.f64 (*.f64 m (+.f64 m -1)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m m) (cbrt.f64 (*.f64 v v))) (/.f64 (-.f64 1 m) (cbrt.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 v)) (pow.f64 (cbrt.f64 v) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (/.f64 (*.f64 m (-.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 v)) (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2)) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 v)) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (*.f64 v (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (*.f64 (neg.f64 v) (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (*.f64 (cbrt.f64 (*.f64 v v)) (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (/.f64 1 v))) (*.f64 (fma.f64 m m (+.f64 1 m)) (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) 1) (*.f64 (fma.f64 m m (+.f64 1 m)) v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) -1) (*.f64 (fma.f64 m m (+.f64 1 m)) (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 v)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)) (cbrt.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 2))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 m m) (cbrt.f64 v)) (-.f64 1 m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (-.f64 1 m) (cbrt.f64 v)) (*.f64 m m)) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 m (cbrt.f64 v)) (*.f64 m (-.f64 1 m))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 2)) (cbrt.f64 (*.f64 (*.f64 m (+.f64 m -1)) m))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 2)) (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m))))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 v) (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (/.f64 1 v)) (*.f64 m (*.f64 m (-.f64 1 m)))) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 (pow.f64 m 3)) (/.f64 (*.f64 m m) v)) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) (/.f64 (*.f64 m m) v)) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (/.f64 (*.f64 m (-.f64 1 m)) (cbrt.f64 (*.f64 v v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 1 m) (/.f64 (*.f64 m m) (cbrt.f64 (*.f64 v v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 m (+.f64 m -1)) m)) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 2))) (cbrt.f64 (neg.f64 v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))) (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 2))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (/.f64 1 v)) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (/.f64 (-.f64 1 m) (cbrt.f64 (*.f64 v v)))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 (*.f64 v v))) (cbrt.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) (cbrt.f64 v)) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 v)) 1) (cbrt.f64 (*.f64 v v)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) -1) (neg.f64 v))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (cbrt.f64 v))) (neg.f64 (cbrt.f64 (*.f64 v v))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) v))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 m -1) (/.f64 (*.f64 m m) v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) v) 1))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) (/.f64 1 v)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (/.f64 1 v) (*.f64 (*.f64 m (+.f64 m -1)) m)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) v) 3))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 m 3)) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (*.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 0))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 0) (*.f64 m (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m (*.f64 m (-.f64 1 m))) (*.f64 0 (*.f64 m (*.f64 m (-.f64 1 m)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 0 (*.f64 m (*.f64 m (-.f64 1 m)))) (*.f64 m (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 m m) (*.f64 (neg.f64 (pow.f64 m 3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 m m) (pow.f64 m 3))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (*.f64 m (+.f64 m -1)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m m) (-.f64 1 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 m) (*.f64 m m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))) (cbrt.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 2)) (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 1 m) (cbrt.f64 (*.f64 m m))) (cbrt.f64 (pow.f64 m 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (cbrt.f64 (-.f64 1 m))) (cbrt.f64 (pow.f64 (-.f64 1 m) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 m m)) (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 m)) (pow.f64 (*.f64 m (cbrt.f64 (-.f64 1 m))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 m (*.f64 m (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 (*.f64 m (+.f64 m -1)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 m 4)) (*.f64 (-.f64 1 m) (cbrt.f64 (*.f64 m m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 m) 2)) (*.f64 (*.f64 m m) (cbrt.f64 (-.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 m (cbrt.f64 (-.f64 1 m))) 2) (cbrt.f64 (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 m 4)) (-.f64 1 m)) (cbrt.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 m m)) (*.f64 m (-.f64 1 m))) (cbrt.f64 m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 m) (*.f64 m (+.f64 m -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 m (+.f64 m -1)) m)) (neg.f64 (cbrt.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 m -1) (neg.f64 (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (*.f64 m m)) (+.f64 m -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (/.f64 1 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (cbrt.f64 (pow.f64 m 4)) (+.f64 (*.f64 m m) (*.f64 (cbrt.f64 (*.f64 m m)) m))) (-.f64 (cbrt.f64 (*.f64 m m)) m))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (*.f64 m (-.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 m (-.f64 1 m)) m)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 m (-.f64 m (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 m (*.f64 m (-.f64 1 (pow.f64 m 3)))) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m m) (+.f64 -1 (pow.f64 m 3))) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 m 3)) (*.f64 m m)) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (-.f64 1 (pow.f64 m 3))) m) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 m 3))) (pow.f64 (*.f64 m (cbrt.f64 (-.f64 1 m))) 2)) (cbrt.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 m (*.f64 m (-.f64 1 m))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) (cbrt.f64 (fma.f64 m m (+.f64 1 m)))) (pow.f64 (cbrt.f64 (fma.f64 m m (+.f64 1 m))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3))) 1) (fma.f64 m m (+.f64 1 m)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 m (+.f64 m -1)) m) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (*.f64 m m) (-.f64 1 (pow.f64 m 3)))) (neg.f64 (fma.f64 m m (+.f64 1 m))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))) (+.f64 2 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 m (*.f64 m (-.f64 1 m)))) (+.f64 1 2))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (pow.f64 m 3) (*.f64 m m)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (*.f64 m (+.f64 m -1)) m))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 m (*.f64 m (-.f64 1 m))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 m m)) (cbrt.f64 (pow.f64 m 4)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 m 4)) (cbrt.f64 (*.f64 m m)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 m) (neg.f64 m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (neg.f64 (*.f64 m m)) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 m) (*.f64 (cbrt.f64 (*.f64 m m)) m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 m m) (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 m m) 1 (neg.f64 (pow.f64 m 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 m m (neg.f64 (pow.f64 m 3)))))))

simplify204.0ms (2.3%)

Algorithm
egg-herbie
Counts
180 → 157
Calls
Call 1
Inputs
(/.f64 (pow.f64 m 2) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(pow.f64 m 2)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 -1 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 -1 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
Outputs
(/.f64 (pow.f64 m 2) v)
(/.f64 (*.f64 m m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(*.f64 -1 (/.f64 (pow.f64 m 3) v))
(/.f64 (pow.f64 m 3) (neg.f64 v))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 m 3) v)) (/.f64 (pow.f64 m 2) v))
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(/.f64 (*.f64 (*.f64 (-.f64 1 m) m) m) v)
(pow.f64 m 2)
(*.f64 m m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(*.f64 -1 (pow.f64 m 3))
(neg.f64 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(*.f64 -1 (pow.f64 m 3))
(neg.f64 (pow.f64 m 3))
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)
(+.f64 (*.f64 -1 (pow.f64 m 3)) (pow.f64 m 2))
(*.f64 (*.f64 (-.f64 1 m) m) m)

eval349.0ms (3.9%)

Compiler

Compiled 11111 to 5570 computations (49.9% saved)

prune212.0ms (2.4%)

Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New7374741
Fresh246
Picked011
Done189
Total74017757
Error
0b
Counts
757 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
53.4b
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
30.9b
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
22.1b
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (/.f64 (*.f64 (-.f64 1 m) m) v))))
10.8b
(*.f64 (/.f64 (-.f64 m v) v) m)
26.0b
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
36.6b
(*.f64 (/.f64 m v) m)
53.4b
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
0.2b
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
10.8b
(*.f64 (-.f64 (/.f64 m v) 1) m)
37.6b
(neg.f64 m)
30.9b
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
41.5b
(/.f64 (*.f64 m m) v)
10.8b
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
30.9b
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
22.1b
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
53.3b
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
41.6b
(*.f64 (*.f64 m m) (/.f64 1 v))
Compiler

Compiled 226 to 147 computations (35% saved)

regimes78.0ms (0.9%)

Counts
40 → 1
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
(*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m)
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
(fma.f64 (/.f64 m v) m (neg.f64 m))
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (/.f64 (*.f64 (-.f64 1 m) m) v))))
(*.f64 (-.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 m (-.f64 1 m))) 3) v) 1) m)
(*.f64 (-.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 3)) 1) m)
(*.f64 (-.f64 (/.f64 (*.f64 (/.f64 m (cbrt.f64 v)) (-.f64 1 m)) (cbrt.f64 (*.f64 v v))) 1) m)
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)) 3)
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 3) -1) m) (+.f64 (+.f64 1 (/.f64 (*.f64 (-.f64 1 m) m) v)) (pow.f64 (cbrt.f64 (pow.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) 2)) 3)))
(*.f64 (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1)) (*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) m))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) 2)) (*.f64 m (cbrt.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1))))
Outputs
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
Calls

3 calls:

23.0ms
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
21.0ms
v
20.0ms
m
Results
ErrorSegmentsBranch
0.1b1m
0.1b1v
0.1b1(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Compiler

Compiled 525 to 296 computations (43.6% saved)

regimes62.0ms (0.7%)

Counts
29 → 1
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
(*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m)
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
(fma.f64 (/.f64 m v) m (neg.f64 m))
(/.f64 (-.f64 (*.f64 m m) (pow.f64 m 3)) v)
(/.f64 (*.f64 (pow.f64 m 2) (-.f64 1 m)) v)
(*.f64 (fma.f64 (-.f64 1 m) (/.f64 m v) -1) m)
Outputs
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
Calls

3 calls:

20.0ms
m
18.0ms
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
15.0ms
v
Results
ErrorSegmentsBranch
0.2b1m
0.2b1v
0.2b1(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Compiler

Compiled 261 to 121 computations (53.6% saved)

regimes46.0ms (0.5%)

Counts
24 → 1
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
(*.f64 (-.f64 (*.f64 m (/.f64 (-.f64 1 m) v)) 1) m)
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Outputs
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
Calls

3 calls:

14.0ms
(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
13.0ms
v
13.0ms
m
Results
ErrorSegmentsBranch
0.2b1m
0.2b1v
0.2b1(*.f64 (-.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) 1) m)
Compiler

Compiled 214 to 99 computations (53.7% saved)

regimes28.0ms (0.3%)

Counts
21 → 1
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
(-.f64 (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v) m)
Outputs
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
Calls

2 calls:

12.0ms
v
11.0ms
m
Results
ErrorSegmentsBranch
0.2b1m
0.2b1v
Compiler

Compiled 168 to 70 computations (58.3% saved)

regimes33.0ms (0.4%)

Counts
19 → 2
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
(*.f64 (*.f64 (/.f64 (-.f64 1 m) v) m) m)
(/.f64 (*.f64 (*.f64 m (-.f64 1 m)) m) v)
(*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m)
Outputs
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v)
Calls

2 calls:

18.0ms
m
11.0ms
v
Results
ErrorSegmentsBranch
0.4b2m
10.8b1v
Compiler

Compiled 146 to 58 computations (60.3% saved)

bsearch18.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
6.5105222143636235e-18
3.081619265899035e-13
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes30.0ms (0.3%)

Counts
15 → 2
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
Outputs
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m))
Calls

2 calls:

18.0ms
m
9.0ms
v
Results
ErrorSegmentsBranch
0.4b2m
10.8b1v
Compiler

Compiled 110 to 39 computations (64.5% saved)

bsearch18.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
6.5105222143636235e-18
3.081619265899035e-13
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes29.0ms (0.3%)

Counts
14 → 2
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
(*.f64 (neg.f64 (/.f64 (*.f64 m m) v)) m)
Outputs
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(*.f64 (*.f64 m m) (neg.f64 (/.f64 m v)))
Calls

2 calls:

15.0ms
m
10.0ms
v
Results
ErrorSegmentsBranch
2.7b2m
10.8b1v
Compiler

Compiled 101 to 35 computations (65.3% saved)

bsearch18.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
0.03358259997196748
3.4345050177929437
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes25.0ms (0.3%)

Counts
12 → 2
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
Outputs
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v)
Calls

2 calls:

14.0ms
m
8.0ms
v
Results
ErrorSegmentsBranch
2.7b2m
10.8b1v
Compiler

Compiled 85 to 31 computations (63.5% saved)

bsearch20.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
0.03358259997196748
3.4345050177929437
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes17.0ms (0.2%)

Counts
11 → 1
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
Outputs
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
Calls

2 calls:

8.0ms
m
6.0ms
v
Results
ErrorSegmentsBranch
10.8b1m
10.8b1v
Compiler

Compiled 77 to 28 computations (63.6% saved)

regimes15.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (/.f64 (-.f64 m v) v) m)
(*.f64 (-.f64 (/.f64 m v) 1) m)
(*.f64 (*.f64 m m) (/.f64 1 v))
(*.f64 (-.f64 (/.f64 m v) 1) m)
(-.f64 (/.f64 (*.f64 m m) v) m)
Outputs
(*.f64 (/.f64 (-.f64 m v) v) m)
Calls

2 calls:

6.0ms
m
6.0ms
v
Results
ErrorSegmentsBranch
10.8b1m
10.8b1v
Compiler

Compiled 69 to 27 computations (60.9% saved)

regimes26.0ms (0.3%)

Accuracy

Total -39.7b remaining (-180.4%)

Threshold costs -39.7b (-180.4%)

Counts
3 → 4
Calls
Call 1
Inputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(/.f64 (*.f64 m m) v)
Outputs
(neg.f64 m)
(*.f64 (/.f64 m v) m)
(neg.f64 m)
(*.f64 (/.f64 m v) m)
Calls

2 calls:

13.0ms
m
12.0ms
v
Results
ErrorSegmentsBranch
22.0b4m
23.7b2v
Compiler

Compiled 20 to 11 computations (45% saved)

bsearch58.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
6.116716548626432e-127
2.4587262047152864e-125
19.0ms
1.5192872812718196e-192
2.6398395477014453e-191
20.0ms
5.881790461856417e-216
1.564006373665502e-214
Compiler

Compiled 18 to 13 computations (27.8% saved)

simplify123.0ms (1.4%)

Algorithm
egg-herbie
Stop Event
fuel
Calls
Call 1
Inputs
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
(if (<=.f64 m 8451141010265363/1298074214633706907132624082305024) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))
(if (<=.f64 m 8451141010265363/1298074214633706907132624082305024) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m)))
(if (<=.f64 m 2419881355518163/72057594037927936) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (*.f64 (*.f64 m m) (neg.f64 (/.f64 m v))))
(if (<=.f64 m 2419881355518163/72057594037927936) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v))
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(*.f64 (/.f64 (-.f64 m v) v) m)
(if (<=.f64 m 4565793053576915/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (neg.f64 m) (if (<=.f64 m 3902176549308457/2568425733177916751582514591250062824975751856847252861083144972201529372215371495172688738416791235950675277761805770367685269653410060480042878305982363696267199058168185838960773319279454451792623658074112) (*.f64 (/.f64 m v) m) (if (<=.f64 m 3729463089525079/6097165137335922326917182089439777940915230747392521779021790936768304177382354726797472857545882756171536974846497310342671827498609932238848) (neg.f64 m) (*.f64 (/.f64 m v) m))))
(neg.f64 m)
Outputs
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
(+.f64 (*.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) m) (neg.f64 m))
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
(*.f64 (/.f64 (-.f64 (*.f64 m (-.f64 1 m)) v) v) m)
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
(*.f64 (+.f64 (/.f64 (*.f64 m (-.f64 1 m)) v) -1) m)
(fma.f64 (/.f64 (*.f64 (-.f64 1 m) m) v) m (neg.f64 m))
(if (<=.f64 m 8451141010265363/1298074214633706907132624082305024) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))
(if (<=.f64 m 8451141010265363/1298074214633706907132624082305024) (/.f64 (*.f64 (-.f64 m v) m) v) (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))
(if (<=.f64 m 8451141010265363/1298074214633706907132624082305024) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (*.f64 (/.f64 (-.f64 1 m) v) (*.f64 m m)))
(if (<=.f64 m 8451141010265363/1298074214633706907132624082305024) (/.f64 (*.f64 (-.f64 m v) m) v) (/.f64 (*.f64 (*.f64 m m) (-.f64 1 m)) v))
(if (<=.f64 m 2419881355518163/72057594037927936) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (*.f64 (*.f64 m m) (neg.f64 (/.f64 m v))))
(if (<=.f64 m 2419881355518163/72057594037927936) (/.f64 (*.f64 (-.f64 m v) m) v) (/.f64 (pow.f64 m 3) (neg.f64 v)))
(if (<=.f64 m 2419881355518163/72057594037927936) (+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m)) (/.f64 (*.f64 (neg.f64 (*.f64 m m)) m) v))
(if (<=.f64 m 2419881355518163/72057594037927936) (/.f64 (*.f64 (-.f64 m v) m) v) (/.f64 (pow.f64 m 3) (neg.f64 v)))
(+.f64 (*.f64 (/.f64 m v) m) (neg.f64 m))
(/.f64 (*.f64 (-.f64 m v) m) v)
(*.f64 (/.f64 (-.f64 m v) v) m)
(/.f64 (*.f64 (-.f64 m v) m) v)
(if (<=.f64 m 4565793053576915/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (neg.f64 m) (if (<=.f64 m 3902176549308457/2568425733177916751582514591250062824975751856847252861083144972201529372215371495172688738416791235950675277761805770367685269653410060480042878305982363696267199058168185838960773319279454451792623658074112) (*.f64 (/.f64 m v) m) (if (<=.f64 m 3729463089525079/6097165137335922326917182089439777940915230747392521779021790936768304177382354726797472857545882756171536974846497310342671827498609932238848) (neg.f64 m) (*.f64 (/.f64 m v) m))))
(if (<=.f64 m 4565793053576915/776259046150354467574489744231251277628443008558348305569526019013025476343188443165439204414323238975243865348565536603085790022057407195722143637520590569602227488010424952775132642815799222412631499596858234375446423426908028928) (neg.f64 m) (if (<=.f64 m 3902176549308457/2568425733177916751582514591250062824975751856847252861083144972201529372215371495172688738416791235950675277761805770367685269653410060480042878305982363696267199058168185838960773319279454451792623658074112) (/.f64 (*.f64 m m) v) (if (<=.f64 m 3729463089525079/6097165137335922326917182089439777940915230747392521779021790936768304177382354726797472857545882756171536974846497310342671827498609932238848) (neg.f64 m) (/.f64 (*.f64 m m) v))))
(neg.f64 m)
Compiler

Compiled 194 to 115 computations (40.7% saved)

soundness0.0ms (0%)

end80.0ms (0.9%)

Compiler

Compiled 172 to 68 computations (60.5% saved)

Profiling

Loading profile data...