Details

Time bar (total: 2.4s)

analyze462.0ms (19.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
12.5%87.4%0.1%7
18.7%81.1%0.1%8
31.2%68.6%0.1%9
40.6%50.7%8.7%10
48.4%42.1%9.5%11
54.2%35.5%10.3%12
59.1%25.9%15%13
63.9%20.9%15.3%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample934.0ms (39.4%)

Results
854.0ms8256×body128valid
65.0ms614×body128invalid
Compiler

Compiled 26 to 18 computations (30.8% saved)

preprocess64.0ms (2.7%)

Algorithm
egg-herbie
Rules
1322×fma-neg_binary64
1043×fma-def_binary64
254×unsub-neg_binary64
236×distribute-rgt-in_binary64
145×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02152
14744
211644
327644
466644
5126844
6242844
7386844
8407444
9411944
10411944
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 y (*.f64 (*.f64 (-.f64 x y) 6) z))
(+.f64 z (*.f64 (*.f64 (-.f64 y z) 6) x))
(+.f64 x (*.f64 (*.f64 (-.f64 z x) 6) y))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
(fma.f64 (-.f64 y x) (*.f64 6 z) x)
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
(+.f64 y (*.f64 (*.f64 (-.f64 x y) 6) z))
(+.f64 y (*.f64 z (*.f64 6 (-.f64 x y))))
(fma.f64 z (*.f64 6 (-.f64 x y)) y)
(fma.f64 6 (*.f64 z (-.f64 x y)) y)
(fma.f64 (-.f64 x y) (*.f64 6 z) y)
(fma.f64 z (*.f64 (-.f64 y x) -6) y)
(fma.f64 (-.f64 y x) (*.f64 z -6) y)
(+.f64 z (*.f64 (*.f64 (-.f64 y z) 6) x))
(+.f64 z (*.f64 x (*.f64 6 (-.f64 y z))))
(fma.f64 x (*.f64 6 (-.f64 y z)) z)
(fma.f64 6 (*.f64 x (-.f64 y z)) z)
(+.f64 x (*.f64 (*.f64 (-.f64 z x) 6) y))
(+.f64 x (*.f64 y (*.f64 6 (-.f64 z x))))
(fma.f64 y (*.f64 6 (-.f64 z x)) x)
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify39.0ms (1.7%)

Algorithm
egg-herbie
Rules
780×fma-def_binary64
515×fma-neg_binary64
141×cancel-sign-sub-inv_binary64
122×distribute-rgt-in_binary64
106×unsub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0913
11611
23711
39311
421811
541511
660111
795211
8157011
9215711
10261411
11267811
12268011
13268011
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
Outputs
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
(+.f64 x (*.f64 (-.f64 y x) (*.f64 6 z)))
(fma.f64 (-.f64 y x) (*.f64 6 z) x)
(fma.f64 6 (*.f64 (-.f64 y x) z) x)

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.4b
(+.f64 x (*.f64 (*.f64 (-.f64 y x) 6) z))
0.2b
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
Compiler

Compiled 66 to 41 computations (37.9% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 y x) z)
0.2b
(fma.f64 6 (*.f64 (-.f64 y x) z) x)

series14.0ms (0.6%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
3.0ms
z
@inf
(*.f64 (-.f64 y x) z)
1.0ms
x
@inf
(*.f64 (-.f64 y x) z)
1.0ms
z
@0
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
1.0ms
z
@0
(*.f64 (-.f64 y x) z)
1.0ms
y
@-inf
(fma.f64 6 (*.f64 (-.f64 y x) z) x)

rewrite43.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
848×log1p-expm1-u_binary64
848×expm1-log1p-u_binary64
90×add-sqr-sqrt_binary64
87×*-un-lft-identity_binary64
87×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
117118
2222818
Stop Event
node limit
Counts
2 → 44
Calls
Call 1
Inputs
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
(*.f64 (-.f64 y x) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) x)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 1) x)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 6 (*.f64 (-.f64 y x) z) x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)) (pow.f64 (cbrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)) 2) (cbrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)) (sqrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 3) (pow.f64 x 3)) (+.f64 (*.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) (*.f64 6 (*.f64 (-.f64 y x) z))) (-.f64 (*.f64 x x) (*.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) (*.f64 6 (*.f64 (-.f64 y x) z))) (*.f64 x x)) (-.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 6 (*.f64 (-.f64 y x) z) x)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 y z) (*.f64 (neg.f64 x) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z y) (*.f64 z (neg.f64 x)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 y x) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 y 3) (pow.f64 x 3)) z) (fma.f64 y y (*.f64 x (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 y y) (*.f64 x x)) z) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 y 3) (pow.f64 x 3))) (fma.f64 y y (*.f64 x (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 y y) (*.f64 x x))) (+.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 y x) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 y x) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 y x) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 y x) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (-.f64 y x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 y x) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 y x) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (-.f64 y x) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 y x) z)) 1))))))

