Details

Time bar (total: 7.2s)

analyze2.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
0%0%0%100%0%0%0%1
50%0%0%100%0%0%0%2
75%0%0%100%0%0%0%3
87.5%0%0%100%0%0%0%4
93.8%0%0%100%0%0%0%5
96.9%0%0%100%0%0%0%6
98.4%0%0%100%0%0%0%7
99.2%0%0%100%0%0%0%8
99.6%0%0%100%0%0%0%9
99.8%0%0%100%0%0%0%10
99.9%0%0%100%0%0%0%11
100%0%0%100%0%0%0%12
Compiler

Compiled 15 to 11 computations (26.7% saved)

sample849.0ms (11.7%)

Results
833.0ms8256×body256valid
Bogosity

preprocess235.0ms (3.2%)

Algorithm
egg-herbie
Rules
601×unsub-neg_binary64
586×distribute-rgt-out--_binary64
492×fma-neg_binary64
434×distribute-neg-in_binary64
409×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11410
22110
33210
44910
5778
61318
73628
87388
915368
1028958
1143128
1252708
1355808
1458848
1559858
1660638
1763318
1872778
011
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
Outputs
0
Call 2
Inputs
(/.f64 10 (-.f64 1 (*.f64 x x)))
Outputs
(/.f64 10 (-.f64 1 (*.f64 x x)))
(/.f64 10 (fma.f64 x (neg.f64 x) 1))
(/.f64 -10 (fma.f64 x x -1))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify226.0ms (3.1%)

Algorithm
egg-herbie
Rules
601×unsub-neg_binary64
586×distribute-rgt-out--_binary64
492×fma-neg_binary64
434×distribute-neg-in_binary64
409×distribute-rgt-in_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0710
11410
22110
33210
44910
5778
61318
73628
87388
915368
1028958
1143128
1252708
1355808
1458848
1559858
1660638
1763318
1872778
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(/.f64 10 (-.f64 1 (*.f64 x x)))
Outputs
(/.f64 10 (-.f64 1 (*.f64 x x)))
(/.f64 10 (fma.f64 x (neg.f64 x) 1))
(/.f64 -10 (fma.f64 x x -1))

eval1.0ms (0%)

Compiler

Compiled 14 to 10 computations (28.6% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.3b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
7.9b
(/.f64 10 (-.f64 1 (*.f64 x x)))
0.3b
(/.f64 -10 (fma.f64 x x -1))
Compiler

Compiled 15 to 11 computations (26.7% saved)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(/.f64 -10 (fma.f64 x x -1))
Compiler

Compiled 14 to 9 computations (35.7% saved)

series5.0ms (0.1%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
3.0ms
x
@inf
(/.f64 -10 (fma.f64 x x -1))
1.0ms
x
@0
(/.f64 -10 (fma.f64 x x -1))
1.0ms
x
@-inf
(/.f64 -10 (fma.f64 x x -1))

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
549×pow1_binary64
512×add-log-exp_binary64
512×log1p-expm1-u_binary64
512×expm1-log1p-u_binary64
503×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify70.0ms (1%)

Algorithm
egg-herbie
Rules
677×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
354×distribute-neg-frac_binary64
255×associate-/r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038226
1112210
2338206
31162203
44868200
Stop Event
node limit
Counts
32 → 35
Calls
Call 1
Inputs
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(*.f64 10 (fma.f64 x x 1))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (fma.f64 10 (*.f64 x x) 10) (*.f64 10 (pow.f64 x 4)))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 4) 10))
(*.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (fma.f64 10 (pow.f64 x 4) 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 10 (pow.f64 x 4) 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 10 (pow.f64 x 4) 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 8))) (/.f64 -10 (pow.f64 x 6))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 8))) (/.f64 -10 (pow.f64 x 6))))

localize11.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b
(-.f64 1 (*.f64 x x))
Compiler

Compiled 19 to 10 computations (47.4% saved)

series5.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

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

rewrite83.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
736×pow1_binary64
694×add-log-exp_binary64
693×log1p-expm1-u_binary64
693×expm1-log1p-u_binary64
681×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115417
2192217
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(-.f64 1 (*.f64 x x))
(/.f64 10 (-.f64 1 (*.f64 x x)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 x (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (*.f64 x (neg.f64 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x (neg.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 2) (cbrt.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 6)) (/.f64 1 (+.f64 1 (+.f64 (*.f64 x x) (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 4)) (/.f64 1 (+.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (+.f64 (*.f64 x x) (pow.f64 x 4))) (-.f64 1 (pow.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (*.f64 x x)) (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 6)) (+.f64 1 (+.f64 (*.f64 x x) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 x 6))) (neg.f64 (+.f64 1 (+.f64 (*.f64 x x) (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 x 4))) (neg.f64 (+.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (*.f64 x (neg.f64 x)) 3)) (+.f64 1 (-.f64 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x))) (*.f64 x (neg.f64 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 x x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 x (neg.f64 x))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 10 (-.f64 1 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 10 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 10 (/.f64 1 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) (pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 2) (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) (sqrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (neg.f64 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (-.f64 1 (pow.f64 x 6))) (+.f64 1 (+.f64 (*.f64 x x) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (+.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1/10 (/.f64 (*.f64 x x) 10)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 100 (pow.f64 (-.f64 1 (*.f64 x x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))))

simplify57.0ms (0.8%)

Algorithm
egg-herbie
Rules
681×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
361×distribute-neg-frac_binary64
258×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
041320
1117286
2354282
31199279
44981276
Stop Event
node limit
Counts
74 → 70
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(fma.f64 x (*.f64 x 10) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 10 (*.f64 x x) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 4) 10))
(*.f64 10 (+.f64 (fma.f64 x x 1) (pow.f64 x 4)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 6) (fma.f64 10 (pow.f64 x 4) 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 10 (pow.f64 x 4) 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 10 (pow.f64 x 4) 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6)))
(-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 4))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 4)))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6)))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6)))
(-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 4))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 4)))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6)))))

eval29.0ms (0.4%)

Compiler

Compiled 1239 to 893 computations (27.9% saved)

prune25.0ms (0.3%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New9411105
Fresh000
Picked011
Done011
Total9413107
Error
0.1b
Counts
107 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
7.9b
(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
22.9b
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
7.9b
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
58.0b
10
6.8b
(/.f64 10 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x))))
23.7b
(exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))
60.3b
(/.f64 -10 (*.f64 x x))
0.6b
(cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))
0.5b
(pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)
1.2b
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
0.3b
(/.f64 -10 (fma.f64 x x -1))
0.3b
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
Compiler

Compiled 233 to 171 computations (26.6% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
0.3b
(/.f64 1 (fma.f64 x x -1))
Compiler

Compiled 23 to 16 computations (30.4% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 1 (fma.f64 x x -1))
0.0ms
x
@inf
(/.f64 1 (fma.f64 x x -1))
0.0ms
x
@-inf
(/.f64 1 (fma.f64 x x -1))
0.0ms
x
@inf
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
0.0ms
x
@-inf
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)

rewrite60.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
637×pow1_binary64
591×add-log-exp_binary64
590×log1p-expm1-u_binary64
590×expm1-log1p-u_binary64
580×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
115416
2164116
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(/.f64 1 (fma.f64 x x -1))
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) (/.f64 1 (cbrt.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1/2) (pow.f64 (fma.f64 x x -1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 x x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -1) (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (fma.f64 x x -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 x x -1) -10))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 10 (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -10 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2)) (cbrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -10 (sqrt.f64 (fma.f64 x x -1))) (sqrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 100 (pow.f64 (fma.f64 x x -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))))))

simplify63.0ms (0.9%)

Algorithm
egg-herbie
Rules
525×fma-neg_binary64
413×unswap-sqr_binary64
394×sub-neg_binary64
361×distribute-neg-frac_binary64
329×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
052438
1156414
2468406
31561406
46037406
Stop Event
node limit
Counts
60 → 66
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(fma.f64 -1 (*.f64 x x) -1)
(-.f64 -1 (*.f64 x x))
(neg.f64 (fma.f64 x x 1))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(+.f64 (fma.f64 -1 (*.f64 x x) (neg.f64 (pow.f64 x 4))) -1)
(fma.f64 -1 (fma.f64 x x (pow.f64 x 4)) -1)
(-.f64 -1 (fma.f64 x x (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 -1 (pow.f64 x 6) (fma.f64 -1 (*.f64 x x) (neg.f64 (pow.f64 x 4)))) -1)
(+.f64 -1 (-.f64 (neg.f64 (fma.f64 x x (pow.f64 x 4))) (pow.f64 x 6)))
(-.f64 (-.f64 -1 (fma.f64 x x (pow.f64 x 4))) (pow.f64 x 6))
(-.f64 -1 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6))) (/.f64 1 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (pow.f64 x 8)))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6))) (/.f64 1 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (pow.f64 x 8)))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (fma.f64 10 (*.f64 x x) 10) (*.f64 (pow.f64 x 4) 10))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 4) 10 10))
(+.f64 10 (*.f64 10 (fma.f64 x x (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 (pow.f64 x 4) 10))))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 6) 10 (fma.f64 (pow.f64 x 4) 10 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) 10 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 10 x) x)) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 10 x) x)) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6))))

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(/.f64 -10 (*.f64 x x))
Compiler

Compiled 11 to 5 computations (54.5% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 -10 (*.f64 x x))
0.0ms
x
@inf
(/.f64 -10 (*.f64 x x))
0.0ms
x
@-inf
(/.f64 -10 (*.f64 x x))

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
498×pow1_binary64
491×add-sqr-sqrt_binary64
470×add-log-exp_binary64
470×log1p-expm1-u_binary64
470×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11097
213247
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(/.f64 -10 (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 -10 (pow.f64 x -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (pow.f64 x -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 -10 (pow.f64 x -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 -10 (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 -10 (pow.f64 x -2))) (cbrt.f64 (/.f64 100 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 100 (pow.f64 x 4))) (cbrt.f64 (*.f64 -10 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 -10) x) (/.f64 (sqrt.f64 -10) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 10 (/.f64 1 (*.f64 x (neg.f64 x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 x -2) -10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 x) (/.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 -10 (pow.f64 x -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 -10 (pow.f64 x -2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 -10 (pow.f64 x -2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 -10) x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 x x) -1/10) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 100 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -10) (pow.f64 x -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 -10 (pow.f64 x -2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 -10 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 -10 (pow.f64 x -2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 -10 (pow.f64 x -2))))))))

simplify158.0ms (2.2%)

Algorithm
egg-herbie
Rules
1140×associate-/r*_binary64
1082×sqr-pow_binary64
560×cube-prod_binary64
554×fabs-mul_binary64
523×pow-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11184
22084
33584
47584
522484
683484
7204384
8220984
9239384
10260184
11289884
12329184
13377284
14434084
15502884
16586384
17625584
18654384
19681984
20689184
21692784
Stop Event
node limit
Counts
33 → 23
Calls
Call 1
Inputs
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
Outputs
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
0.4b
(/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x))))
0.5b
(*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))
6.9b
(-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x))))
Compiler

