Details

Time bar (total: 22.9s)

analyze3.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
99.9%0%0.1%2
Compiler

Compiled 130 to 81 computations (37.7% saved)

sample3.7s (16.1%)

Infinites
47.6% of outputs are infinite.
Results
3.1s7733×body128valid
210.0ms194×body512valid
204.0ms168×body1024valid
101.0ms161×body256valid
Compiler

Compiled 389 to 242 computations (37.8% saved)

simplify30.0ms (0.1%)

Algorithm
egg-herbie
Rules
797×distribute-rgt-in_binary64
779×distribute-lft-in_binary64
203×fma-def_binary64
172×associate-+l+_binary64
168×distribute-lft-out_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
036164
1118155
2404150
31778138
45017138

prune10.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
17.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
20.5b
(+.f64 x1 (+.f64 (+.f64 (+.f64 (+.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 2 x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) (-.f64 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)) 3)) (*.f64 (*.f64 x1 x1) (-.f64 (*.f64 4 (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1))) 6))) (+.f64 (*.f64 x1 x1) 1)) (*.f64 (*.f64 (*.f64 3 x1) x1) (/.f64 (-.f64 (+.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))) (*.f64 (*.f64 x1 x1) x1)) x1) (*.f64 3 (/.f64 (-.f64 (-.f64 (*.f64 (*.f64 3 x1) x1) (*.f64 2 x2)) x1) (+.f64 (*.f64 x1 x1) 1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
Compiler

Compiled 679 to 420 computations (38.1% saved)

localize43.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.4b
(-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)
16.8b
(/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1))
16.8b
(/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))
16.8b
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))

series378.0ms (1.6%)

Counts
4 → 96
Calls

4 calls:

226.0ms
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))
71.0ms
(/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1))
47.0ms
(-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)
33.0ms
(/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))

rewrite64.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
115×add-sqr-sqrt_binary64
112×*-un-lft-identity_binary64
85×times-frac_binary64
78×add-cube-cbrt_binary64
57×prod-diff_binary64
Counts
4 → 184
Calls

4 calls:

20.0ms
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))
10.0ms
(-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)
7.0ms
(/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1))
5.0ms
(/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))

simplify203.0ms (0.9%)

Algorithm
egg-herbie
Rules
438×fma-neg_binary64
395×times-frac_binary64
354×fma-def_binary64
215×+-commutative_binary64
151×associate-*r*_binary64
Counts
280 → 350
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
044512228
111939890
240609709
350009709

prune2.8s (12%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New5119520
Fresh101
Picked101
Done000
Total5139522
Error
17.3b
Counts
522 → 9
Alt Table
StatusErrorProgram
28.9b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (*.f64 (fma.f64 8 (*.f64 x2 x2) (*.f64 x2 -12)) x1) x1)))))
42.0b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (/.f64 (fma.f64 (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (*.f64 (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (/.f64 (pow.f64 (fma.f64 x1 x1 1) 2) (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1)))) (*.f64 (pow.f64 x1 4) -36)) (fma.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (*.f64 6 (*.f64 x1 x1)))) x1)))))
17.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (+.f64 (+.f64 -3 (pow.f64 (/.f64 (cbrt.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1)) (cbrt.f64 (fma.f64 x1 x1 1))) 3)) 0)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
37.3b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (fma.f64 x1 (*.f64 x1 6) (*.f64 x1 -4)) x1)))))
35.6b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)) (/.f64 (fma.f64 x1 x1 1) (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)))) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
20.3b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (/.f64 (+.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (/.f64 (pow.f64 (fma.f64 x1 x1 1) 2) (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1))) -9) (+.f64 3 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1))))) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))) x1)))))
17.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3)))))) (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))))))) (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))))))) x1)))))
Compiler

Compiled 59606 to 36383 computations (39% saved)

localize43.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
16.1b
(/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))
16.8b
(/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1))
16.8b
(/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))
16.8b
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))

series308.0ms (1.3%)

Counts
2 → 48
Calls