simplify61.0ms (2.6%)

Algorithm
egg-herbie
Rules
572×fma-def_binary64
520×fma-neg_binary64
107×cancel-sign-sub-inv_binary64
101×associate-*l*_binary64
87×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
031861
196663
2227657
3506603
41028603
51781603
62171603
72292603
82296603
92296603
Stop Event
saturated
Counts
116 → 63
Calls
Call 1
Inputs
(-.f64 x (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 (-.f64 1 (*.f64 6 z)) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
x
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 -1 (*.f64 z (-.f64 (*.f64 6 x) (*.f64 6 y))))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(*.f64 y z)
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(*.f64 y z)
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(*.f64 y z)
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(*.f64 -1 (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(*.f64 -1 (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 y z) (*.f64 z x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
Outputs
(-.f64 x (*.f64 6 (*.f64 z x)))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 (*.f64 x z) -6))
(fma.f64 (*.f64 x z) -6 x)
(fma.f64 x (*.f64 z -6) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 (-.f64 1 (*.f64 6 z)) x)
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 (*.f64 x z) -6))
(fma.f64 (*.f64 x z) -6 x)
(fma.f64 x (*.f64 z -6) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(+.f64 x (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 (*.f64 x z) -6))
(fma.f64 (*.f64 x z) -6 x)
(fma.f64 x (*.f64 z -6) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
x
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 -6 (-.f64 x y)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 -1 (*.f64 z (-.f64 (*.f64 6 x) (*.f64 6 y))))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 -6 (-.f64 x y)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 z y) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(+.f64 x (*.f64 z (*.f64 -6 (-.f64 x y))))
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 x z))
(*.f64 x (neg.f64 z))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(*.f64 y z)
(*.f64 z y)
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(*.f64 y z)
(*.f64 z y)
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(*.f64 y z)
(*.f64 z y)
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 x z))
(*.f64 x (neg.f64 z))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 x z))
(*.f64 x (neg.f64 z))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 y z) (*.f64 z x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))
(*.f64 z (-.f64 y x))
(-.f64 (*.f64 z y) (*.f64 x z))

prune45.0ms (1.9%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New61263
Fresh101
Picked011
Done000
Total62365
Error
0.0b
Counts
65 → 3
Alt Table
StatusErrorProgram
0.2b
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
0.2b
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
30.3b
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
Compiler

Compiled 791 to 374 computations (52.7% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 (*.f64 z -6) (-.f64 x y) x)

series5.0ms (0.2%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
1.0ms
z
@0
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
1.0ms
x
@0
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
1.0ms
z
@-inf
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
0.0ms
z
@inf
(fma.f64 (*.f64 z -6) (-.f64 x y) x)

rewrite46.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
846×log1p-expm1-u_binary64
846×expm1-log1p-u_binary64
90×add-sqr-sqrt_binary64
87×*-un-lft-identity_binary64
87×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify51.0ms (2.1%)

Algorithm
egg-herbie
Rules
739×fma-def_binary64
517×fma-neg_binary64
106×cancel-sign-sub-inv_binary64
96×associate-*l*_binary64
95×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027531
182423
2205417
3480363
4967363
51690363
62237363
72474363
82478363
92478363
Stop Event
saturated
Counts
59 → 34
Calls
Call 1
Inputs
x
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 -1 (*.f64 z (-.f64 (*.f64 6 x) (*.f64 6 y))))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 (-.f64 1 (*.f64 6 z)) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 x (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
Outputs
x
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 (-.f64 y x) z))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 (*.f64 6 z) (-.f64 y x))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(*.f64 -1 (*.f64 z (-.f64 (*.f64 6 x) (*.f64 6 y))))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 6 (*.f64 (-.f64 y x) z))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 (*.f64 6 z) (-.f64 y x))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(*.f64 (-.f64 1 (*.f64 6 z)) x)
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(neg.f64 (*.f64 x (fma.f64 6 z -1)))
(*.f64 x (fma.f64 z -6 1))
(fma.f64 (*.f64 x z) -6 x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 6 z) 1) x))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(neg.f64 (*.f64 x (fma.f64 6 z -1)))
(*.f64 x (fma.f64 z -6 1))
(fma.f64 (*.f64 x z) -6 x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 x (*.f64 6 (*.f64 z x)))
(*.f64 x (+.f64 1 (*.f64 -6 z)))
(neg.f64 (*.f64 x (fma.f64 6 z -1)))
(*.f64 x (fma.f64 z -6 1))
(fma.f64 (*.f64 x z) -6 x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(*.f64 6 (*.f64 y z))
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)
(-.f64 (+.f64 (*.f64 6 (*.f64 y z)) x) (*.f64 6 (*.f64 z x)))
(+.f64 (fma.f64 6 (*.f64 y z) x) (*.f64 -6 (*.f64 x z)))
(+.f64 x (*.f64 6 (*.f64 (-.f64 y x) z)))
(+.f64 x (*.f64 6 (*.f64 z (-.f64 y x))))
(fma.f64 (*.f64 6 z) (-.f64 y x) x)