Compiled 74 to 22 computations (70.3% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

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

rewrite114.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
494×log-prod_binary64
300×pow-prod-down_binary64
262×fma-def_binary64
246×pow-unpow_binary64
244×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01170
126034
2409024
Stop Event
node limit
Counts
4 → 204
Calls
Call 1
Inputs
(-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x))))
(*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))
(/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x))))
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (pow.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 x 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (+.f64 1 (pow.f64 x 4)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (+.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 1 (pow.f64 x 4))))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2) (cbrt.f64 (+.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 (*.f64 x x)) (hypot.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 12)) (/.f64 1 (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 (hypot.f64 1 (*.f64 x x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4)) (-.f64 1 (pow.f64 x 12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (pow.f64 x 4)) (+.f64 1 (pow.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 12)) (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 x 8)) (+.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 x 12))) (neg.f64 (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 x 8))) (+.f64 -1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 x 12)) (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 1 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 1 (pow.f64 x 4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 1 (*.f64 x x)) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 (*.f64 x x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4)) (-.f64 1 (pow.f64 x 12))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (pow.f64 x 4)) (+.f64 1 (pow.f64 x 8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 1 (pow.f64 x 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 1 (*.f64 x x)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (hypot.f64 1 (*.f64 x x)) (hypot.f64 (*.f64 x x) (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (pow.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 x 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x (pow.f64 x 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 4) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (cbrt.f64 (pow.f64 x 8)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 8)) (*.f64 x (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 8)) (neg.f64 (*.f64 x (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (pow.f64 x 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 x 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 x 3) x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 x 8))) (*.f64 x (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 x x) (*.f64 x (cbrt.f64 x))) (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 x 3) 1) x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 x 3) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 x 3) (sqrt.f64 x)) (sqrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 x 3) -1) x 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 x 4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (pow.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 x 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 8) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x (cbrt.f64 x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 x) 2) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 12) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 x 6) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (pow.f64 x 4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 x 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 x 12))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (*.f64 (log1p.f64 (pow.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 1 (pow.f64 x 4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 x 4)) 1 -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2) (cbrt.f64 (+.f64 1 (pow.f64 x 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 1 (*.f64 x x)) (hypot.f64 1 (*.f64 x x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 1 (pow.f64 x 12)) (/.f64 1 (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 (hypot.f64 1 (*.f64 x x)) -2) -1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 x x 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (hypot.f64 1 x) -2) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 1)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (pow.f64 (hypot.f64 1 x) -2) (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (fma.f64 x (+.f64 (pow.f64 x 3) x) 1)) (/.f64 (pow.f64 x 6) (fma.f64 x (+.f64 (pow.f64 x 3) x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 x 4)) (pow.f64 (hypot.f64 1 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x 1)) (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4)) (cbrt.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2) (*.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) (pow.f64 (hypot.f64 1 x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 x) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 (*.f64 x x)) (*.f64 (hypot.f64 1 (*.f64 x x)) (pow.f64 (hypot.f64 1 x) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 x 4)) (/.f64 1 (+.f64 -1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 x 6)) (/.f64 1 (fma.f64 x (+.f64 (pow.f64 x 3) x) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 1 x) -2) (+.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) -2) (/.f64 (+.f64 1 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 x)) (/.f64 (+.f64 1 (pow.f64 x 4)) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2) 1) (/.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 (*.f64 x x)) 1) (/.f64 (hypot.f64 1 (*.f64 x x)) (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2) (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4))) (cbrt.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (hypot.f64 1 (*.f64 x x)) (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4))) (/.f64 (hypot.f64 1 (*.f64 x x)) (cbrt.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 1 (pow.f64 x 4)) (+.f64 1 (pow.f64 x 6))) (fma.f64 x (+.f64 (pow.f64 x 3) x) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 1 x) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 1 x) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 1 x) -2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 1 (*.f64 x x)) 6) (pow.f64 (hypot.f64 1 x) 6)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 x (+.f64 (pow.f64 x 3) x) 1) (+.f64 1 (pow.f64 x 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (hypot.f64 1 x) -2) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (+.f64 1 (pow.f64 x 4)) (+.f64 -1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 1 x) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 1 x) 6))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (hypot.f64 1 (*.f64 x x)) 6) (pow.f64 (hypot.f64 1 x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (hypot.f64 1 x) (hypot.f64 x (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (pow.f64 (hypot.f64 1 x) -2) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x x 1) (pow.f64 (hypot.f64 1 (*.f64 x x)) -2) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (cbrt.f64 x)) (neg.f64 (pow.f64 (cbrt.f64 x) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 x (cbrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 x (sqrt.f64 x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 x) -2)) 2) (cbrt.f64 (pow.f64 (hypot.f64 1 x) -2)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 x 8))) (sqrt.f64 (*.f64 x (cbrt.f64 x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (pow.f64 (hypot.f64 1 x) -2)) (sqrt.f64 (pow.f64 (hypot.f64 1 x) -2)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4)) 1) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (+.f64 1 (pow.f64 x 4))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 x) 1) (/.f64 (hypot.f64 1 x) (+.f64 1 (pow.f64 x 4))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) -2) (/.f64 (fma.f64 x x 1) (cbrt.f64 (+.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4)) (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2)) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (cbrt.f64 (+.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 x) (pow.f64 (cbrt.f64 (+.f64 1 (pow.f64 x 4))) 2)) (/.f64 (hypot.f64 1 x) (cbrt.f64 (+.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (hypot.f64 1 (*.f64 x x))) (/.f64 (fma.f64 x x 1) (hypot.f64 1 (*.f64 x x))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4)) (hypot.f64 1 (*.f64 x x))) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (hypot.f64 1 (*.f64 x x))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 x) (hypot.f64 1 (*.f64 x x))) (/.f64 (hypot.f64 1 x) (hypot.f64 1 (*.f64 x x))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (hypot.f64 1 (*.f64 x x)) -2) (fma.f64 x x 1) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 x (cbrt.f64 x))) (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 x (+.f64 (pow.f64 x 3) x) 1) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 -1 (pow.f64 x 4))) (+.f64 -1 (*.f64 x x)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x x 1) (-.f64 1 (pow.f64 x 12))) (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x x 1) (+.f64 1 (pow.f64 x 8))) (+.f64 1 (pow.f64 x 4)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 10 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) (*.f64 (*.f64 x x) (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) 1) (*.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 10 (fma.f64 x x 1)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 10 (fma.f64 x x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 10 (fma.f64 x x 1))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 10 (fma.f64 x x 1))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 10 (fma.f64 x x 1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 10 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x 1) (/.f64 -10 (+.f64 -1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 10 (pow.f64 (hypot.f64 1 x) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (fma.f64 x x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 10 (fma.f64 x x 1))) (cbrt.f64 (/.f64 100 (pow.f64 (hypot.f64 1 x) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 100 (pow.f64 (hypot.f64 1 x) 4))) (cbrt.f64 (/.f64 10 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 10) (hypot.f64 1 x)) (/.f64 (sqrt.f64 10) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (+.f64 -1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 1 x) -2) 10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) (fma.f64 x x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) 1) (fma.f64 x x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (+.f64 -1 (pow.f64 x 4))) (+.f64 -1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) (cbrt.f64 (pow.f64 (hypot.f64 1 x) 4))) (cbrt.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) (hypot.f64 1 x)) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 10 (fma.f64 x x 1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 100 (pow.f64 (hypot.f64 1 x) 4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 10 (fma.f64 x x 1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 10 (fma.f64 x x 1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sqrt.f64 10) (hypot.f64 1 x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x x 1) 1/10) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (fma.f64 x x 1) 1/10) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 100 (pow.f64 (hypot.f64 1 x) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 10 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 10 (fma.f64 x x 1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 10 (fma.f64 x x 1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 10 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 10 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 10 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 10 (fma.f64 x x 1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) (*.f64 (*.f64 x x) (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 10 (pow.f64 (hypot.f64 1 (*.f64 x x)) -2) (*.f64 (*.f64 x x) (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) 1 (*.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4))) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))) 2) (cbrt.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))) (*.f64 (*.f64 x x) (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))) (sqrt.f64 (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))) (*.f64 (*.f64 x x) (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 10 (-.f64 1 (pow.f64 x 12))) (+.f64 (+.f64 1 (pow.f64 x 8)) (pow.f64 x 4)) (*.f64 (*.f64 x x) (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 10 (+.f64 1 (pow.f64 x 8))) (+.f64 1 (pow.f64 x 4)) (*.f64 (*.f64 x x) (/.f64 -10 (+.f64 -1 (pow.f64 x 4)))))))))

simplify90.0ms (1.2%)

Algorithm
egg-herbie
Rules
697×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
360×distribute-neg-frac_binary64
293×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
043462
1122410
2365406
31241403
45173400
Stop Event
node limit
Counts
252 → 227
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(*.f64 -1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(*.f64 -1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
1
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(*.f64 -1 (pow.f64 x 4))
(neg.f64 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(*.f64 -1 (pow.f64 x 4))
(neg.f64 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
(pow.f64 x 4)
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(fma.f64 x (neg.f64 x) 1)
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 10 (*.f64 x x) (+.f64 10 (*.f64 (pow.f64 x 4) 10)))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 4) 10 10))
(*.f64 10 (+.f64 (fma.f64 x x 1) (pow.f64 x 4)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 (pow.f64 x 4) 10))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 6) (fma.f64 (pow.f64 x 4) 10 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) 10 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 (pow.f64 x 4) 10 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(-.f64 (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 4))) (/.f64 10 (*.f64 x x)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (-.f64 (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 4))) (/.f64 10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 (/.f64 -10 x) x) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8)))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(-.f64 (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 4))) (/.f64 10 (*.f64 x x)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (-.f64 (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 4))) (/.f64 10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 (/.f64 -10 x) x) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8)))))

localize20.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)
0.4b
(*.f64 (fma.f64 x x -1) -1/10)
Compiler

Compiled 22 to 15 computations (31.8% saved)

series4.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(*.f64 (fma.f64 x x -1) -1/10)
1.0ms
x
@0
(*.f64 (fma.f64 x x -1) -1/10)
1.0ms
x
@inf
(*.f64 (fma.f64 x x -1) -1/10)
1.0ms
x
@inf
(pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)
1.0ms
x
@0
(pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)

rewrite82.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
637×pow1_binary64
598×add-log-exp_binary64
598×log1p-expm1-u_binary64
598×expm1-log1p-u_binary64
585×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0719
114616
2162816
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(*.f64 (fma.f64 x x -1) -1/10)
(pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) -1/10) 1/10)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 -1/10 (*.f64 x x)) 1/10)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 x x -1) -1/10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x x -1) -1/10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/100 (pow.f64 (fma.f64 x x -1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -1/10) (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 x x -1) -1/10)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -2)) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) -10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2) -1) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) -1) (pow.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (fma.f64 x x -1) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (fma.f64 x x -1) -1/10) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2)) (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))))))

simplify75.0ms (1%)

Algorithm
egg-herbie
Rules
679×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
358×distribute-neg-frac_binary64
255×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
042331
1118297
2350293
31185290
44932287
Stop Event
node limit
Counts
60 → 56
Calls
Call 1
Inputs
1/10
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(*.f64 -1/10 (pow.f64 x 2))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(*.f64 -1/10 (pow.f64 x 2))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
1/10
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(*.f64 -1/10 (pow.f64 x 2))
(*.f64 -1/10 (*.f64 x x))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(*.f64 -1/10 (pow.f64 x 2))
(*.f64 -1/10 (*.f64 x x))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(fma.f64 x (*.f64 x 10) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 10 (*.f64 x x) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 4) 10))
(*.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 6) (fma.f64 10 (pow.f64 x 4) 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 10 (pow.f64 x 4) 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 10 (pow.f64 x 4) 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))

localize27.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(/.f64 -10 (fma.f64 x x -1))
0.5b
(cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))
0.8b
(pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3)
Compiler

Compiled 32 to 23 computations (28.1% saved)

series5.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))
1.0ms
x
@inf
(pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3)
1.0ms
x
@inf
(cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))
1.0ms
x
@0
(pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3)
1.0ms
x
@-inf
(pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3)

rewrite87.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
738×pow1_binary64
699×add-log-exp_binary64
699×log1p-expm1-u_binary64
699×expm1-log1p-u_binary64
684×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
119319
2194019
Stop Event
node limit
Counts
2 → 65
Calls
Call 1
Inputs
(pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3)
(cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (*.f64 (/.f64 1 (fma.f64 x x -1)) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 (fma.f64 x x -1)) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1000 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1000 (/.f64 1 (pow.f64 (fma.f64 x x -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2) (*.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (*.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3/2) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2) 3) (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3) (pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) -10) (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) 1) (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (fma.f64 x x -1) 3) -1000))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1000 (pow.f64 (fma.f64 x x -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) (*.f64 (fma.f64 x x -1) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1000 (pow.f64 (neg.f64 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1000 (neg.f64 (pow.f64 (fma.f64 x x -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -10 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2)) (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 10 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2)) (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) -10) (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) 1) (*.f64 (fma.f64 x x -1) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) 10) (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (/.f64 -10 (fma.f64 x x -1)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 10 (/.f64 1 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) -10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2) 1/3) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3/2) 1/3) (pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (neg.f64 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (fma.f64 x x -1) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (fma.f64 x x -1) -1/10) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 10 (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -10 (sqrt.f64 (fma.f64 x x -1))) (sqrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -10 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2)) (cbrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))))))

simplify97.0ms (1.3%)