2 calls:

265.0ms
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))
43.0ms
(/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))

rewrite30.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
20×*-un-lft-identity_binary64
20×add-sqr-sqrt_binary64
15×times-frac_binary64
12×add-cube-cbrt_binary64
associate-/l*_binary64
Counts
2 → 56
Calls

2 calls:

21.0ms
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))
5.0ms
(/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))

simplify146.0ms (0.6%)

Algorithm
egg-herbie
Rules
510×cancel-sign-sub-inv_binary64
501×fma-neg_binary64
293×sub-neg_binary64
290×fma-def_binary64
270×times-frac_binary64
Counts
104 → 126
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02785615
18555222
229425217
349875216
450925216

prune2.2s (9.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3691370
Fresh178
Picked011
Done000
Total3709379
Error
17.3b
Counts
379 → 9
Alt Table
StatusErrorProgram
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
28.9b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (*.f64 (fma.f64 8 (*.f64 x2 x2) (*.f64 x2 -12)) x1) x1)))))
42.0b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (/.f64 (fma.f64 (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (*.f64 (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (/.f64 (pow.f64 (fma.f64 x1 x1 1) 2) (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1)))) (*.f64 (pow.f64 x1 4) -36)) (fma.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (*.f64 6 (*.f64 x1 x1)))) x1)))))
17.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (+.f64 (+.f64 -3 (pow.f64 (/.f64 (cbrt.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1)) (cbrt.f64 (fma.f64 x1 x1 1))) 3)) 0)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
37.3b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (fma.f64 x1 (*.f64 x1 6) (*.f64 x1 -4)) x1)))))
35.6b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)) (/.f64 (fma.f64 x1 x1 1) (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)))) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))) x1)))))
17.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3)))))) (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))))))) (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))))))) x1)))))
Compiler

Compiled 43544 to 26711 computations (38.7% saved)

localize43.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
13.4b
(-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)
16.8b
(/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1))
16.8b
(/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))
16.8b
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))

series325.0ms (1.4%)

Counts
2 → 48
Calls

2 calls:

261.0ms
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))
64.0ms
(-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)

rewrite52.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
add-log-exp_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
cancel-sign-sub-inv_binary64
Counts
2 → 36
Calls

2 calls:

32.0ms
(+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6))
17.0ms
(-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)

simplify115.0ms (0.5%)

Algorithm
egg-herbie
Rules
524×cancel-sign-sub-inv_binary64
363×fma-neg_binary64
299×sub-neg_binary64
296×times-frac_binary64
289×fma-def_binary64
Counts
84 → 106
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02615446
18004720
228654689
349834689

prune2.1s (9.2%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New3500350
Fresh077
Picked011
Done011
Total3509359
Error
17.3b
Counts
359 → 9
Alt Table
StatusErrorProgram
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
28.9b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (*.f64 (fma.f64 8 (*.f64 x2 x2) (*.f64 x2 -12)) x1) x1)))))
42.0b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (/.f64 (fma.f64 (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (*.f64 (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (/.f64 (pow.f64 (fma.f64 x1 x1 1) 2) (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1)))) (*.f64 (pow.f64 x1 4) -36)) (fma.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))) (*.f64 6 (*.f64 x1 x1)))) x1)))))
17.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (+.f64 (+.f64 -3 (pow.f64 (/.f64 (cbrt.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1)) (cbrt.f64 (fma.f64 x1 x1 1))) 3)) 0)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
37.3b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (fma.f64 x1 (*.f64 x1 6) (*.f64 x1 -4)) x1)))))
35.6b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)) (/.f64 (fma.f64 x1 x1 1) (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)))) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))) x1)))))
17.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3)))))) (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))))))) (cbrt.f64 (fma.f64 (*.f64 x1 x1) -6 (*.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 x1 4) (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (fma.f64 x1 x1 1)) 3))))))) x1)))))
Compiler

Compiled 43048 to 26813 computations (37.7% saved)