prune20.0ms (0.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New34034
Fresh011
Picked011
Done011
Total34337
Error
0.0b
Counts
37 → 3
Alt Table
StatusErrorProgram
0.2b
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
0.2b
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
30.3b
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
Compiler

Compiled 456 to 253 computations (44.5% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 6 y) (*.f64 6 x))
0.5b
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)

series7.0ms (0.3%)

Counts
2 → 30
Calls

15 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
1.0ms
y
@0
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
1.0ms
z
@inf
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
1.0ms
y
@-inf
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
1.0ms
y
@inf
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)

rewrite65.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
513×log-prod_binary64
466×fma-def_binary64
198×fma-neg_binary64
182×expm1-udef_binary64
182×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
120417
2272617
Stop Event
node limit
Counts
2 → 231
Calls
Call 1
Inputs
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(-.f64 (*.f64 6 y) (*.f64 6 x))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 6 (*.f64 (-.f64 y x) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 6 y) z) (*.f64 (*.f64 x -6) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 6 y)) (*.f64 z (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (*.f64 6 (-.f64 y x)))) (cbrt.f64 (pow.f64 (exp.f64 z) (*.f64 6 (-.f64 y x)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (*.f64 6 (-.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (*.f64 6 (-.f64 y x))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (*.f64 6 (-.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 6 (*.f64 (-.f64 y x) z)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) z) (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) z) (*.f64 6 (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216))) (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 z (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36))) (*.f64 6 (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (*.f64 6 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 6 (-.f64 y x)) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (*.f64 6 (-.f64 y x)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (*.f64 (-.f64 y x) z) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (*.f64 (-.f64 y x) z) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) z (*.f64 (*.f64 x -6) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 y x)) z (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 y x)) z (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 6 y) (*.f64 z (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 6 (-.f64 y x)) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 z (*.f64 6 (-.f64 y x)) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 1 (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (*.f64 (-.f64 y x) z)) 1 (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (*.f64 (-.f64 y x) z)) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (*.f64 (-.f64 y x) z)) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) 2) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) 2) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) 2) (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) 2) (cbrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (*.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) z) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (*.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) z) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (sqrt.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) z) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) z) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 (-.f64 y x)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 (-.f64 y x)) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 (-.f64 y x)) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 6 (-.f64 y x)) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z 6) (-.f64 y x) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z 6) (-.f64 y x) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2)) (cbrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2)) (cbrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (*.f64 6 (-.f64 y x)))) (sqrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 z (sqrt.f64 (*.f64 6 (-.f64 y x)))) (sqrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 z (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 6 (*.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 6 (*.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 6 (*.f64 (-.f64 y x) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 6 (*.f64 (-.f64 y x) z))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 y) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 y) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 y) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (-.f64 y x)) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (-.f64 y x)) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (-.f64 y x)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (-.f64 y x)) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 (-.f64 y x)) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 x -6 (*.f64 6 x)) (*.f64 6 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -6) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 6 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x))) (cbrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 6 (-.f64 y x))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 6 (-.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 6 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (cbrt.f64 (*.f64 6 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (sqrt.f64 (*.f64 6 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) (/.f64 1 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) (/.f64 1 (*.f64 6 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 y x) 6)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (-.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y))) (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 6 (+.f64 y x)) (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) (*.f64 6 (+.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216))) (neg.f64 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36))) (neg.f64 (*.f64 6 (+.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 216 (pow.f64 y 3) (pow.f64 (*.f64 x -6) 3)) (fma.f64 36 (*.f64 y y) (-.f64 (*.f64 (*.f64 x -6) (*.f64 x -6)) (*.f64 (*.f64 6 y) (*.f64 x -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 6 (-.f64 y x)) 3) (pow.f64 (fma.f64 x -6 (*.f64 6 x)) 3)) (+.f64 (pow.f64 (*.f64 6 (-.f64 y x)) 2) (-.f64 (*.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))) (*.f64 (*.f64 6 (-.f64 y x)) (fma.f64 x -6 (*.f64 6 x))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x -6) (*.f64 x -6))) (-.f64 (*.f64 6 y) (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 6 (-.f64 y x)) 2) (*.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x)))) (-.f64 (*.f64 6 (-.f64 y x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 6 (-.f64 y x)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 6 (-.f64 y x)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 6 (-.f64 y x)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 6) (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 6 (-.f64 y x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 6 y))) (pow.f64 (exp.f64 x) 6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 6) y) (+.f64 1 (expm1.f64 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 6 y))) (+.f64 1 (expm1.f64 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 6 y))) (exp.f64 (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 6) y) (/.f64 1 (pow.f64 (exp.f64 x) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 6 y))) (/.f64 1 (pow.f64 (exp.f64 x) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 6 (-.f64 y x)))) (exp.f64 (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x -6 (*.f64 6 x))) (pow.f64 (exp.f64 6) (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 x -6 (*.f64 6 x))) (+.f64 1 (expm1.f64 (*.f64 6 (-.f64 y x))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x -6)) (pow.f64 (exp.f64 6) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 x) 6)) (pow.f64 (exp.f64 6) y)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 x -6)) (+.f64 1 (expm1.f64 (*.f64 6 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (pow.f64 (exp.f64 x) 6)) (+.f64 1 (expm1.f64 (*.f64 6 y)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 6 (-.f64 y x)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 y (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 y (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 y (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 y (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (neg.f64 x) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (-.f64 y x) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (-.f64 y x) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (-.f64 y x) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (-.f64 y x) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 6 (-.f64 y x) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 6 (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 6 (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 6 (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 y 6 (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) 1 (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) 1 (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) 1 (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 y) 1 (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x -6 (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 y x)) 1 (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 y x)) 1 (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 y x)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 y x)) 1 (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (-.f64 y x)) 1 (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 y) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 y) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 y) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 y) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (-.f64 y x)) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (-.f64 y x)) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (-.f64 y x)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (-.f64 y x)) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 6 (-.f64 y x)) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 x -6 (*.f64 6 x)) (*.f64 6 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 x -6) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 36)) (neg.f64 (cbrt.f64 (*.f64 6 x))) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) 6) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) 6) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) 6) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 y y)) (*.f64 (cbrt.f64 y) 6) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (cbrt.f64 (*.f64 6 (-.f64 y x))) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (cbrt.f64 (*.f64 6 (-.f64 y x))) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (cbrt.f64 (*.f64 6 (-.f64 y x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (cbrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 (-.f64 y x))) 2) (cbrt.f64 (*.f64 6 (-.f64 y x))) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 y)) (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 y)) (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 y)) (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 6 y)) (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (cbrt.f64 (*.f64 6 y)) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (cbrt.f64 (*.f64 6 y)) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (cbrt.f64 (*.f64 6 y)) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 6 y)) 2) (cbrt.f64 (*.f64 6 y)) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 x)) (neg.f64 (sqrt.f64 (*.f64 6 x))) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 6) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 6) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 6) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) 6) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (sqrt.f64 (*.f64 6 (-.f64 y x))) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (sqrt.f64 (*.f64 6 (-.f64 y x))) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (sqrt.f64 (*.f64 6 (-.f64 y x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (sqrt.f64 (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 (-.f64 y x))) (sqrt.f64 (*.f64 6 (-.f64 y x))) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 y)) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 y)) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 y)) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 y)) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 x) 6 (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) (/.f64 1 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y)))) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) (/.f64 1 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y)))) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) (/.f64 1 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) (/.f64 1 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y)))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 6 y) 3) (*.f64 (pow.f64 x 3) 216)) (/.f64 1 (fma.f64 (*.f64 6 x) (*.f64 6 (+.f64 y x)) (*.f64 36 (*.f64 y y)))) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) (/.f64 1 (*.f64 6 (+.f64 y x))) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) (/.f64 1 (*.f64 6 (+.f64 y x))) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) (/.f64 1 (*.f64 6 (+.f64 y x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) (/.f64 1 (*.f64 6 (+.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 36 (*.f64 y y)) (*.f64 (*.f64 x x) 36)) (/.f64 1 (*.f64 6 (+.f64 y x))) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -6 x (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 6 (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 6 (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 6 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 6 (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 y x) 6 (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (fma.f64 x -6 (*.f64 6 x))) (cbrt.f64 (fma.f64 x -6 (*.f64 6 x)))) (cbrt.f64 (fma.f64 x -6 (*.f64 6 x))) (*.f64 6 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 x -6)) (cbrt.f64 (*.f64 x -6))) (cbrt.f64 (*.f64 x -6)) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 x -6 (*.f64 6 x))) (sqrt.f64 (fma.f64 x -6 (*.f64 6 x))) (*.f64 6 (-.f64 y x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 x -6)) (sqrt.f64 (*.f64 x -6)) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 6 x))) (sqrt.f64 (*.f64 6 x)) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 6 x) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (-.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (fma.f64 x -6 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (-.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (fma.f64 (*.f64 x -6) 1 (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (-.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 6 x))) (cbrt.f64 (*.f64 (*.f64 x x) 36)) (*.f64 6 x)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (-.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (-.f64 (sqrt.f64 (*.f64 6 y)) (sqrt.f64 (*.f64 6 x))) (+.f64 (fma.f64 x -6 (*.f64 6 x)) (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 x x) 36))) (cbrt.f64 (*.f64 6 x)) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -6 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (cbrt.f64 (*.f64 y y))) (cbrt.f64 y) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 y)) (sqrt.f64 y) (*.f64 (*.f64 x -6) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 y)) (sqrt.f64 y) (fma.f64 x -6 (fma.f64 x -6 (*.f64 6 x))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 6 (sqrt.f64 y)) (sqrt.f64 y) (neg.f64 (-.f64 (*.f64 6 x) (fma.f64 x -6 (*.f64 6 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 6 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 6 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 6 (-.f64 y x))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 6 (-.f64 y x))) 1))))))