Algorithm
egg-herbie
Rules
723×associate-/r*_binary64
704×fma-neg_binary64
575×associate-*r*_binary64
377×cancel-sign-sub-inv_binary64
249×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
065524
1179490
2551475
31987469
47868469
Stop Event
node limit
Counts
89 → 95
Calls
Call 1
Inputs
1000
(+.f64 1000 (*.f64 3000 (pow.f64 x 2)))
(+.f64 (*.f64 6000 (pow.f64 x 4)) (+.f64 1000 (*.f64 3000 (pow.f64 x 2))))
(+.f64 (*.f64 6000 (pow.f64 x 4)) (+.f64 1000 (+.f64 (*.f64 10000 (pow.f64 x 6)) (*.f64 3000 (pow.f64 x 2)))))
(/.f64 -1000 (pow.f64 x 6))
(neg.f64 (+.f64 (*.f64 3000 (/.f64 1 (pow.f64 x 8))) (*.f64 1000 (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8))))))
(neg.f64 (+.f64 (*.f64 10000 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8)))))))
(/.f64 -1000 (pow.f64 x 6))
(neg.f64 (+.f64 (*.f64 3000 (/.f64 1 (pow.f64 x 8))) (*.f64 1000 (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8))))))
(neg.f64 (+.f64 (*.f64 10000 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8)))))))
(*.f64 -1 (cbrt.f64 -1000))
(+.f64 (*.f64 -1 (cbrt.f64 -1000)) (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 2))))
(+.f64 (*.f64 -1 (cbrt.f64 -1000)) (+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 2)))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 6))) (+.f64 (*.f64 -1 (cbrt.f64 -1000)) (+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 2))))))
(/.f64 (cbrt.f64 -1000) (pow.f64 x 2))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 8)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))))
(/.f64 (cbrt.f64 -1000) (pow.f64 x 2))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 8)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))))
Outputs
1000
(+.f64 1000 (*.f64 3000 (pow.f64 x 2)))
(+.f64 1000 (*.f64 3000 (*.f64 x x)))
(fma.f64 3000 (*.f64 x x) 1000)
(+.f64 (*.f64 6000 (pow.f64 x 4)) (+.f64 1000 (*.f64 3000 (pow.f64 x 2))))
(fma.f64 6000 (pow.f64 x 4) (+.f64 1000 (*.f64 3000 (*.f64 x x))))
(fma.f64 6000 (pow.f64 x 4) (fma.f64 3000 (*.f64 x x) 1000))
(+.f64 (*.f64 6000 (pow.f64 x 4)) (+.f64 1000 (+.f64 (*.f64 10000 (pow.f64 x 6)) (*.f64 3000 (pow.f64 x 2)))))
(fma.f64 6000 (pow.f64 x 4) (+.f64 1000 (fma.f64 10000 (pow.f64 x 6) (*.f64 3000 (*.f64 x x)))))
(+.f64 (fma.f64 10000 (pow.f64 x 6) (*.f64 3000 (*.f64 x x))) (fma.f64 6000 (pow.f64 x 4) 1000))
(fma.f64 6000 (pow.f64 x 4) (fma.f64 3000 (*.f64 x x) (fma.f64 10000 (pow.f64 x 6) 1000)))
(/.f64 -1000 (pow.f64 x 6))
(neg.f64 (+.f64 (*.f64 3000 (/.f64 1 (pow.f64 x 8))) (*.f64 1000 (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (/.f64 3000 (pow.f64 x 8)) (/.f64 1000 (pow.f64 x 6))))
(+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6)))
(-.f64 (/.f64 -1000 (pow.f64 x 6)) (/.f64 3000 (pow.f64 x 8)))
(neg.f64 (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8))))))
(neg.f64 (+.f64 (/.f64 6000 (pow.f64 x 10)) (+.f64 (/.f64 3000 (pow.f64 x 8)) (/.f64 1000 (pow.f64 x 6)))))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6))))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (-.f64 (/.f64 -1000 (pow.f64 x 6)) (/.f64 3000 (pow.f64 x 8))))
(neg.f64 (+.f64 (*.f64 10000 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8)))))))
(neg.f64 (+.f64 (+.f64 (/.f64 6000 (pow.f64 x 10)) (+.f64 (/.f64 3000 (pow.f64 x 8)) (/.f64 1000 (pow.f64 x 6)))) (/.f64 10000 (pow.f64 x 12))))
(+.f64 (+.f64 (/.f64 -6000 (pow.f64 x 10)) (+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6)))) (/.f64 -10000 (pow.f64 x 12)))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (-.f64 (-.f64 (/.f64 -1000 (pow.f64 x 6)) (/.f64 3000 (pow.f64 x 8))) (/.f64 10000 (pow.f64 x 12))))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (+.f64 (+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6))) (/.f64 -10000 (pow.f64 x 12))))
(/.f64 -1000 (pow.f64 x 6))
(neg.f64 (+.f64 (*.f64 3000 (/.f64 1 (pow.f64 x 8))) (*.f64 1000 (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (/.f64 3000 (pow.f64 x 8)) (/.f64 1000 (pow.f64 x 6))))
(+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6)))
(-.f64 (/.f64 -1000 (pow.f64 x 6)) (/.f64 3000 (pow.f64 x 8)))
(neg.f64 (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8))))))
(neg.f64 (+.f64 (/.f64 6000 (pow.f64 x 10)) (+.f64 (/.f64 3000 (pow.f64 x 8)) (/.f64 1000 (pow.f64 x 6)))))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6))))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (-.f64 (/.f64 -1000 (pow.f64 x 6)) (/.f64 3000 (pow.f64 x 8))))
(neg.f64 (+.f64 (*.f64 10000 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6000 (/.f64 1 (pow.f64 x 10))) (+.f64 (*.f64 1000 (/.f64 1 (pow.f64 x 6))) (*.f64 3000 (/.f64 1 (pow.f64 x 8)))))))
(neg.f64 (+.f64 (+.f64 (/.f64 6000 (pow.f64 x 10)) (+.f64 (/.f64 3000 (pow.f64 x 8)) (/.f64 1000 (pow.f64 x 6)))) (/.f64 10000 (pow.f64 x 12))))
(+.f64 (+.f64 (/.f64 -6000 (pow.f64 x 10)) (+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6)))) (/.f64 -10000 (pow.f64 x 12)))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (-.f64 (-.f64 (/.f64 -1000 (pow.f64 x 6)) (/.f64 3000 (pow.f64 x 8))) (/.f64 10000 (pow.f64 x 12))))
(+.f64 (/.f64 -6000 (pow.f64 x 10)) (+.f64 (+.f64 (/.f64 -3000 (pow.f64 x 8)) (/.f64 -1000 (pow.f64 x 6))) (/.f64 -10000 (pow.f64 x 12))))
(*.f64 -1 (cbrt.f64 -1000))
(neg.f64 (cbrt.f64 -1000))
(+.f64 (*.f64 -1 (cbrt.f64 -1000)) (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 2))))
(fma.f64 -1 (cbrt.f64 -1000) (*.f64 (neg.f64 (cbrt.f64 -1000)) (*.f64 x x)))
(neg.f64 (*.f64 (+.f64 (*.f64 x x) 1) (cbrt.f64 -1000)))
(*.f64 (cbrt.f64 -1000) (-.f64 -1 (*.f64 x x)))
(+.f64 (*.f64 -1 (cbrt.f64 -1000)) (+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 2)))))
(fma.f64 -1 (cbrt.f64 -1000) (fma.f64 -1 (*.f64 (pow.f64 x 4) (cbrt.f64 -1000)) (*.f64 (neg.f64 (cbrt.f64 -1000)) (*.f64 x x))))
(-.f64 (*.f64 (neg.f64 (cbrt.f64 -1000)) (+.f64 (pow.f64 x 4) (*.f64 x x))) (cbrt.f64 -1000))
(neg.f64 (fma.f64 (cbrt.f64 -1000) (fma.f64 x x (pow.f64 x 4)) (cbrt.f64 -1000)))
(*.f64 (cbrt.f64 -1000) (-.f64 -1 (fma.f64 x x (pow.f64 x 4))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 6))) (+.f64 (*.f64 -1 (cbrt.f64 -1000)) (+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (*.f64 -1 (*.f64 (cbrt.f64 -1000) (pow.f64 x 2))))))
(fma.f64 -1 (*.f64 (pow.f64 x 6) (cbrt.f64 -1000)) (fma.f64 -1 (cbrt.f64 -1000) (fma.f64 -1 (*.f64 (pow.f64 x 4) (cbrt.f64 -1000)) (*.f64 (neg.f64 (cbrt.f64 -1000)) (*.f64 x x)))))
(-.f64 (-.f64 (*.f64 (neg.f64 (cbrt.f64 -1000)) (+.f64 (pow.f64 x 4) (*.f64 x x))) (cbrt.f64 -1000)) (*.f64 (pow.f64 x 6) (cbrt.f64 -1000)))
(-.f64 (*.f64 (neg.f64 (cbrt.f64 -1000)) (+.f64 (pow.f64 x 6) (fma.f64 x x (pow.f64 x 4)))) (cbrt.f64 -1000))
(*.f64 (cbrt.f64 -1000) (-.f64 (-.f64 -1 (pow.f64 x 6)) (fma.f64 x x (pow.f64 x 4))))
(/.f64 (cbrt.f64 -1000) (pow.f64 x 2))
(/.f64 (cbrt.f64 -1000) (*.f64 x x))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))
(+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2))))
(+.f64 (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)))
(+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 6))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 6))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 8)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (/.f64 (cbrt.f64 -1000) (pow.f64 x 8))))
(+.f64 (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 8))))
(+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 8)))))
(/.f64 (cbrt.f64 -1000) (pow.f64 x 2))
(/.f64 (cbrt.f64 -1000) (*.f64 x x))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))
(+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2))))
(+.f64 (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)))
(+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 6))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 6))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 8)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 2)))))
(+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (+.f64 (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (/.f64 (cbrt.f64 -1000) (pow.f64 x 8))))
(+.f64 (+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 4))) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 8))))
(+.f64 (/.f64 (cbrt.f64 -1000) (*.f64 x x)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 4)) (+.f64 (/.f64 (cbrt.f64 -1000) (pow.f64 x 6)) (/.f64 (cbrt.f64 -1000) (pow.f64 x 8)))))

eval278.0ms (3.8%)

Compiler

Compiled 7113 to 5355 computations (24.7% saved)

prune128.0ms (1.8%)

Pruning

22 alts after pruning (17 fresh and 5 done)

PrunedKeptTotal
New48715502
Fresh426
Picked101
Done156
Total49322515
Error
0b
Counts
515 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
6.8b
(/.f64 10 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x))))
58.0b
10
60.3b
(/.f64 -10 (*.f64 x x))
1.4b
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2)) (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)))
0.6b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)) -10)
0.5b
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
60.3b
(/.f64 (/.f64 -10 x) x)
22.9b
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
41.7b
(*.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -1/2) 2) -10)
1.2b
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
1.4b
(*.f64 (pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) 3) -10)
7.9b
(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
0.5b
(/.f64 1 (*.f64 (fma.f64 x x -1) -1/10))
0.4b
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
42.0b
(*.f64 (exp.f64 (neg.f64 (log.f64 (fma.f64 x x -1)))) -10)
7.2b
(pow.f64 (fma.f64 x (*.f64 -1/10 x) 1/10) -1)
41.0b
(*.f64 (sqrt.f64 (pow.f64 (fma.f64 x x -1) -2)) -10)
0.3b
(/.f64 -10 (fma.f64 x x -1))
7.9b
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
0.3b
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
0.5b
(cbrt.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)))
Compiler

Compiled 395 to 307 computations (22.3% saved)

localize18.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
0.3b
(/.f64 (fma.f64 x x -1) -10)
Compiler

Compiled 23 to 16 computations (30.4% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 (fma.f64 x x -1) -10)
0.0ms
x
@-inf
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
0.0ms
x
@inf
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
0.0ms
x
@0
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
0.0ms
x
@inf
(/.f64 (fma.f64 x x -1) -10)

rewrite81.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
693×pow1_binary64
649×add-log-exp_binary64
648×log1p-expm1-u_binary64
648×expm1-log1p-u_binary64
637×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
116316
2182716
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(/.f64 (fma.f64 x x -1) -10)
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 x x -1) -1/10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x -1) -1/10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (fma.f64 x x -1) -1/10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (fma.f64 x x -1) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2) (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2) (*.f64 (cbrt.f64 (fma.f64 x x -1)) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x x -1)) (*.f64 (sqrt.f64 (fma.f64 x x -1)) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (fma.f64 x x -1)) 1/10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1/10 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x x -1) -1/10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -10 (fma.f64 x x -1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (fma.f64 x x -1) 10))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x -1) 2) 1/100))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 x x -1)) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 x x -1) -1/10)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (*.f64 (fma.f64 x x -1) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) -10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2) -1) (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) -1) (pow.f64 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (neg.f64 (fma.f64 x x -1))) 10)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))))))

simplify75.0ms (1%)

Algorithm
egg-herbie
Rules
679×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
358×distribute-neg-frac_binary64
255×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
042331
1118297
2350293
31185290
44932287
Stop Event
node limit
Counts
70 → 66
Calls
Call 1
Inputs
1/10
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(*.f64 -1/10 (pow.f64 x 2))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(*.f64 -1/10 (pow.f64 x 2))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
1/10
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(*.f64 -1/10 (pow.f64 x 2))
(*.f64 -1/10 (*.f64 x x))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(*.f64 -1/10 (pow.f64 x 2))
(*.f64 -1/10 (*.f64 x x))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(fma.f64 x (*.f64 x 10) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 10 (*.f64 x x) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 4) 10))
(*.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 6) (fma.f64 10 (pow.f64 x 4) 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 10 (pow.f64 x 4) 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 10 (pow.f64 x 4) 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (/.f64 -10 x) x)
Compiler

Compiled 11 to 7 computations (36.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@0
(/.f64 (/.f64 -10 x) x)
0.0ms
x
@inf
(/.f64 (/.f64 -10 x) x)
0.0ms
x
@-inf
(/.f64 (/.f64 -10 x) x)

rewrite67.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
581×pow1_binary64
547×add-log-exp_binary64
547×log1p-expm1-u_binary64
547×expm1-log1p-u_binary64
537×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify238.0ms (3.3%)

Algorithm
egg-herbie
Rules
1140×associate-/r*_binary64
1082×sqr-pow_binary64
560×cube-prod_binary64
554×fabs-mul_binary64
523×pow-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0684
11184
22084
33584
47584
522484
683484
7204384
8220984
9239384
10260184
11289884
12329184
13377284
14434084
15502884
16586384
17625584
18654384
19681984
20689184
21692784
Stop Event
node limit
Counts
47 → 37
Calls
Call 1
Inputs
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (pow.f64 x 2))
Outputs
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))

localize33.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(+.f64 1 (*.f64 x x))
0.3b
(/.f64 10 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x))))
0.4b
(/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x)))
6.9b
(-.f64 1 (pow.f64 x 4))
Compiler

Compiled 45 to 29 computations (35.6% saved)

series7.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
(-.f64 1 (pow.f64 x 4))
1.0ms
x
@inf
(-.f64 1 (pow.f64 x 4))
1.0ms
x
@-inf
(/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x)))
1.0ms
x
@0
(/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x)))
1.0ms
x
@inf
(/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x)))