localize36.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
3.1b
(+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6)))
13.8b
(+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))
16.8b
(/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1))
16.8b
(/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))

series304.0ms (1.3%)

Counts
2 → 48
Calls

2 calls:

231.0ms
(+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6)))
73.0ms
(+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))

rewrite67.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
34×frac-add_binary64
32×frac-times_binary64
31×flip-+_binary64
31×flip3-+_binary64
24×associate-*l/_binary64
Counts
2 → 64
Calls

2 calls:

29.0ms
(+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6)))
10.0ms
(+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))

simplify243.0ms (1.1%)

Algorithm
egg-herbie
Rules
623×fma-def_binary64
446×distribute-rgt-in_binary64
410×distribute-lft-in_binary64
277×fma-neg_binary64
195×*-commutative_binary64
Counts
112 → 150
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
039819911
1162412037
2476811987
3481111987

prune3.6s (15.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New5613564
Fresh336
Picked101
Done022
Total5658573
Error
17.3b
Counts
573 → 8
Alt Table
StatusErrorProgram
17.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (+.f64 (+.f64 -3 (pow.f64 (/.f64 (cbrt.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1)) (cbrt.f64 (fma.f64 x1 x1 1))) 3)) 0)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
26.5b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (fma.f64 6 (*.f64 x1 x1) (*.f64 x1 -4))) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (sqrt.f64 (hypot.f64 1 x1))) (sqrt.f64 (hypot.f64 1 x1)))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
28.9b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (*.f64 (fma.f64 8 (*.f64 x2 x2) (*.f64 x2 -12)) x1) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (*.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (/.f64 1 (fma.f64 x1 x1 1)))) (*.f64 (*.f64 x1 x1) -6))) x1)))))
35.6b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)) (/.f64 (fma.f64 x1 x1 1) (sqrt.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1)))) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) (+.f64 (*.f64 (+.f64 x1 x1) (-.f64 (*.f64 (/.f64 1 (hypot.f64 1 x1)) (/.f64 (-.f64 (fma.f64 x2 2 (*.f64 3 (*.f64 x1 x1))) x1) (hypot.f64 1 x1))) 3)) (*.f64 (*.f64 x1 x1) 4))) (*.f64 (*.f64 x1 x1) -6)) x1)))))
17.4b
(+.f64 x1 (fma.f64 3 (/.f64 (-.f64 (*.f64 x1 (*.f64 x1 3)) (fma.f64 2 x2 x1)) (fma.f64 x1 x1 1)) (fma.f64 x1 (*.f64 3 (*.f64 x1 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)))) (*.f64 (fma.f64 x1 x1 1) (+.f64 (+.f64 (*.f64 (*.f64 (+.f64 x1 x1) (-.f64 (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1)) 3)) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 (cbrt.f64 (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))) (cbrt.f64 (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6)))) (cbrt.f64 (+.f64 (*.f64 (*.f64 (*.f64 x1 x1) 4) (/.f64 (-.f64 (fma.f64 x1 (*.f64 x1 3) (*.f64 2 x2)) x1) (fma.f64 x1 x1 1))) (*.f64 (*.f64 x1 x1) -6))))) x1)))))
Compiler

Compiled 80137 to 48598 computations (39.4% saved)

regimes5.6s (24.6%)

Accuracy

Total 0.1b remaining (0.5%)

Threshold costs 0.1b (0.5%)

Counts
485 → 1
Compiler

Compiled 208292 to 131408 computations (36.9% saved)

simplify21.0ms (0.1%)

Algorithm
egg-herbie
Rules
120×distribute-rgt-neg-in_binary64
103×cancel-sign-sub-inv_binary64
82×distribute-lft-neg-out_binary64
76×distribute-lft-neg-in_binary64
74×neg-sub0_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
045150
179150
2101148
3123148
4163148
5233148
6315148
7415148
8506148
9560148
10608148
11637148
12645148
13648148
14638148

end425.0ms (1.9%)

Compiler

Compiled 1078 to 675 computations (37.4% saved)

Profiling

Loading profile data...