simplify46.0ms (2%)

Algorithm
egg-herbie
Rules
869×fma-def_binary64
385×fma-neg_binary64
131×cancel-sign-sub-inv_binary64
65×distribute-rgt-neg-in_binary64
56×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
014300
133246
279246
3155246
4257246
5424246
6696246
71148246
81633246
92203246
102235246
112235246
Stop Event
saturated
Counts
261 → 239
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 -6 x)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 -6 x)
(*.f64 -6 x)
Outputs
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 -6 z) x)
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 -6 z) x)
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 -6 z) x)
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 6 (*.f64 z (-.f64 y x)))
(*.f64 z (*.f64 (-.f64 y x) 6))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 -6 x)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 6 y)
(*.f64 -6 x)
(*.f64 -6 x)

prune128.0ms (5.4%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2363239
Fresh000
Picked101
Done022
Total2375242
Error
0b
Counts
242 → 5
Alt Table
StatusErrorProgram
30.3b
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)
0.2b
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
0.2b
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
47.5b
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))
30.9b
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))
Compiler

Compiled 4455 to 2755 computations (38.2% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 6 y (*.f64 x -6))
0.5b
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)

series6.0ms (0.2%)

Counts
2 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
y
@-inf
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)
1.0ms
y
@0
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)
1.0ms
z
@0
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)
0.0ms
x
@-inf
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)
0.0ms
x
@inf
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)