rewrite197.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
594×prod-diff_binary64
532×log-prod_binary64
297×pow2_binary64
274×fma-def_binary64
202×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01149
125529
2340529
Stop Event
node limit
Counts
4 → 267
Calls
Call 1
Inputs
(-.f64 1 (pow.f64 x 4))
(/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x)))
(/.f64 10 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x))))
(+.f64 1 (*.f64 x x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (pow.f64 x 4)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 1 (pow.f64 x 4)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (pow.f64 x 4))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2) (cbrt.f64 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) (sqrt.f64 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 12)) (/.f64 1 (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 8)) (/.f64 1 (+.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8))) (-.f64 1 (pow.f64 x 12))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 1 (pow.f64 x 4)) (-.f64 1 (pow.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 12)) (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 8)) (+.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 x 12))) (neg.f64 (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 x 8))) (neg.f64 (+.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (neg.f64 (pow.f64 x 4)) 3)) (+.f64 1 (-.f64 (pow.f64 (neg.f64 (pow.f64 x 4)) 2) (neg.f64 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (neg.f64 (pow.f64 x 4)) 2)) (-.f64 1 (neg.f64 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (pow.f64 x 4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (pow.f64 x 4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8))) (-.f64 1 (pow.f64 x 12))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 1 (pow.f64 x 4)) (-.f64 1 (pow.f64 x 8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (pow.f64 x 4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (pow.f64 x 4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (neg.f64 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (neg.f64 (pow.f64 x 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (neg.f64 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (neg.f64 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 8)) (neg.f64 (cbrt.f64 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (neg.f64 (pow.f64 x 4))) 2) (cbrt.f64 (neg.f64 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (neg.f64 (pow.f64 x 4))) (sqrt.f64 (neg.f64 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 x x)) (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (pow.f64 x 4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (pow.f64 x 8))) (cbrt.f64 (pow.f64 x 4)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (neg.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 -1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 x) x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (*.f64 (neg.f64 (cbrt.f64 (pow.f64 x 4))) (pow.f64 (cbrt.f64 x) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 x x)) (fma.f64 (neg.f64 (sqrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))) (sqrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 x x)) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (hypot.f64 1 x))) (/.f64 (*.f64 x x) (hypot.f64 1 x)) (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 1 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 1 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 1 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 1 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 1 (*.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x x 1))) (pow.f64 x 4) (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x x 1))) (pow.f64 x 4) (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x x 1))) (pow.f64 x 4) (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x x 1))) (pow.f64 x 4) (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4)))) (fma.f64 (neg.f64 (/.f64 1 (fma.f64 x x 1))) (pow.f64 x 4) (*.f64 (/.f64 1 (fma.f64 x x 1)) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2) (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2) (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2) (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2) (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2)))) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2) (*.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) (pow.f64 (cbrt.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1)))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1))) (/.f64 (*.f64 x x) 1) (*.f64 (/.f64 (*.f64 x x) (fma.f64 x x 1)) (/.f64 (*.f64 x x) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (fma.f64 x x 1)) (/.f64 (cbrt.f64 (pow.f64 x 8)) 1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (pow.f64 x 4) (cbrt.f64 (fma.f64 x x 1))) (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (*.f64 x x) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (*.f64 x x) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1)))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)) (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)) (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)) (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)) (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x))) (/.f64 1 (hypot.f64 1 x)) (*.f64 (/.f64 (pow.f64 x 4) (hypot.f64 1 x)) (/.f64 1 (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x))) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)) (*.f64 (/.f64 (cbrt.f64 (pow.f64 x 4)) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (pow.f64 x 8)) (hypot.f64 1 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4)))))) (fma.f64 (neg.f64 (-.f64 1 (*.f64 x x))) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))) (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4)))))) (fma.f64 (neg.f64 (-.f64 1 (*.f64 x x))) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))) (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4)))))) (fma.f64 (neg.f64 (-.f64 1 (*.f64 x x))) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))) (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4)))))) (fma.f64 (neg.f64 (-.f64 1 (*.f64 x x))) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))) (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4)))))) (fma.f64 (neg.f64 (-.f64 1 (*.f64 x x))) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))) (*.f64 (-.f64 1 (*.f64 x x)) (/.f64 (pow.f64 x 4) (-.f64 1 (pow.f64 x 4))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1)) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))) (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1)) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))) (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1)) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))) (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1)) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))) (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6)))))) (fma.f64 (neg.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1)) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))) (*.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (/.f64 (pow.f64 x 4) (+.f64 1 (pow.f64 x 6))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 1 (*.f64 x x)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (-.f64 1 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (*.f64 x x))))) (log.f64 (sqrt.f64 (exp.f64 (-.f64 1 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (*.f64 x x))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (fma.f64 x x 1)) (/.f64 (pow.f64 x 4) (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 1 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 4)) (/.f64 1 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 2) (cbrt.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2) (*.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) (/.f64 1 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) (sqrt.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) (*.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) (/.f64 1 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (-.f64 1 (pow.f64 x 4))) (/.f64 1 (neg.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x 1)) (-.f64 1 (pow.f64 x 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (-.f64 1 (pow.f64 x 4)) (cbrt.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (hypot.f64 1 x)) (/.f64 (-.f64 1 (pow.f64 x 4)) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2) 1) (/.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) 1) (/.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (/.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) (cbrt.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2) (hypot.f64 1 x)) (/.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) (hypot.f64 1 x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (pow.f64 x 4)) (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (*.f64 x x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 x x)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 x x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (pow.f64 (-.f64 1 (pow.f64 x 4)) 3) (pow.f64 (fma.f64 x x 1) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (-.f64 1 (pow.f64 x 4)) (neg.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (*.f64 x x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (-.f64 1 (pow.f64 x 4)) 3) (pow.f64 (fma.f64 x x 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 (neg.f64 x) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 (neg.f64 x) x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (fma.f64 x x 1)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) 2) (cbrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (sqrt.f64 (/.f64 1 (fma.f64 x x 1))) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (-.f64 1 (*.f64 x x)) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (+.f64 1 (pow.f64 x 6))) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (neg.f64 (/.f64 (pow.f64 x 4) (fma.f64 x x 1))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (/.f64 10 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))) (/.f64 10 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) 1) (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (*.f64 x x)) (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 10 (-.f64 1 (*.f64 x x))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 10 (-.f64 1 (*.f64 x x))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 10 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x 1) (/.f64 10 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 10 (/.f64 1 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) (pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 2) (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) (sqrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (neg.f64 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (fma.f64 x x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) 1) (fma.f64 x x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 10 (neg.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2)) (cbrt.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (hypot.f64 1 x)) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 100 (pow.f64 (-.f64 1 (*.f64 x x)) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 1 (*.f64 x x)) 1/10) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (*.f64 (-.f64 1 (*.f64 x x)) 1/10) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (/.f64 100 (pow.f64 (-.f64 1 (*.f64 x x)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 10 (-.f64 1 (*.f64 x x))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4))) (/.f64 10 (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 10 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) 1 (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) (*.f64 x x) (*.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4)))) 2) (cbrt.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4)))) (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4)))) (sqrt.f64 (/.f64 10 (-.f64 1 (pow.f64 x 4)))) (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 10 (-.f64 1 (pow.f64 x 12))) (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8))) (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 10 (-.f64 1 (pow.f64 x 8))) (+.f64 1 (pow.f64 x 4)) (*.f64 (*.f64 x x) (/.f64 10 (-.f64 1 (pow.f64 x 4)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 x x 1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x x 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 1 (pow.f64 x 4)) (/.f64 1 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x x 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x x 1)) (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (cbrt.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 1 x) (hypot.f64 1 x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 x 6)) (/.f64 1 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (+.f64 1 (pow.f64 x 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 4)) (-.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2) (/.f64 (-.f64 1 (*.f64 x x)) (cbrt.f64 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 1 (pow.f64 x 4))) (/.f64 (-.f64 1 (*.f64 x x)) (sqrt.f64 (-.f64 1 (pow.f64 x 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 1 (pow.f64 x 4))) (neg.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 12)) (*.f64 (-.f64 1 (*.f64 x x)) (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 x 6)) (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 x 6)) (+.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 x 8)) (*.f64 (-.f64 1 (*.f64 x x)) (+.f64 1 (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 x 4) 1) (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 x 6))) (neg.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x 1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x 1) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x 1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x x 1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 1 x) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 x x) (fma.f64 x x -1) 1) (+.f64 1 (pow.f64 x 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 1 (*.f64 x x)) (-.f64 1 (pow.f64 x 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x 1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 x x 1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x x 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log1p.f64 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log1p.f64 (*.f64 x x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (/.f64 1 (-.f64 1 (*.f64 x x))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x x 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x x) 1 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 x x 1) (/.f64 1 (-.f64 1 (pow.f64 x 4))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 x 4)) (pow.f64 (cbrt.f64 x) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 (pow.f64 x 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 x x)))) 2) (cbrt.f64 (/.f64 1 (-.f64 1 (*.f64 x x)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 x 8))) (sqrt.f64 (cbrt.f64 (pow.f64 x 4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 x x)))) (sqrt.f64 (/.f64 1 (-.f64 1 (*.f64 x x)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) 1) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (-.f64 1 (pow.f64 x 4))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 x) 1) (/.f64 (hypot.f64 1 x) (-.f64 1 (pow.f64 x 4))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2)) (/.f64 (fma.f64 x x 1) (cbrt.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2)) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (cbrt.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 x) (pow.f64 (cbrt.f64 (-.f64 1 (pow.f64 x 4))) 2)) (/.f64 (hypot.f64 1 x) (cbrt.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (sqrt.f64 (-.f64 1 (pow.f64 x 4)))) (/.f64 (fma.f64 x x 1) (sqrt.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 x x 1)) 2) (sqrt.f64 (-.f64 1 (pow.f64 x 4)))) (/.f64 (cbrt.f64 (fma.f64 x x 1)) (sqrt.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (hypot.f64 1 x) (sqrt.f64 (-.f64 1 (pow.f64 x 4)))) (/.f64 (hypot.f64 1 x) (sqrt.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (fma.f64 x x 1) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1 (neg.f64 (-.f64 1 (pow.f64 x 4)))) (neg.f64 (fma.f64 x x 1)) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x x 1) (-.f64 1 (pow.f64 x 12))) (+.f64 1 (+.f64 (pow.f64 x 4) (pow.f64 x 8))) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 (fma.f64 x x 1) (-.f64 1 (pow.f64 x 8))) (+.f64 1 (pow.f64 x 4)) (neg.f64 (/.f64 (pow.f64 x 4) (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 x (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) 1)))))

simplify69.0ms (0.9%)

Algorithm
egg-herbie
Rules
700×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
359×distribute-neg-frac_binary64
289×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
044486
1124416
2368412
31245409
45192406
Stop Event
node limit
Counts
315 → 294
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(*.f64 -1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(*.f64 -1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(*.f64 -1 (pow.f64 x 2))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
1
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (pow.f64 x 2))
(pow.f64 x 2)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (pow.f64 x 2))
Outputs
1
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(*.f64 -1 (pow.f64 x 4))
(neg.f64 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(*.f64 -1 (pow.f64 x 4))
(neg.f64 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
(+.f64 1 (*.f64 -1 (pow.f64 x 4)))
(+.f64 1 (neg.f64 (pow.f64 x 4)))
(-.f64 1 (pow.f64 x 4))
1
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(*.f64 -1 (pow.f64 x 2))
(neg.f64 (*.f64 x x))
(*.f64 x (neg.f64 x))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
(+.f64 1 (*.f64 -1 (pow.f64 x 2)))
(+.f64 1 (neg.f64 (*.f64 x x)))
(-.f64 1 (*.f64 x x))
(neg.f64 (fma.f64 x x -1))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(*.f64 (fma.f64 x x 1) 10)
(*.f64 10 (fma.f64 x x 1))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 10 (*.f64 x x) (+.f64 10 (*.f64 (pow.f64 x 4) 10)))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 4) 10 10))
(*.f64 10 (+.f64 (fma.f64 x x 1) (pow.f64 x 4)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 (pow.f64 x 4) 10))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 6) (fma.f64 (pow.f64 x 4) 10 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) 10 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 (pow.f64 x 4) 10 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 10 (pow.f64 x 6))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 10 (pow.f64 x 6)))) (/.f64 -10 (pow.f64 x 8)))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 10 (pow.f64 x 6))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 10 (pow.f64 x 6)))) (/.f64 -10 (pow.f64 x 8)))
1
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(pow.f64 x 2)
(*.f64 x x)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)

localize32.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (pow.f64 (fma.f64 x x -1) -2))
0.2b
(*.f64 (sqrt.f64 (pow.f64 (fma.f64 x x -1) -2)) -10)
0.5b
(pow.f64 (fma.f64 x x -1) -2)
Compiler

Compiled 31 to 22 computations (29% saved)

series4.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(pow.f64 (fma.f64 x x -1) -2)
1.0ms
x
@inf
(pow.f64 (fma.f64 x x -1) -2)
0.0ms
x
@-inf
(pow.f64 (fma.f64 x x -1) -2)
0.0ms
x
@-inf
(*.f64 (sqrt.f64 (pow.f64 (fma.f64 x x -1) -2)) -10)
0.0ms
x
@-inf
(sqrt.f64 (pow.f64 (fma.f64 x x -1) -2))

rewrite67.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
731×pow1_binary64
683×add-log-exp_binary64
683×log1p-expm1-u_binary64
683×expm1-log1p-u_binary64
668×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0927
118027
2189027
Stop Event
node limit
Counts
3 → 53
Calls
Call 1
Inputs
(pow.f64 (fma.f64 x x -1) -2)
(*.f64 (sqrt.f64 (pow.f64 (fma.f64 x x -1) -2)) -10)
(sqrt.f64 (pow.f64 (fma.f64 x x -1) -2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (fma.f64 x x -1) -2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 x x -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) (*.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x -1))) (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -4)) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1/2) (*.f64 (pow.f64 (fma.f64 x x -1) -1/2) (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) (pow.f64 (fma.f64 x x -1) -1/2)) (pow.f64 (fma.f64 x x -1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2) -2) (pow.f64 (cbrt.f64 (fma.f64 x x -1)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -2) (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2))) (cbrt.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x -1) -4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -2 (log.f64 (fma.f64 x x -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sqrt.f64 -10) (pow.f64 (fma.f64 x x -1) -1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) 100))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -10) (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (/.f64 1 (fma.f64 x x -1)) -10)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) (cbrt.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x -1))) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1/2) (pow.f64 (fma.f64 x x -1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -4))) (sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 x x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -1) (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -4)) 1/2) (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 1 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x x -1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -1 (log.f64 (fma.f64 x x -1))))))))

simplify70.0ms (1%)

Algorithm
egg-herbie
Rules
525×fma-neg_binary64
455×associate-*l*_binary64
417×associate-/r*_binary64
394×sub-neg_binary64
356×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073652
1219626
2623616
31964616
47350616
Stop Event
node limit
Counts
89 → 97
Calls
Call 1
Inputs
1
(+.f64 (*.f64 2 (pow.f64 x 2)) 1)
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 1 (*.f64 3 (pow.f64 x 4))))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 3 (pow.f64 x 4)))))
(/.f64 1 (pow.f64 x 4))
(+.f64 (/.f64 1 (pow.f64 x 4)) (*.f64 2 (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 10))) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(/.f64 1 (pow.f64 x 4))
(+.f64 (/.f64 1 (pow.f64 x 4)) (*.f64 2 (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 10))) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
Outputs
1
(+.f64 (*.f64 2 (pow.f64 x 2)) 1)
(fma.f64 2 (*.f64 x x) 1)
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 1 (*.f64 3 (pow.f64 x 4))))
(+.f64 (fma.f64 2 (*.f64 x x) 1) (*.f64 3 (pow.f64 x 4)))
(fma.f64 2 (*.f64 x x) (fma.f64 3 (pow.f64 x 4) 1))
(+.f64 (*.f64 2 (pow.f64 x 2)) (+.f64 1 (+.f64 (*.f64 4 (pow.f64 x 6)) (*.f64 3 (pow.f64 x 4)))))
(+.f64 (fma.f64 2 (*.f64 x x) 1) (fma.f64 4 (pow.f64 x 6) (*.f64 3 (pow.f64 x 4))))
(+.f64 (fma.f64 2 (*.f64 x x) 1) (fma.f64 3 (pow.f64 x 4) (*.f64 4 (pow.f64 x 6))))
(fma.f64 2 (*.f64 x x) (fma.f64 3 (pow.f64 x 4) (fma.f64 4 (pow.f64 x 6) 1)))
(/.f64 1 (pow.f64 x 4))
(+.f64 (/.f64 1 (pow.f64 x 4)) (*.f64 2 (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 2 (pow.f64 x 6)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 2 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 10))) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 2 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 4 (pow.f64 x 10)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 2 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))) (/.f64 4 (pow.f64 x 10))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 2 (pow.f64 x 6)) (/.f64 4 (pow.f64 x 10)))))
(/.f64 1 (pow.f64 x 4))
(+.f64 (/.f64 1 (pow.f64 x 4)) (*.f64 2 (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 2 (pow.f64 x 6)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 2 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (*.f64 2 (/.f64 1 (pow.f64 x 6))) (+.f64 (*.f64 4 (/.f64 1 (pow.f64 x 10))) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 2 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 4 (pow.f64 x 10)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 2 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))) (/.f64 4 (pow.f64 x 10))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 2 (pow.f64 x 6)) (/.f64 4 (pow.f64 x 10)))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(fma.f64 x (*.f64 x 10) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (fma.f64 10 (*.f64 x x) 10) (*.f64 (pow.f64 x 4) 10))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 4) 10 10))
(*.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 (pow.f64 x 4) 10))))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 6) 10 (fma.f64 (pow.f64 x 4) 10 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) 10 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 (/.f64 -10 x) x) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 (/.f64 -10 x) x) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 (/.f64 -10 x) x) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 (/.f64 -10 x) x) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8))))
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(fma.f64 -1 (*.f64 x x) -1)
(fma.f64 (*.f64 x x) -1 -1)
(fma.f64 x (neg.f64 x) -1)
(-.f64 -1 (*.f64 x x))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(+.f64 (*.f64 -1 (+.f64 (*.f64 x x) (pow.f64 x 4))) -1)
(fma.f64 -1 (fma.f64 x x (pow.f64 x 4)) -1)
(-.f64 -1 (fma.f64 x x (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 -1 (pow.f64 x 6) (*.f64 -1 (+.f64 (*.f64 x x) (pow.f64 x 4)))) -1)
(fma.f64 (pow.f64 x 6) -1 (fma.f64 -1 (fma.f64 x x (pow.f64 x 4)) -1))
(-.f64 (-.f64 -1 (fma.f64 x x (pow.f64 x 4))) (pow.f64 x 6))
(-.f64 -1 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(/.f64 (/.f64 1 x) x)
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 (/.f64 1 x) x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 (/.f64 1 x) x)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 (/.f64 1 x) x))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 (/.f64 1 x) x))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(/.f64 (/.f64 1 x) x)
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (*.f64 x x)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 (/.f64 1 x) x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 (/.f64 1 x) x)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 (/.f64 1 x) x))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 (/.f64 1 x) x))))