rewrite46.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
800×pow1_binary64
736×log1p-expm1-u_binary64
736×expm1-log1p-u_binary64
89×add-sqr-sqrt_binary64
85×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
117919
2199219
Stop Event
node limit
Counts
2 → 40
Calls
Call 1
Inputs
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)
(fma.f64 6 y (*.f64 x -6))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 6 y) z) (*.f64 (*.f64 x -6) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 z (*.f64 6 y)) (*.f64 z (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 z) (fma.f64 6 y (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 6 y (*.f64 x -6)) 3) (pow.f64 z 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (fma.f64 6 y (*.f64 x -6)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 6 y (*.f64 x -6)) z)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 x -6) (*.f64 6 y))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 6 y) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 6 y) 1) (*.f64 x -6))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 6 y (*.f64 x -6)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 6 y (*.f64 x -6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 6 y (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 6 y (*.f64 x -6))) (cbrt.f64 (pow.f64 (fma.f64 6 y (*.f64 x -6)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 6 y (*.f64 x -6)) 2)) (cbrt.f64 (fma.f64 6 y (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 6 y (*.f64 x -6))) (sqrt.f64 (fma.f64 6 y (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 6 y) 3) (pow.f64 (*.f64 x -6) 3)) (+.f64 (*.f64 (*.f64 6 y) (*.f64 6 y)) (-.f64 (*.f64 36 (*.f64 x x)) (*.f64 (*.f64 6 y) (*.f64 x -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 6 y) (*.f64 6 y)) (*.f64 36 (*.f64 x x))) (-.f64 (*.f64 6 y) (*.f64 x -6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 6 y (*.f64 x -6)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 6 y (*.f64 x -6)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 6 y (*.f64 x -6))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 6 y (*.f64 x -6))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 6 y (*.f64 x -6)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 6 y (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 6 y (*.f64 x -6)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 6 y (*.f64 x -6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 6 y (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 6 y (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 6 y (*.f64 x -6))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 6 y (*.f64 x -6))) 1))))))