localize35.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)) -10)
0.3b
(/.f64 1 (fma.f64 x x -1))
0.5b
(cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3))
0.7b
(pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)
Compiler

Compiled 44 to 33 computations (25% saved)

series5.0ms (0.1%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
x
@inf
(pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)
1.0ms
x
@0
(pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)
0.0ms
x
@-inf
(pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)
0.0ms
x
@0
(cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3))
0.0ms
x
@-inf
(*.f64 (cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)) -10)

rewrite63.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
811×pow1_binary64
766×add-log-exp_binary64
764×log1p-expm1-u_binary64
764×expm1-log1p-u_binary64
749×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01130
122524
2218924
Stop Event
node limit
Counts
3 → 68
Calls
Call 1
Inputs
(pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)
(cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3))
(*.f64 (cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)) -10)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (fma.f64 x x -1) -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 x x -1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) (pow.f64 (fma.f64 x x -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -2) (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) (*.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1/2) (*.f64 (pow.f64 (fma.f64 x x -1) -1/2) (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -3/2) (pow.f64 (fma.f64 x x -1) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) 3) (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -1/2) 3) (pow.f64 (pow.f64 (fma.f64 x x -1) -1/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) 1) (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2))) (/.f64 1 (cbrt.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) (pow.f64 (fma.f64 x x -1) -1/2)) (pow.f64 (fma.f64 x x -1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (pow.f64 (fma.f64 x x -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (pow.f64 (fma.f64 x x -1) 3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (pow.f64 (neg.f64 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (pow.f64 (fma.f64 x x -1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 x x -1) -2) (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (pow.f64 (fma.f64 x x -1) -2)) (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) 1) (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) -1) (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 x x -1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 x x -1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 x x -1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (fma.f64 x x -1) -3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) (pow.f64 (pow.f64 (fma.f64 x x -1) -2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) (/.f64 1 (cbrt.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1/2) (pow.f64 (fma.f64 x x -1) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 x x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -1) (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -2) 1/3) (/.f64 1 (cbrt.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -3/2) 1/3) (pow.f64 (pow.f64 (fma.f64 x x -1) -3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (neg.f64 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (fma.f64 x x -1) -1/2) (sqrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 1 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2)) (cbrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x -1) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (fma.f64 x x -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 10 (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) 100))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))))))

simplify71.0ms (1%)

Algorithm
egg-herbie
Rules
565×fma-neg_binary64
541×associate-*l*_binary64
452×associate-/r*_binary64
415×associate-*r*_binary64
314×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
076652
1219626
2628616
32032616
47853616
Stop Event
node limit
Counts
104 → 111
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 -3 (pow.f64 x 2)) 1)
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (*.f64 -3 (pow.f64 x 2))) 1)
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (+.f64 (*.f64 -3 (pow.f64 x 2)) (*.f64 -10 (pow.f64 x 6)))) 1)
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
-1
(-.f64 (*.f64 -3 (pow.f64 x 2)) 1)
(fma.f64 -3 (*.f64 x x) -1)
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (*.f64 -3 (pow.f64 x 2))) 1)
(+.f64 (fma.f64 -6 (pow.f64 x 4) (*.f64 -3 (*.f64 x x))) -1)
(fma.f64 -6 (pow.f64 x 4) (fma.f64 -3 (*.f64 x x) -1))
(fma.f64 -3 (*.f64 x x) (fma.f64 -6 (pow.f64 x 4) -1))
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (+.f64 (*.f64 -3 (pow.f64 x 2)) (*.f64 -10 (pow.f64 x 6)))) 1)
(+.f64 (fma.f64 -6 (pow.f64 x 4) (fma.f64 -3 (*.f64 x x) (*.f64 -10 (pow.f64 x 6)))) -1)
(fma.f64 -6 (pow.f64 x 4) (+.f64 (*.f64 -10 (pow.f64 x 6)) (fma.f64 -3 (*.f64 x x) -1)))
(fma.f64 -6 (pow.f64 x 4) (fma.f64 -3 (*.f64 x x) (fma.f64 -10 (pow.f64 x 6) -1)))
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))) (+.f64 (/.f64 6 (pow.f64 x 10)) (/.f64 10 (pow.f64 x 12))))
(+.f64 (+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 10 (pow.f64 x 12)))))
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))) (+.f64 (/.f64 6 (pow.f64 x 10)) (/.f64 10 (pow.f64 x 12))))
(+.f64 (+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 10 (pow.f64 x 12)))))
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(fma.f64 -1 (*.f64 x x) -1)
(-.f64 -1 (*.f64 x x))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(+.f64 (fma.f64 -1 (*.f64 x x) (neg.f64 (pow.f64 x 4))) -1)
(fma.f64 -1 (fma.f64 x x (pow.f64 x 4)) -1)
(-.f64 -1 (fma.f64 x x (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 -1 (pow.f64 x 6) (fma.f64 -1 (*.f64 x x) (neg.f64 (pow.f64 x 4)))) -1)
(fma.f64 -1 (pow.f64 x 6) (fma.f64 -1 (fma.f64 x x (pow.f64 x 4)) -1))
(-.f64 (-.f64 -1 (fma.f64 x x (pow.f64 x 4))) (pow.f64 x 6))
(-.f64 -1 (+.f64 (pow.f64 x 6) (fma.f64 x x (pow.f64 x 4))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (fma.f64 10 (*.f64 x x) 10) (*.f64 (pow.f64 x 4) 10))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 4) 10 10))
(+.f64 10 (*.f64 10 (fma.f64 x x (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 (pow.f64 x 4) 10))))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 6) 10 (fma.f64 (pow.f64 x 4) 10 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) 10 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 6))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (pow.f64 x 6)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6)))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 6))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (pow.f64 x 6)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6)))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8))))

eval487.0ms (6.7%)

Compiler

Compiled 12815 to 9580 computations (25.2% saved)

prune193.0ms (2.7%)

Pruning

19 alts after pruning (11 fresh and 8 done)

PrunedKeptTotal
New6346640
Fresh7512
Picked101
Done189
Total64319662
Error
0b
Counts
662 → 19
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(/.f64 1 (*.f64 (fma.f64 x x -1) -1/10))
0.4b
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
6.8b
(/.f64 10 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x))))
58.0b
10
7.2b
(/.f64 1 (fma.f64 x (*.f64 -1/10 x) 1/10))
1.2b
(*.f64 (*.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -2) 1/3) (/.f64 1 (cbrt.f64 (fma.f64 x x -1)))) -10)
0.5b
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
60.3b
(/.f64 (/.f64 -10 x) x)
0.6b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3)) -10)
22.9b
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
7.9b
(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
60.3b
(/.f64 -10 (*.f64 x x))
1.4b
(*.f64 (pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) 3) -10)
1.2b
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
0.3b
(/.f64 -10 (fma.f64 x x -1))
7.9b
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
0.3b
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
0.5b
(cbrt.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)))
Compiler

Compiled 298 to 229 computations (23.2% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(/.f64 1 (fma.f64 x x -1))
0.4b
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
Compiler

Compiled 23 to 16 computations (30.4% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
0.0ms
x
@inf
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
0.0ms
x
@-inf
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
689×pow1_binary64
645×add-log-exp_binary64
644×log1p-expm1-u_binary64
644×expm1-log1p-u_binary64
634×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0811
11638
218328
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) -10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -2)) (*.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) -10))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1/2) (*.f64 (pow.f64 (fma.f64 x x -1) -1/2) -10))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -1 (fma.f64 x x -1)) 10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (/.f64 1 (fma.f64 x x -1)) 1/10))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -2) 100))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))))))

simplify47.0ms (0.6%)

Algorithm
egg-herbie
Rules
677×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
354×distribute-neg-frac_binary64
255×associate-/r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
038226
1112210
2338206
31162203
44868200
Stop Event
node limit
Counts
35 → 38
Calls
Call 1
Inputs
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(*.f64 10 (fma.f64 x x 1))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (fma.f64 10 (*.f64 x x) 10) (*.f64 10 (pow.f64 x 4)))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 4) 10))
(*.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (fma.f64 10 (pow.f64 x 4) 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 10 (pow.f64 x 4) 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 10 (pow.f64 x 4) 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 8))) (/.f64 -10 (pow.f64 x 6))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(-.f64 (/.f64 -10 (*.f64 x x)) (/.f64 10 (pow.f64 x 4)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 8))) (/.f64 -10 (pow.f64 x 6))))

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
0.3b
(/.f64 1 (-.f64 1 (*.f64 x x)))
7.9b
(-.f64 1 (*.f64 x x))
Compiler

Compiled 28 to 16 computations (42.9% saved)

series3.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
0.0ms
x
@0
(/.f64 1 (-.f64 1 (*.f64 x x)))
0.0ms
x
@inf
(/.f64 1 (-.f64 1 (*.f64 x x)))
0.0ms
x
@-inf
(/.f64 1 (-.f64 1 (*.f64 x x)))
0.0ms
x
@inf
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)

rewrite55.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
801×pow1_binary64
751×add-log-exp_binary64
750×log1p-expm1-u_binary64
750×expm1-log1p-u_binary64
736×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
117420
2214020
Stop Event
node limit
Counts
2 → 38
Calls
Call 1
Inputs
(/.f64 1 (-.f64 1 (*.f64 x x)))
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (-.f64 1 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (-.f64 1 (*.f64 x x)))) (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x x)) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 1 (*.f64 x x)) -2)) (/.f64 1 (cbrt.f64 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 1 (*.f64 x x)) -1/2) (pow.f64 (-.f64 1 (*.f64 x x)) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 2) -1) (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) -1) (pow.f64 (sqrt.f64 (-.f64 1 (*.f64 x x))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (pow.f64 x 6))) (+.f64 1 (+.f64 (*.f64 x x) (pow.f64 x 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 1 (pow.f64 x 4))) (+.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 1 (*.f64 x x)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (-.f64 1 (*.f64 x x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 1 (*.f64 x x)) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 1 (*.f64 x x)) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log1p.f64 (*.f64 x (neg.f64 x)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 10 (-.f64 1 (*.f64 x x)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 10 (-.f64 1 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (neg.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 10 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x x))) 2)) (cbrt.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 10 (sqrt.f64 (-.f64 1 (*.f64 x x)))) (sqrt.f64 (-.f64 1 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (-.f64 1 (*.f64 x x)) -2) 100))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 10 (-.f64 1 (*.f64 x x))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 10 (-.f64 1 (*.f64 x x)))))))))

simplify61.0ms (0.8%)

Algorithm
egg-herbie
Rules
824×fma-def_binary64
432×sub-neg_binary64
413×unswap-sqr_binary64
378×distribute-neg-frac_binary64
303×associate-/r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054442
1158408
2481404
31547401
45565401
Stop Event
node limit
Counts
62 → 68
Calls
Call 1
Inputs
1
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (+.f64 (pow.f64 x 2) (pow.f64 x 4)))
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (pow.f64 x 6))))
(/.f64 -1 (pow.f64 x 2))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))))
(/.f64 -1 (pow.f64 x 2))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
1
(+.f64 1 (pow.f64 x 2))
(+.f64 1 (*.f64 x x))
(fma.f64 x x 1)
(+.f64 1 (+.f64 (pow.f64 x 2) (pow.f64 x 4)))
(+.f64 1 (+.f64 (*.f64 x x) (pow.f64 x 4)))
(+.f64 (fma.f64 x x 1) (pow.f64 x 4))
(+.f64 1 (fma.f64 x x (pow.f64 x 4)))
(+.f64 1 (+.f64 (pow.f64 x 2) (+.f64 (pow.f64 x 4) (pow.f64 x 6))))
(+.f64 1 (+.f64 (*.f64 x x) (+.f64 (pow.f64 x 4) (pow.f64 x 6))))
(+.f64 (fma.f64 x x 1) (+.f64 (pow.f64 x 4) (pow.f64 x 6)))
(+.f64 1 (+.f64 (fma.f64 x x (pow.f64 x 4)) (pow.f64 x 6)))
(+.f64 1 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))))
(/.f64 -1 (pow.f64 x 2))
(/.f64 -1 (*.f64 x x))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6)))))
(-.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (/.f64 -1 (pow.f64 x 6)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6))) (/.f64 1 (pow.f64 x 8)))))
(-.f64 (/.f64 -1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (/.f64 -1 (pow.f64 x 6))) (/.f64 -1 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (-.f64 (/.f64 -1 (pow.f64 x 6)) (/.f64 1 (pow.f64 x 8))))
(/.f64 -1 (pow.f64 x 2))
(/.f64 -1 (*.f64 x x))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6)))))
(-.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (/.f64 -1 (pow.f64 x 6)))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))))
(neg.f64 (+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 6))) (/.f64 1 (pow.f64 x 8)))))
(-.f64 (/.f64 -1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (/.f64 -1 (pow.f64 x 6))) (/.f64 -1 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -1 (pow.f64 x 4)) (/.f64 -1 (*.f64 x x))) (-.f64 (/.f64 -1 (pow.f64 x 6)) (/.f64 1 (pow.f64 x 8))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(*.f64 (fma.f64 x x 1) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (fma.f64 10 (*.f64 x x) 10) (*.f64 (pow.f64 x 4) 10))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 4) 10 10))
(+.f64 10 (*.f64 10 (fma.f64 x x (pow.f64 x 4))))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 (pow.f64 x 4) 10))))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 6) 10 (fma.f64 (pow.f64 x 4) 10 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) 10 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 (/.f64 10 x) x) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 (/.f64 10 x) x) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 (/.f64 10 x) x) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 (/.f64 10 x) x) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (fma.f64 x (*.f64 -1/10 x) 1/10))
0.4b
(*.f64 -1/10 x)
7.6b
(fma.f64 x (*.f64 -1/10 x) 1/10)
Compiler

Compiled 22 to 16 computations (27.3% saved)

series4.0ms (0.1%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(fma.f64 x (*.f64 -1/10 x) 1/10)
1.0ms
x
@inf
(fma.f64 x (*.f64 -1/10 x) 1/10)
1.0ms
x
@-inf
(fma.f64 x (*.f64 -1/10 x) 1/10)
0.0ms
x
@-inf
(/.f64 1 (fma.f64 x (*.f64 -1/10 x) 1/10))
0.0ms
x
@inf
(/.f64 1 (fma.f64 x (*.f64 -1/10 x) 1/10))

rewrite59.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
670×pow1_binary64
622×add-log-exp_binary64
622×log1p-expm1-u_binary64
622×expm1-log1p-u_binary64
610×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0823
116023
2173023
Stop Event
node limit
Counts
3 → 57
Calls
Call 1
Inputs
(fma.f64 x (*.f64 -1/10 x) 1/10)
(*.f64 -1/10 x)
(/.f64 1 (fma.f64 x (*.f64 -1/10 x) 1/10))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 1/10 (*.f64 (*.f64 x x) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 x x) -1/10) 1/10)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 x x) -1/10) 1) 1/10)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 x (*.f64 x -1/10) 1/10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) 2) (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) (sqrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 x (*.f64 x -1/10) 1/10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) 2) (/.f64 1 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 x x) -1/10) 3) 1/1000) (+.f64 (*.f64 (*.f64 (*.f64 x x) -1/10) (*.f64 (*.f64 x x) -1/10)) (-.f64 1/100 (*.f64 (*.f64 (*.f64 x x) -1/10) 1/10))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) -1/10) (*.f64 (*.f64 x x) -1/10)) 1/100) (-.f64 (*.f64 (*.f64 x x) -1/10) 1/10))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 x (*.f64 x -1/10) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 x (*.f64 x -1/10) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 x (*.f64 x -1/10) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 x (*.f64 x -1/10) 1/10)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 x -1/10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 x -1/10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 x -1/10) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 x -1/10)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 x -1/10)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/100 (*.f64 x x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 x) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 x -1/10) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 x -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 x -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 x -1/10)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10))) (cbrt.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -2)) (/.f64 1 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -1/2) (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (fma.f64 x (*.f64 x -1/10) 1/10))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) -1) (pow.f64 (sqrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x (*.f64 x -1/10) 1/10))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x (*.f64 x -1/10) 1/10) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 x (*.f64 x -1/10) 1/10))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (fma.f64 x (*.f64 x -1/10) 1/10))))))))

simplify50.0ms (0.7%)

Algorithm
egg-herbie
Rules
679×fma-def_binary64
437×distribute-rgt-out_binary64
413×unswap-sqr_binary64
358×distribute-neg-frac_binary64
255×associate-*l*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
042331
1118297
2350293
31185290
44932287
Stop Event
node limit
Counts
81 → 77
Calls
Call 1
Inputs
1/10
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(*.f64 -1/10 (pow.f64 x 2))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(*.f64 -1/10 (pow.f64 x 2))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
1/10
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(*.f64 -1/10 (pow.f64 x 2))
(*.f64 -1/10 (*.f64 x x))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(*.f64 -1/10 (pow.f64 x 2))
(*.f64 -1/10 (*.f64 x x))
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
(+.f64 1/10 (*.f64 -1/10 (pow.f64 x 2)))
(+.f64 1/10 (*.f64 -1/10 (*.f64 x x)))
(fma.f64 -1/10 (*.f64 x x) 1/10)
(fma.f64 x (*.f64 -1/10 x) 1/10)
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(fma.f64 x (*.f64 x 10) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 10 (*.f64 x x) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 4) 10))
(*.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x 1)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 4)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 (*.f64 x x) 10 (fma.f64 10 (pow.f64 x 6) (fma.f64 10 (pow.f64 x 4) 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 10 (pow.f64 x 4) 10))
(fma.f64 10 (+.f64 (pow.f64 x 4) (fma.f64 x x (pow.f64 x 6))) 10)
(*.f64 (fma.f64 x x 1) (fma.f64 10 (pow.f64 x 4) 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(/.f64 (/.f64 -10 x) x)
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (/.f64 -10 (pow.f64 x 6)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (+.f64 (/.f64 10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6))) (/.f64 -10 (pow.f64 x 8)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 (/.f64 -10 x) x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8))))

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3)) -10)
0.5b
(cbrt.f64 (pow.f64 (fma.f64 x x -1) -3))
0.7b
(pow.f64 (fma.f64 x x -1) -3)
Compiler

Compiled 31 to 22 computations (29% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(pow.f64 (fma.f64 x x -1) -3)
0.0ms
x
@inf
(pow.f64 (fma.f64 x x -1) -3)
0.0ms
x
@-inf
(pow.f64 (fma.f64 x x -1) -3)
0.0ms
x
@inf
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3)) -10)
0.0ms
x
@-inf
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3)) -10)

rewrite67.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
747×pow1_binary64
702×add-log-exp_binary64
702×log1p-expm1-u_binary64
702×expm1-log1p-u_binary64
687×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0931
118027
2190927
Stop Event
node limit
Counts
3 → 47
Calls
Call 1
Inputs
(pow.f64 (fma.f64 x x -1) -3)
(cbrt.f64 (pow.f64 (fma.f64 x x -1) -3))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3)) -10)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (fma.f64 x x -1) -3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 x x -1) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)) (pow.f64 (fma.f64 x x -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -3/2) (pow.f64 (fma.f64 x x -1) -3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2) -3) (pow.f64 (cbrt.f64 (fma.f64 x x -1)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -3) (pow.f64 (sqrt.f64 (fma.f64 x x -1)) -3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)) 1) (pow.f64 (fma.f64 x x -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)))) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3/2))) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 x x -1) -6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 x x -1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 x x -1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 x x -1) -3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 -3 (log.f64 (fma.f64 x x -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (pow.f64 (fma.f64 x x -1) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (fma.f64 x x -1) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (fma.f64 x x -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -1)) (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6))) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3/2)) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (pow.f64 (fma.f64 x x -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)) 1/3) (cbrt.f64 (pow.f64 (fma.f64 x x -1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -3/2) 1/3) (pow.f64 (pow.f64 (fma.f64 x x -1) -3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 x x -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 x x -1) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (fma.f64 x x -1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (fma.f64 x x -1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (fma.f64 x x -1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (fma.f64 x x -1) -1)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 100 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 -10) (pow.f64 (fma.f64 x x -1) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 (fma.f64 x x -1) -1) -10)))))))

simplify71.0ms (1%)

Algorithm
egg-herbie
Rules
565×fma-neg_binary64
541×associate-*l*_binary64
452×associate-/r*_binary64
415×associate-*r*_binary64
314×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
076652
1219626
2628616
32032616
47853616
Stop Event
node limit
Counts
83 → 90
Calls
Call 1
Inputs
-1
(-.f64 (*.f64 -3 (pow.f64 x 2)) 1)
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (*.f64 -3 (pow.f64 x 2))) 1)
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (+.f64 (*.f64 -3 (pow.f64 x 2)) (*.f64 -10 (pow.f64 x 6)))) 1)
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(/.f64 1 (pow.f64 x 2))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(/.f64 -10 (pow.f64 x 2))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
Outputs
-1
(-.f64 (*.f64 -3 (pow.f64 x 2)) 1)
(fma.f64 -3 (*.f64 x x) -1)
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (*.f64 -3 (pow.f64 x 2))) 1)
(+.f64 (fma.f64 -6 (pow.f64 x 4) (*.f64 -3 (*.f64 x x))) -1)
(fma.f64 -6 (pow.f64 x 4) (fma.f64 -3 (*.f64 x x) -1))
(fma.f64 -3 (*.f64 x x) (fma.f64 -6 (pow.f64 x 4) -1))
(-.f64 (+.f64 (*.f64 -6 (pow.f64 x 4)) (+.f64 (*.f64 -3 (pow.f64 x 2)) (*.f64 -10 (pow.f64 x 6)))) 1)
(+.f64 (fma.f64 -6 (pow.f64 x 4) (fma.f64 -3 (*.f64 x x) (*.f64 -10 (pow.f64 x 6)))) -1)
(fma.f64 -6 (pow.f64 x 4) (+.f64 (*.f64 -10 (pow.f64 x 6)) (fma.f64 -3 (*.f64 x x) -1)))
(fma.f64 -6 (pow.f64 x 4) (fma.f64 -3 (*.f64 x x) (fma.f64 -10 (pow.f64 x 6) -1)))
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))) (+.f64 (/.f64 6 (pow.f64 x 10)) (/.f64 10 (pow.f64 x 12))))
(+.f64 (+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 10 (pow.f64 x 12)))))
(/.f64 1 (pow.f64 x 6))
(+.f64 (*.f64 3 (/.f64 1 (pow.f64 x 8))) (/.f64 1 (pow.f64 x 6)))
(+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))
(+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8)))))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10))))
(+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 12))) (+.f64 (*.f64 6 (/.f64 1 (pow.f64 x 10))) (+.f64 (/.f64 1 (pow.f64 x 6)) (*.f64 3 (/.f64 1 (pow.f64 x 8))))))
(+.f64 (+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 3 (pow.f64 x 8))) (+.f64 (/.f64 6 (pow.f64 x 10)) (/.f64 10 (pow.f64 x 12))))
(+.f64 (+.f64 (/.f64 3 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 6 (pow.f64 x 10)))) (/.f64 10 (pow.f64 x 12)))
(+.f64 (/.f64 6 (pow.f64 x 10)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 3 (pow.f64 x 8)) (/.f64 10 (pow.f64 x 12)))))
-1
(-.f64 (*.f64 -1 (pow.f64 x 2)) 1)
(fma.f64 -1 (*.f64 x x) -1)
(-.f64 -1 (*.f64 x x))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4))) 1)
(+.f64 (fma.f64 -1 (*.f64 x x) (neg.f64 (pow.f64 x 4))) -1)
(fma.f64 -1 (fma.f64 x x (pow.f64 x 4)) -1)
(-.f64 -1 (fma.f64 x x (pow.f64 x 4)))
(-.f64 (+.f64 (*.f64 -1 (pow.f64 x 6)) (+.f64 (*.f64 -1 (pow.f64 x 2)) (*.f64 -1 (pow.f64 x 4)))) 1)
(+.f64 (fma.f64 -1 (pow.f64 x 6) (fma.f64 -1 (*.f64 x x) (neg.f64 (pow.f64 x 4)))) -1)
(fma.f64 -1 (pow.f64 x 6) (fma.f64 -1 (fma.f64 x x (pow.f64 x 4)) -1))
(-.f64 (-.f64 -1 (fma.f64 x x (pow.f64 x 4))) (pow.f64 x 6))
(-.f64 -1 (+.f64 (pow.f64 x 6) (fma.f64 x x (pow.f64 x 4))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(/.f64 1 (pow.f64 x 2))
(/.f64 1 (*.f64 x x))
(+.f64 (/.f64 1 (pow.f64 x 4)) (/.f64 1 (pow.f64 x 2)))
(+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 2)) (/.f64 1 (pow.f64 x 6)))))
(+.f64 (/.f64 1 (pow.f64 x 4)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (/.f64 1 (*.f64 x x)))))
(+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (*.f64 x x)) (+.f64 (/.f64 1 (pow.f64 x 8)) (/.f64 1 (pow.f64 x 4)))))
(+.f64 (/.f64 1 (pow.f64 x 6)) (+.f64 (/.f64 1 (pow.f64 x 8)) (+.f64 (/.f64 1 (*.f64 x x)) (/.f64 1 (pow.f64 x 4)))))
10
(+.f64 (*.f64 10 (pow.f64 x 2)) 10)
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x x) 10 10)
(*.f64 10 (fma.f64 x x 1))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 10 (*.f64 10 (pow.f64 x 4))))
(+.f64 (fma.f64 10 (*.f64 x x) 10) (*.f64 (pow.f64 x 4) 10))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 4) 10 10))
(+.f64 10 (*.f64 10 (fma.f64 x x (pow.f64 x 4))))
(+.f64 (*.f64 10 (pow.f64 x 2)) (+.f64 (*.f64 10 (pow.f64 x 6)) (+.f64 10 (*.f64 10 (pow.f64 x 4)))))
(fma.f64 10 (*.f64 x x) (fma.f64 10 (pow.f64 x 6) (+.f64 10 (*.f64 (pow.f64 x 4) 10))))
(fma.f64 (*.f64 x x) 10 (fma.f64 (pow.f64 x 6) 10 (fma.f64 (pow.f64 x 4) 10 10)))
(fma.f64 10 (fma.f64 x x (pow.f64 x 6)) (fma.f64 (pow.f64 x 4) 10 10))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 6))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (pow.f64 x 6)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6)))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8))))
(/.f64 -10 (pow.f64 x 2))
(/.f64 -10 (*.f64 x x))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 10 (*.f64 x x))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x)))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (/.f64 -10 (pow.f64 x 6)))
(-.f64 (/.f64 -10 (*.f64 x x)) (-.f64 (/.f64 10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 6))))
(neg.f64 (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 4))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 8))) (+.f64 (*.f64 10 (/.f64 1 (pow.f64 x 6))) (*.f64 10 (/.f64 1 (pow.f64 x 2)))))))
(neg.f64 (+.f64 (/.f64 10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 6))) (/.f64 10 (pow.f64 x 8)))))
(-.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 10 (pow.f64 x 6)) (+.f64 (/.f64 10 (*.f64 x x)) (/.f64 10 (pow.f64 x 8)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 8)) (/.f64 -10 (pow.f64 x 6)))))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (*.f64 x x))) (-.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 10 (pow.f64 x 8))))