simplify52.0ms (2.2%)

Algorithm
egg-herbie
Rules
866×fma-def_binary64
380×fma-neg_binary64
130×cancel-sign-sub-inv_binary64
62×distribute-rgt-neg-in_binary64
60×distribute-rgt-in_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
017582
144492
2104492
3168492
4265492
5450492
6778492
71206492
81622492
92201492
102229492
112229492
Stop Event
saturated
Counts
100 → 51
Calls
Call 1
Inputs
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (*.f64 y z))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 -6 (*.f64 z x))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 -6 x)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 y)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 y)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 y)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 -6 x)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 -6 x)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(-.f64 (*.f64 6 y) (*.f64 6 x))
Outputs
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 -6 z) x)
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 6 (*.f64 y z))
(*.f64 6 (*.f64 z y))
(*.f64 z (*.f64 6 y))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 -6 z) x)
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 -6 (*.f64 z x))
(*.f64 (*.f64 -6 z) x)
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(-.f64 (*.f64 6 (*.f64 y z)) (*.f64 6 (*.f64 z x)))
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 (-.f64 (*.f64 6 y) (*.f64 6 x)) z)
(*.f64 6 (-.f64 (*.f64 z y) (*.f64 z x)))
(*.f64 z (*.f64 6 (-.f64 y x)))
(*.f64 -6 (*.f64 z (-.f64 x y)))
(*.f64 -6 x)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 6 y)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 6 y)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 6 y)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 -6 x)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(*.f64 -6 x)
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))
(-.f64 (*.f64 6 y) (*.f64 6 x))
(*.f64 6 (-.f64 y x))
(*.f64 -6 (-.f64 x y))

prune27.0ms (1.2%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New51051
Fresh022
Picked011
Done022
Total51556
Error
0b
Counts
56 → 5
Alt Table
StatusErrorProgram
30.3b
(*.f64 (fma.f64 6 y (*.f64 x -6)) z)
0.2b
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
0.2b
(fma.f64 6 (*.f64 (-.f64 y x) z) x)
47.5b
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))
30.9b
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (*.f64 6 (-.f64 y x))) (*.f64 (fma.f64 x -6 (*.f64 6 x)) z))
Compiler

Compiled 649 to 452 computations (30.4% saved)

regimes113.0ms (4.8%)

Accuracy

Total 0.1b remaining (90.2%)

Threshold costs 0.1b (90.2%)

Counts
36 → 1
Compiler

Compiled 362 to 210 computations (42% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
11111
21611
31811
41911
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 (*.f64 z -6) (-.f64 x y) x)
Outputs
(fma.f64 (*.f64 z -6) (-.f64 x y) x)

end73.0ms (3.1%)

Stop Event
fuel
Compiler

Compiled 101 to 66 computations (34.7% saved)

Profiling

Loading profile data...