localize14.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))
0.3b
(/.f64 -10 (fma.f64 x x -1))
0.4b
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
Compiler

Compiled 31 to 22 computations (29% saved)

series6.0ms (0.1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
x
@0
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
1.0ms
x
@inf
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
1.0ms
x
@-inf
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
1.0ms
x
@inf
(sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))
1.0ms
x
@0
(sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))

rewrite69.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
707×pow1_binary64
662×add-log-exp_binary64
662×log1p-expm1-u_binary64
662×expm1-log1p-u_binary64
649×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0918
118818
2182918
Stop Event
node limit
Counts
2 → 57
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
(sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -10 (/.f64 1 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 -10 (fma.f64 x x -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 -10 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4) (*.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 10 (/.f64 1 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 x x -1)) -10)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4)) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1)))) (cbrt.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (fma.f64 x x -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -10 (neg.f64 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 -1 (neg.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (*.f64 (fma.f64 x x -1) -1/10))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (fma.f64 x x -1) -1/10) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 10 (neg.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -10 (sqrt.f64 (fma.f64 x x -1))) (sqrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 -10 (pow.f64 (cbrt.f64 (fma.f64 x x -1)) 2)) (cbrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 -10) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))) (sqrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) (sqrt.f64 -10)) (sqrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) (cbrt.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))) (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -10) (sqrt.f64 (/.f64 1 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -10) (pow.f64 (/.f64 1 (fma.f64 x x -1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 -10) (/.f64 1 (sqrt.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4) (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)) (sqrt.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2) 1/2) (pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (sqrt.f64 (*.f64 (fma.f64 x x -1) -1/10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (sqrt.f64 (fma.f64 x x -1)) (sqrt.f64 -10)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 -10) (sqrt.f64 (fma.f64 x x -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 10) (sqrt.f64 (neg.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (sqrt.f64 -10)) (neg.f64 (sqrt.f64 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1)))))))))

simplify56.0ms (0.8%)

Algorithm
egg-herbie
Rules
519×distribute-rgt-in_binary64
409×fma-def_binary64
338×fma-neg_binary64
323×associate-*r*_binary64
284×distribute-rgt-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0110964
1324675
21123643
34861595
Stop Event
node limit
Counts
81 → 95
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -10) 2))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)))))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -1) 2))) 1))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -10) 2)) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -10) 2))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))))))
(/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (*.f64 5/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))))
(/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (*.f64 5/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 -10))
(+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -10) (pow.f64 x 2)) (sqrt.f64 -1))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -10) (pow.f64 x 4))) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -10) (pow.f64 x 2)) (sqrt.f64 -1)))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -10) (pow.f64 x 4))) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -10) (pow.f64 x 2)) (sqrt.f64 -1))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -1) 2))) 1) (*.f64 (sqrt.f64 -10) (pow.f64 x 6))) (sqrt.f64 -1))))))
(/.f64 (sqrt.f64 -10) x)
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))) (/.f64 (sqrt.f64 -10) x))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))) (+.f64 (/.f64 (sqrt.f64 -10) x) (*.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)))))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))) (+.f64 (*.f64 5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7))) (+.f64 (/.f64 (sqrt.f64 -10) x) (*.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))))))
(*.f64 -1 (/.f64 (sqrt.f64 -10) x))
(+.f64 (*.f64 -1 (/.f64 (sqrt.f64 -10) x)) (*.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))))
(+.f64 (*.f64 -1 (/.f64 (sqrt.f64 -10) x)) (+.f64 (*.f64 -3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))) (*.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)))))
(+.f64 (*.f64 -5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7))) (+.f64 (*.f64 -1 (/.f64 (sqrt.f64 -10) x)) (+.f64 (*.f64 -3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))) (*.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))))))
Outputs
(*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2))
10
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2) (neg.f64 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x))))
(fma.f64 10 (*.f64 x x) 10)
(fma.f64 (*.f64 x 10) x 10)
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -10) 2))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)))))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2) (fma.f64 (fma.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 4) (neg.f64 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x)))))
(+.f64 (fma.f64 (+.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) 10) 5/2) (pow.f64 x 4) (*.f64 (*.f64 x x) 10)) 10)
(fma.f64 (*.f64 x x) 10 (fma.f64 (-.f64 25/2 (*.f64 -10 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2))) (pow.f64 x 4) 10))
(fma.f64 (+.f64 25/2 (*.f64 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2) 10)) (pow.f64 x 4) (fma.f64 (*.f64 x 10) x 10))
(+.f64 (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -1) 2))) 1))) (*.f64 1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -10) 2)) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -10) 2))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 4)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))))))
(fma.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2) (fma.f64 (fma.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -1) 2)) 1)) (*.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (/.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 (sqrt.f64 -10) 2))))) (pow.f64 x 6) (fma.f64 (fma.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 (sqrt.f64 -1) 2)))) (pow.f64 x 4) (neg.f64 (*.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x))))))
(+.f64 (fma.f64 (fma.f64 10 (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) -1) 1) (*.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) 1/10))) (pow.f64 x 6) (fma.f64 (+.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) 10) 5/2) (pow.f64 x 4) (*.f64 (*.f64 x x) 10))) 10)
(fma.f64 (-.f64 (-.f64 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) 1/5) (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) 1/5)) -10) (pow.f64 x 6) (fma.f64 (*.f64 x x) 10 (fma.f64 (-.f64 25/2 (*.f64 -10 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2))) (pow.f64 x 4) 10)))
(fma.f64 (pow.f64 x 6) 10 (fma.f64 (+.f64 25/2 (*.f64 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2) 10)) (pow.f64 x 4) (fma.f64 (*.f64 x 10) x 10)))
(/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))
(/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x))
(/.f64 -10 (*.f64 x x))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)))
(+.f64 (/.f64 -10 (*.f64 x x)) (/.f64 -10 (pow.f64 x 4)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))
(+.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4))) (*.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6)) 1))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 4))))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 6))))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (*.f64 5/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (fma.f64 5/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8)) (fma.f64 3/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8)) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6)) 1)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 -10 (*.f64 x x)) (/.f64 -10 (pow.f64 x 6))) (*.f64 (/.f64 -10 (pow.f64 x 8)) 1)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8)))) (/.f64 -10 (*.f64 x x)))
(+.f64 (+.f64 (/.f64 -10 (*.f64 x x)) (/.f64 -10 (pow.f64 x 6))) (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 8))))
(/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2))
(/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x))
(/.f64 -10 (*.f64 x x))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)))
(+.f64 (/.f64 -10 (*.f64 x x)) (/.f64 -10 (pow.f64 x 4)))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))
(+.f64 (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x)) (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4))) (*.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6)) 1))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 4))))
(+.f64 (/.f64 -10 (*.f64 x x)) (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 6))))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (+.f64 (*.f64 5/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (*.f64 3/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8))) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 2)) (+.f64 (*.f64 3/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))) (*.f64 1/4 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6))))))))
(+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 4)) (fma.f64 5/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8)) (fma.f64 3/8 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 8)) (+.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (*.f64 x x)) (*.f64 (/.f64 (pow.f64 (sqrt.f64 -10) 2) (pow.f64 x 6)) 1)))))
(+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (+.f64 (/.f64 -10 (*.f64 x x)) (/.f64 -10 (pow.f64 x 6))) (*.f64 (/.f64 -10 (pow.f64 x 8)) 1)))
(+.f64 (+.f64 (/.f64 -10 (pow.f64 x 4)) (+.f64 (/.f64 -10 (pow.f64 x 6)) (/.f64 -10 (pow.f64 x 8)))) (/.f64 -10 (*.f64 x x)))
(+.f64 (+.f64 (/.f64 -10 (*.f64 x x)) (/.f64 -10 (pow.f64 x 6))) (+.f64 (/.f64 -10 (pow.f64 x 4)) (/.f64 -10 (pow.f64 x 8))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 -10))
(+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -10) (pow.f64 x 2)) (sqrt.f64 -1))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (/.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -10) (*.f64 x x))) (sqrt.f64 -1)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 -10) (sqrt.f64 -1)) (*.f64 x x))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (*.f64 (/.f64 (*.f64 (sqrt.f64 -10) -1/2) (sqrt.f64 -1)) (*.f64 x x)))
(fma.f64 -1/2 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 -10) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 -10)))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -10) (pow.f64 x 4))) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -10) (pow.f64 x 2)) (sqrt.f64 -1)))))
(fma.f64 -1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (/.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 -10) (pow.f64 x 4)))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (/.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -10) (*.f64 x x))) (sqrt.f64 -1))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -10) (pow.f64 x 4))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 -10) (sqrt.f64 -1)) (*.f64 x x)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (*.f64 -1/2 (+.f64 (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 -10) (sqrt.f64 -1))) (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (/.f64 (/.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (pow.f64 x 4))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (*.f64 (/.f64 -1/2 (sqrt.f64 -1)) (+.f64 (*.f64 (sqrt.f64 -10) (*.f64 x x)) (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -10) (pow.f64 x 4))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -10) (pow.f64 x 4))) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -10) (pow.f64 x 2)) (sqrt.f64 -1))) (*.f64 -1/2 (/.f64 (*.f64 (+.f64 (*.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -1) 2))) 1) (*.f64 (sqrt.f64 -10) (pow.f64 x 6))) (sqrt.f64 -1))))))
(fma.f64 -1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (/.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 -10) (pow.f64 x 4)))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (*.f64 -1/2 (+.f64 (/.f64 (sqrt.f64 -10) (/.f64 (sqrt.f64 -1) (*.f64 x x))) (/.f64 (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (pow.f64 (sqrt.f64 -1) 2)) 1) (/.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 -10) (pow.f64 x 6))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -10) (pow.f64 x 4))) (fma.f64 -1/2 (+.f64 (*.f64 (/.f64 (sqrt.f64 -10) (sqrt.f64 -1)) (*.f64 x x)) (*.f64 (/.f64 (fma.f64 1/2 (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) -1) 1) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -10) (pow.f64 x 6)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 -10))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 -10) (*.f64 -1/2 (+.f64 (fma.f64 (/.f64 (+.f64 1 (+.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2) -1/2))) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -10) (pow.f64 x 6)) (*.f64 (*.f64 x x) (/.f64 (sqrt.f64 -10) (sqrt.f64 -1)))) (/.f64 (+.f64 1 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2)) (/.f64 (/.f64 (sqrt.f64 -1) (sqrt.f64 -10)) (pow.f64 x 4))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 -10) (+.f64 (/.f64 (*.f64 x x) (sqrt.f64 -1)) (*.f64 (/.f64 (+.f64 1 (+.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2) -1/2))) (sqrt.f64 -1)) (pow.f64 x 6)))) (*.f64 (sqrt.f64 -10) (+.f64 (sqrt.f64 -1) (/.f64 (+.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1/2 (sqrt.f64 -1)) 2) -1/2)) (/.f64 (sqrt.f64 -1) (pow.f64 x 4))))))
(/.f64 (sqrt.f64 -10) x)
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))) (/.f64 (sqrt.f64 -10) x))
(fma.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (/.f64 (sqrt.f64 -10) x))
(*.f64 (+.f64 (/.f64 1/2 (*.f64 x x)) 1) (/.f64 (sqrt.f64 -10) x))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))) (+.f64 (/.f64 (sqrt.f64 -10) x) (*.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)))))
(+.f64 (fma.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (/.f64 (sqrt.f64 -10) x)) (*.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))))
(fma.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (fma.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) (/.f64 (sqrt.f64 -10) x)))
(+.f64 (/.f64 (sqrt.f64 -10) x) (*.f64 (sqrt.f64 -10) (+.f64 (/.f64 1/2 (pow.f64 x 3)) (/.f64 3/8 (pow.f64 x 5)))))
(+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))) (+.f64 (*.f64 5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7))) (+.f64 (/.f64 (sqrt.f64 -10) x) (*.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))))))
(fma.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (fma.f64 5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7)) (+.f64 (/.f64 (sqrt.f64 -10) x) (*.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))))))
(fma.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (fma.f64 5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7)) (fma.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) (/.f64 (sqrt.f64 -10) x))))
(fma.f64 1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (fma.f64 3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) (fma.f64 5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7)) (/.f64 (sqrt.f64 -10) x))))
(+.f64 (*.f64 (+.f64 (/.f64 1/2 (*.f64 x x)) 1) (/.f64 (sqrt.f64 -10) x)) (*.f64 (sqrt.f64 -10) (+.f64 (/.f64 3/8 (pow.f64 x 5)) (/.f64 5/16 (pow.f64 x 7)))))
(*.f64 -1 (/.f64 (sqrt.f64 -10) x))
(neg.f64 (/.f64 (sqrt.f64 -10) x))
(/.f64 (neg.f64 (sqrt.f64 -10)) x)
(+.f64 (*.f64 -1 (/.f64 (sqrt.f64 -10) x)) (*.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))))
(fma.f64 -1 (/.f64 (sqrt.f64 -10) x) (/.f64 (*.f64 -1/2 (sqrt.f64 -10)) (pow.f64 x 3)))
(-.f64 (/.f64 (*.f64 (sqrt.f64 -10) -1/2) (pow.f64 x 3)) (/.f64 (sqrt.f64 -10) x))
(*.f64 (/.f64 (sqrt.f64 -10) x) (+.f64 -1 (/.f64 -1/2 (*.f64 x x))))
(*.f64 (sqrt.f64 -10) (+.f64 (/.f64 -1 x) (/.f64 -1/2 (pow.f64 x 3))))
(+.f64 (*.f64 -1 (/.f64 (sqrt.f64 -10) x)) (+.f64 (*.f64 -3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))) (*.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)))))
(fma.f64 -1 (/.f64 (sqrt.f64 -10) x) (fma.f64 -3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) (/.f64 (*.f64 -1/2 (sqrt.f64 -10)) (pow.f64 x 3))))
(-.f64 (fma.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (*.f64 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) -3/8)) (/.f64 (sqrt.f64 -10) x))
(fma.f64 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) -3/8 (*.f64 (/.f64 (sqrt.f64 -10) x) (+.f64 -1 (/.f64 -1/2 (*.f64 x x)))))
(-.f64 (*.f64 (sqrt.f64 -10) (+.f64 (/.f64 -1/2 (pow.f64 x 3)) (/.f64 -3/8 (pow.f64 x 5)))) (/.f64 (sqrt.f64 -10) x))
(+.f64 (*.f64 -5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7))) (+.f64 (*.f64 -1 (/.f64 (sqrt.f64 -10) x)) (+.f64 (*.f64 -3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5))) (*.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3))))))
(fma.f64 -5/16 (/.f64 (sqrt.f64 -10) (pow.f64 x 7)) (fma.f64 -1 (/.f64 (sqrt.f64 -10) x) (fma.f64 -3/8 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) (/.f64 (*.f64 -1/2 (sqrt.f64 -10)) (pow.f64 x 3)))))
(fma.f64 (/.f64 (sqrt.f64 -10) (pow.f64 x 7)) -5/16 (-.f64 (fma.f64 -1/2 (/.f64 (sqrt.f64 -10) (pow.f64 x 3)) (*.f64 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) -3/8)) (/.f64 (sqrt.f64 -10) x)))
(fma.f64 (/.f64 (sqrt.f64 -10) (pow.f64 x 7)) -5/16 (fma.f64 (/.f64 (sqrt.f64 -10) (pow.f64 x 5)) -3/8 (*.f64 (/.f64 (sqrt.f64 -10) x) (+.f64 -1 (/.f64 -1/2 (*.f64 x x))))))
(+.f64 (*.f64 (sqrt.f64 -10) (+.f64 (/.f64 -1/2 (pow.f64 x 3)) (/.f64 -5/16 (pow.f64 x 7)))) (*.f64 (sqrt.f64 -10) (+.f64 (/.f64 -1 x) (/.f64 -3/8 (pow.f64 x 5)))))

eval160.0ms (2.2%)

Compiler

Compiled 6579 to 5226 computations (20.6% saved)

prune75.0ms (1%)

Pruning

23 alts after pruning (10 fresh and 13 done)

PrunedKeptTotal
New4638471
Fresh426
Picked011
Done01212
Total46723490
Error
0b
Counts
490 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
0.5b
(/.f64 1 (*.f64 (fma.f64 x x -1) -1/10))
0.4b
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
0.5b
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
60.3b
(/.f64 (/.f64 -10 x) x)
1.4b
(/.f64 (pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) 3) -1/10)
0.6b
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3)) -10)
22.9b
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
7.9b
(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
0.3b
(/.f64 -10 (fma.f64 x x -1))
23.2b
(pow.f64 (pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4) 2) 2)
58.0b
10
7.9b
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
0.3b
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
7.9b
(*.f64 (/.f64 1 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x))))) 10)
6.8b
(/.f64 10 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x))))
8.1b
(/.f64 1 (+.f64 (*.f64 (*.f64 x x) -1/10) 1/10))
7.2b
(/.f64 1 (fma.f64 x (*.f64 -1/10 x) 1/10))
8.5b
(/.f64 1 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) -1/10) (*.f64 (*.f64 x x) -1/10)) 1/100) (-.f64 (*.f64 (*.f64 x x) -1/10) 1/10)))
60.3b
(/.f64 -10 (*.f64 x x))
7.9b
(/.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))
1.2b
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
0.5b
(cbrt.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)))
Compiler

Compiled 251 to 184 computations (26.7% saved)

regimes442.0ms (6.1%)

Counts
42 → 1
Calls
Call 1
Inputs
10
10
10
(/.f64 (/.f64 -10 x) x)
(/.f64 -10 (*.f64 x x))
(/.f64 10 (-.f64 1 (*.f64 x x)))
(/.f64 1 (+.f64 (*.f64 (*.f64 x x) -1/10) 1/10))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
(*.f64 (/.f64 1 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x))))) 10)
(/.f64 1 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) -1/10) (*.f64 (*.f64 x x) -1/10)) 1/100) (-.f64 (*.f64 (*.f64 x x) -1/10) 1/10)))
(/.f64 -10 (fma.f64 x x -1))
(/.f64 1 (*.f64 (fma.f64 x x -1) -1/10))
(/.f64 1 (fma.f64 x (*.f64 -1/10 x) 1/10))
(/.f64 (/.f64 1 (fma.f64 x x -1)) -1/10)
(/.f64 1 (*.f64 (fma.f64 x x -1) -1/10))
(/.f64 1 (/.f64 (fma.f64 x x -1) -10))
(*.f64 (/.f64 1 (fma.f64 x x -1)) -10)
(/.f64 10 (/.f64 (-.f64 1 (pow.f64 x 4)) (+.f64 1 (*.f64 x x))))
(pow.f64 (fma.f64 x (*.f64 -1/10 x) 1/10) -1)
(pow.f64 (*.f64 (fma.f64 x x -1) -1/10) -1)
(exp.f64 (log.f64 (/.f64 -10 (fma.f64 x x -1))))
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 x x -1) -3)) -10)
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
(*.f64 (exp.f64 (neg.f64 (log.f64 (fma.f64 x x -1)))) -10)
(*.f64 (sqrt.f64 (pow.f64 (fma.f64 x x -1) -2)) -10)
(cbrt.f64 (/.f64 -1000 (pow.f64 (fma.f64 x x -1) 3)))
(pow.f64 (sqrt.f64 (/.f64 -10 (fma.f64 x x -1))) 2)
(cbrt.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 3))
(pow.f64 (cbrt.f64 (/.f64 -10 (fma.f64 x x -1))) 3)
(*.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -1/2) 2) -10)
(/.f64 (pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) 3) -1/10)
(*.f64 (cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 x x -1)) 3)) -10)
(*.f64 (pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 x x -1))) 3) -10)
(pow.f64 (pow.f64 (pow.f64 (/.f64 -10 (fma.f64 x x -1)) 1/4) 2) 2)
(*.f64 (*.f64 (pow.f64 (pow.f64 (fma.f64 x x -1) -2) 1/3) (/.f64 1 (cbrt.f64 (fma.f64 x x -1)))) -10)
(/.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)) 2)) (cbrt.f64 (*.f64 (fma.f64 x x -1) -1/10)))
Outputs
(/.f64 -10 (fma.f64 x x -1))
Calls

7 calls:

224.0ms
(-.f64 1 (*.f64 x x))
62.0ms
x
48.0ms
(*.f64 x x)
26.0ms
(/.f64 10 (-.f64 1 (*.f64 x x)))
24.0ms
(/.f64 10 (-.f64 1 (*.f64 x x)))
Results
ErrorSegmentsBranch
0.3b1x
0.3b1(/.f64 10 (-.f64 1 (*.f64 x x)))
0.3b1(/.f64 10 (-.f64 1 (*.f64 x x)))
0.3b1(-.f64 1 (*.f64 x x))
0.3b1(-.f64 1 (*.f64 x x))
0.3b1(*.f64 x x)
0.3b1(*.f64 x x)
Compiler

Compiled 442 to 315 computations (28.7% saved)

regimes211.0ms (2.9%)

Counts
12 → 1
Calls
Call 1
Inputs
10
10
10
(/.f64 (/.f64 -10 x) x)
(/.f64 -10 (*.f64 x x))
(/.f64 10 (-.f64 1 (*.f64 x x)))
(/.f64 1 (+.f64 (*.f64 (*.f64 x x) -1/10) 1/10))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
(*.f64 (/.f64 1 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x))))) 10)
(/.f64 1 (/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) -1/10) (*.f64 (*.f64 x x) -1/10)) 1/100) (-.f64 (*.f64 (*.f64 x x) -1/10) 1/10)))
Outputs
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
Calls

7 calls:

145.0ms
(-.f64 1 (*.f64 x x))
13.0ms
(/.f64 10 (-.f64 1 (*.f64 x x)))
12.0ms
(/.f64 10 (-.f64 1 (*.f64 x x)))
12.0ms
x
11.0ms
(*.f64 x x)
Results
ErrorSegmentsBranch
7.9b1x
7.9b1(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b1(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b1(-.f64 1 (*.f64 x x))
7.9b1(-.f64 1 (*.f64 x x))
7.9b1(*.f64 x x)
7.9b1(*.f64 x x)
Compiler

Compiled 151 to 90 computations (40.4% saved)

regimes61.0ms (0.8%)

Counts
9 → 1
Calls
Call 1
Inputs
10
10
10
(/.f64 (/.f64 -10 x) x)
(/.f64 -10 (*.f64 x x))
(/.f64 10 (-.f64 1 (*.f64 x x)))
(/.f64 1 (+.f64 (*.f64 (*.f64 x x) -1/10) 1/10))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))
(*.f64 (/.f64 1 (-.f64 1 (*.f64 x x))) 10)
Outputs
(/.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))
Calls

5 calls:

17.0ms
(/.f64 10 (-.f64 1 (*.f64 x x)))
11.0ms
(*.f64 x x)
10.0ms
(/.f64 10 (-.f64 1 (*.f64 x x)))
10.0ms
x
10.0ms
(-.f64 1 (*.f64 x x))
Results
ErrorSegmentsBranch
7.9b1x
7.9b1(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b1(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b1(-.f64 1 (*.f64 x x))
7.9b1(*.f64 x x)
Compiler

Compiled 76 to 51 computations (32.9% saved)

regimes125.0ms (1.7%)

Counts
7 → 1
Calls
Call 1
Inputs
10
10
10
(/.f64 (/.f64 -10 x) x)
(/.f64 -10 (*.f64 x x))
(/.f64 10 (-.f64 1 (*.f64 x x)))
(/.f64 1 (+.f64 (*.f64 (*.f64 x x) -1/10) 1/10))
Outputs
(/.f64 10 (-.f64 1 (*.f64 x x)))
Calls

4 calls:

96.0ms
(-.f64 1 (*.f64 x x))
9.0ms
(/.f64 10 (-.f64 1 (*.f64 x x)))
8.0ms
x
8.0ms
(*.f64 x x)
Results
ErrorSegmentsBranch
7.9b1x
7.9b1(/.f64 10 (-.f64 1 (*.f64 x x)))
7.9b1(-.f64 1 (*.f64 x x))
7.9b1(*.f64 x x)
Compiler

Compiled 50 to 33 computations (34% saved)

regimes66.0ms (0.9%)

Counts
5 → 2
Calls
Call 1
Inputs
10
10
10
(/.f64 (/.f64 -10 x) x)
(/.f64 -10 (*.f64 x x))
Outputs
10
(/.f64 (/.f64 -10 x) x)
Calls

3 calls:

27.0ms
x
23.0ms
(*.f64 x x)
13.0ms
(*.f64 x x)
Results
ErrorSegmentsBranch
55.4b2x
55.4b2(*.f64 x x)
55.4b2(*.f64 x x)
Compiler

Compiled 24 to 15 computations (37.5% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999966904216034
1.0000412444468978
Compiler

Compiled 12 to 9 computations (25% saved)

regimes7.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
3 → 1
Calls
Call 1
Inputs
10
10
10
Outputs
10
Calls

1 calls:

6.0ms
x
Results
ErrorSegmentsBranch
58.0b1x
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify12.0ms (0.2%)

Algorithm
egg-herbie
Rules
17×cancel-sign-sub-inv_binary64
10×distribute-rgt-neg-in_binary64
+-commutative_binary64
sub-neg_binary64
distribute-lft-neg-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02580
14274
26574
38974
411174
511674
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(/.f64 -10 (fma.f64 x x -1))
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))
(/.f64 10 (-.f64 1 (*.f64 x x)))
(if (<=.f64 (*.f64 x x) 1) 10 (/.f64 (/.f64 -10 x) x))
10
Outputs
(/.f64 -10 (fma.f64 x x -1))
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x (neg.f64 x)) (*.f64 x (neg.f64 x)))) (-.f64 1 (*.f64 x (neg.f64 x)))))
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (neg.f64 (*.f64 x x)) (neg.f64 (*.f64 x x)))) (-.f64 1 (neg.f64 (*.f64 x x)))))
(/.f64 10 (/.f64 (-.f64 1 (*.f64 (*.f64 x x) (*.f64 x x))) (+.f64 1 (*.f64 x x))))
(/.f64 1 (/.f64 (-.f64 1 (*.f64 x x)) 10))
(/.f64 10 (-.f64 1 (*.f64 x x)))
(if (<=.f64 (*.f64 x x) 1) 10 (/.f64 (/.f64 -10 x) x))
10
Compiler

Compiled 58 to 40 computations (31% saved)

soundness469.0ms (6.5%)

Algorithm
egg-herbie
Rules
601×unsub-neg_binary64
586×distribute-rgt-out--_binary64
492×fma-neg_binary64
434×distribute-neg-in_binary64
409×distribute-rgt-in_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0710
11410
22110
33210
44910
5778
61318
73628
87388
915368
1028958
1143128
1252708
1355808
1458848
1559858
1660638
1763318
1872778
Stop Event
node limit
Compiler

Compiled 110 to 86 computations (21.8% saved)

end67.0ms (0.9%)

Compiler

Compiled 53 to 32 computations (39.6% saved)

Profiling

Loading profile data...