Details

Time bar (total: 4.0s)

analyze433.0ms (10.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
9.4%90.4%0.2%10
14%85.8%0.2%11
21.1%78.8%0.2%12
Compiler

Compiled 18 to 14 computations (22.2% saved)

sample1.5s (38%)

Results
1.3s8255×body256valid
166.0ms1159×body256invalid
0.0msbody2048valid

preprocess183.0ms (4.5%)

Algorithm
egg-herbie
Rules
1709×fma-neg_binary64
492×fma-def_binary64
250×cancel-sign-sub-inv_binary64
248×unsub-neg_binary64
239×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040112
1101112
2218105
347498
4116884
5253884
6453184
7482684
8487484
9487484
10586284
11586284
12586284
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
1
3
Call 2
Inputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
(+.f64 (-.f64 (*.f64 (/.f64 1 8) y) (/.f64 (*.f64 x z) 2)) t)
(+.f64 (-.f64 (*.f64 (/.f64 1 8) z) (/.f64 (*.f64 y x) 2)) t)
(+.f64 (-.f64 (*.f64 (/.f64 1 8) t) (/.f64 (*.f64 y z) 2)) x)
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 z y) 2)) t)
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 t z) 2)) y)
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y t) 2)) z)
Outputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
(+.f64 (-.f64 (*.f64 1/8 x) (/.f64 (*.f64 y z) 2)) t)
(-.f64 (+.f64 t (*.f64 1/8 x)) (/.f64 (*.f64 y z) 2))
(fma.f64 1/8 x (fma.f64 -1 (*.f64 y (/.f64 z 2)) t))
(-.f64 (fma.f64 1/8 x t) (*.f64 y (/.f64 z 2)))
(fma.f64 1/8 x (fma.f64 y (*.f64 -1/2 z) t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(+.f64 (-.f64 (*.f64 (/.f64 1 8) y) (/.f64 (*.f64 x z) 2)) t)
(+.f64 t (-.f64 (*.f64 1/8 y) (/.f64 x (/.f64 2 z))))
(+.f64 t (-.f64 (*.f64 1/8 y) (*.f64 (/.f64 x 2) z)))
(fma.f64 1/8 y (fma.f64 -1 (*.f64 z (/.f64 x 2)) t))
(-.f64 (fma.f64 1/8 y t) (*.f64 x (/.f64 z 2)))
(fma.f64 1/8 y (fma.f64 z (*.f64 -1/2 x) t))
(fma.f64 1/8 y (fma.f64 x (*.f64 z -1/2) t))
(+.f64 (-.f64 (*.f64 (/.f64 1 8) z) (/.f64 (*.f64 y x) 2)) t)
(+.f64 t (-.f64 (*.f64 1/8 z) (/.f64 y (/.f64 2 x))))
(+.f64 t (-.f64 (*.f64 1/8 z) (*.f64 (/.f64 y 2) x)))
(fma.f64 1/8 z (fma.f64 -1 (*.f64 x (/.f64 y 2)) t))
(-.f64 (fma.f64 1/8 z t) (*.f64 x (/.f64 y 2)))
(fma.f64 1/8 z (fma.f64 x (*.f64 -1/2 y) t))
(fma.f64 1/8 z (fma.f64 x (*.f64 y -1/2) t))
(+.f64 (-.f64 (*.f64 (/.f64 1 8) t) (/.f64 (*.f64 y z) 2)) x)
(+.f64 x (-.f64 (*.f64 1/8 t) (/.f64 (*.f64 y z) 2)))
(fma.f64 1/8 t (fma.f64 -1 (*.f64 y (/.f64 z 2)) x))
(fma.f64 1/8 t (fma.f64 (/.f64 (neg.f64 y) 2) z x))
(fma.f64 1/8 t (fma.f64 z (*.f64 -1/2 y) x))
(fma.f64 1/8 t (fma.f64 z (*.f64 y -1/2) x))
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 z y) 2)) t)
(+.f64 (-.f64 (*.f64 1/8 x) (/.f64 (*.f64 y z) 2)) t)
(-.f64 (+.f64 t (*.f64 1/8 x)) (/.f64 (*.f64 y z) 2))
(fma.f64 1/8 x (fma.f64 -1 (*.f64 y (/.f64 z 2)) t))
(-.f64 (fma.f64 1/8 x t) (*.f64 y (/.f64 z 2)))
(fma.f64 1/8 x (fma.f64 y (*.f64 -1/2 z) t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 t z) 2)) y)
(+.f64 y (-.f64 (*.f64 1/8 x) (/.f64 t (/.f64 2 z))))
(+.f64 y (-.f64 (*.f64 1/8 x) (*.f64 (/.f64 t 2) z)))
(fma.f64 1/8 x (fma.f64 -1 (*.f64 z (/.f64 t 2)) y))
(-.f64 (fma.f64 1/8 x y) (*.f64 z (/.f64 t 2)))
(fma.f64 1/8 x (fma.f64 (*.f64 -1/2 z) t y))
(fma.f64 1/8 x (fma.f64 t (*.f64 z -1/2) y))
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y t) 2)) z)
(+.f64 z (-.f64 (*.f64 1/8 x) (/.f64 (*.f64 y t) 2)))
(+.f64 z (-.f64 (*.f64 1/8 x) (/.f64 t (/.f64 2 y))))
(fma.f64 1/8 x (fma.f64 -1 (*.f64 t (/.f64 y 2)) z))
(-.f64 (fma.f64 1/8 x z) (*.f64 y (/.f64 t 2)))
(fma.f64 1/8 x (fma.f64 t (*.f64 -1/2 y) z))
(fma.f64 1/8 x (fma.f64 y (*.f64 t -1/2) z))
Symmetry

(sort y z)

Compiler

Compiled 21 to 17 computations (19% saved)

simplify34.0ms (0.8%)

Algorithm
egg-herbie
Rules
382×fma-def_binary64
318×fma-neg_binary64
114×cancel-sign-sub-inv_binary64
53×unsub-neg_binary64
51×sub-neg_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01516
12716
25115
310314
423612
545612
673112
7106112
8153512
9163312
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
Outputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
(+.f64 (fma.f64 1/8 x (neg.f64 (/.f64 y (/.f64 2 z)))) t)
(+.f64 (fma.f64 1/8 x (/.f64 (neg.f64 y) (/.f64 2 z))) t)
(fma.f64 1/8 x (fma.f64 -1 (*.f64 z (/.f64 y 2)) t))
(-.f64 (fma.f64 1/8 x t) (/.f64 (*.f64 y z) 2))
(fma.f64 z (*.f64 -1/2 y) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 -1/2 (*.f64 y z) t))
(fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))

eval1.0ms (0%)

Compiler

Compiled 26 to 17 computations (34.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
Compiler

Compiled 17 to 13 computations (23.5% saved)

localize18.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 y z) 2)
0.0b
(-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2))
0.0b
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
Compiler

Compiled 51 to 32 computations (37.3% saved)

series13.0ms (0.3%)

Counts
3 → 108
Calls

27 calls:

TimeVariablePointExpression
2.0ms
t
@inf
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
1.0ms
y
@0
(/.f64 (*.f64 y z) 2)
1.0ms
y
@0
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
1.0ms
x
@0
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
1.0ms
x
@inf
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)

rewrite101.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
653×log-prod_binary64
573×fma-def_binary64
321×fma-neg_binary64
261×pow1/3_binary64
258×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01536
130432
2399230
Stop Event
node limit
Counts
3 → 226
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
(-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2))
(/.f64 (*.f64 y z) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/8 x) (-.f64 (*.f64 (*.f64 y z) 1/2) t))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2) (-.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) 1/2 t))) (/.f64 (*.f64 t t) (-.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) 1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 t (*.f64 1/8 x)) (*.f64 (*.f64 y z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)) 2)) (cbrt.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))) (sqrt.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3) (pow.f64 t 3)) (/.f64 1 (fma.f64 t (-.f64 t (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2) (*.f64 t t)) (/.f64 1 (-.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) 1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 t (-.f64 t (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2)) (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3) (pow.f64 t 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) 1/2 t)) (-.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2) (*.f64 t t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3) (pow.f64 t 3)) (fma.f64 t (-.f64 t (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3) (pow.f64 t 3)) (fma.f64 t t (-.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2) (*.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2) (*.f64 t t)) (-.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) 1/2 t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3) (pow.f64 t 3))) (neg.f64 (fma.f64 t (-.f64 t (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2) (*.f64 t t))) (neg.f64 (-.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) 1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (pow.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t) 3)) (fma.f64 (*.f64 x x) 1/64 (fma.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t) (-.f64 (*.f64 (*.f64 y z) 1/2) t) (*.f64 (*.f64 1/8 x) (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t) (-.f64 (*.f64 (*.f64 y z) 1/2) t))) (fma.f64 1/8 x (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 t t) (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2)) (-.f64 t (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 t (-.f64 t (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2)) (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3) (pow.f64 t 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) 1/2 t)) (-.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2) (*.f64 t t))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (exp.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) 1/8) (/.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z)) (exp.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (/.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z)) (exp.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))) (exp.f64 t)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (+.f64 1 (expm1.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))) (+.f64 1 (expm1.f64 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 t)) (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 t) (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 t)) (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 t (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 1 t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 t 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 t) (pow.f64 (cbrt.f64 t) 2) (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (cbrt.f64 t) (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) 1/8) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) 1/8) (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) 1/2) (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) 1/2) (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (*.f64 (cbrt.f64 x) 1/2) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (*.f64 (cbrt.f64 x) 1/2) (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (sqrt.f64 t) (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64))) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2))) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 1/8) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) t)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (fma.f64 (*.f64 y z) -1/2 t))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 (*.f64 y z) 1/2) t)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 (*.f64 y z) -1/2 t))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/8 x) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/8 x) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))) (cbrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 1/8) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64)) (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8))) (neg.f64 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))) (neg.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (pow.f64 x 3) 1/512 (pow.f64 (*.f64 (*.f64 y z) -1/2) 3)) (fma.f64 (*.f64 x x) 1/64 (-.f64 (*.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) -1/2)) (*.f64 (*.f64 1/8 x) (*.f64 (*.f64 y z) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) -1/2))) (-.f64 (*.f64 1/8 x) (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64)) (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (sqrt.f64 (pow.f64 (exp.f64 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (pow.f64 (exp.f64 x) 1/8) (+.f64 1 (expm1.f64 (*.f64 (*.f64 y z) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (+.f64 1 (expm1.f64 (*.f64 (*.f64 y z) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (exp.f64 (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 x) 1/8) (/.f64 1 (sqrt.f64 (pow.f64 (exp.f64 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (/.f64 1 (sqrt.f64 (pow.f64 (exp.f64 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 y z) -1/2)) (pow.f64 (exp.f64 x) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (sqrt.f64 (pow.f64 (exp.f64 y) z))) (pow.f64 (exp.f64 x) 1/8)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 y z) -1/2)) (+.f64 1 (expm1.f64 (*.f64 1/8 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (/.f64 1 (sqrt.f64 (pow.f64 (exp.f64 y) z))) (+.f64 1 (expm1.f64 (*.f64 1/8 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 y z) -1/2) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) -1/2 (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 1 (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 1 (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2)) 1 (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) 1/8) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) 1/8) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) 2) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) 1/2) (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 x) 1/2) (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (*.f64 (cbrt.f64 x) 1/2) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (*.f64 x x) 1/64)) (*.f64 (cbrt.f64 x) 1/2) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 y z) 1/2)) (neg.f64 (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 y z) -1/2))) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (neg.f64 z)) 1/2 (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64))) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64))) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (pow.f64 x 3) 1/512) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (/.f64 1 (fma.f64 (*.f64 (*.f64 y z) 1/2) (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2)) (*.f64 (*.f64 x x) 1/64))) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2))) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2))) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 (*.f64 x x) 1/64) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 y z) 1/2))) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 y z) -1/2)) (cbrt.f64 (*.f64 (*.f64 y z) -1/2))) (cbrt.f64 (*.f64 (*.f64 y z) -1/2)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 y z) -1/2)) (sqrt.f64 (*.f64 (*.f64 y z) -1/2)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (sqrt.f64 (*.f64 (*.f64 y z) 1/2)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 (*.f64 y z) 1/2) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 1/8) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 1/8) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (fma.f64 -1/2 (*.f64 y z) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 1/8) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 1/8) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 (*.f64 y z) 1/2))) (+.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))) (cbrt.f64 (*.f64 (*.f64 y z) 1/2)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (cbrt.f64 (*.f64 x x))) (cbrt.f64 x) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 y z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z))) (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z))))) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z)))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 y z) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 y z) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (/.f64 1 (/.f64 2 z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 y (*.f64 z 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 z (*.f64 y 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y z) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 y z) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2)) (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (cbrt.f64 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (*.f64 (cbrt.f64 (*.f64 y z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 y z) 1/2)) (sqrt.f64 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 y z)) (*.f64 (sqrt.f64 (*.f64 y z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 y (neg.f64 z)) -1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 y z))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 y 2) z)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 y z) 1/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 y z) 1/2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 y z) 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 y z) 3) 1/8) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 2 (*.f64 y z)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (/.f64 2 (*.f64 y z)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (/.f64 (*.f64 y z) -2))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (sqrt.f64 (pow.f64 (exp.f64 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 y z) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 3) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 y z) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 y z) 1/2)) 1))))))

simplify126.0ms (3.1%)

Algorithm
egg-herbie
Rules
506×fma-def_binary64
310×fma-neg_binary64
114×cancel-sign-sub-inv_binary64
53×distribute-rgt-neg-in_binary64
49×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0181017
1411017
2891015
31921015
42891015
54341015
67071015
79491015
811761015
915641015
1015851015
Stop Event
saturated
Counts
334 → 240
Calls
Call 1
Inputs
(-.f64 t (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(*.f64 1/8 x)
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(*.f64 1/8 x)
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(+.f64 (*.f64 1/8 x) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 1/8 x) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
t
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
t
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
Outputs
(-.f64 t (*.f64 1/2 (*.f64 y z)))
(+.f64 t (*.f64 (*.f64 y z) -1/2))
(+.f64 t (*.f64 y (*.f64 z -1/2)))
(fma.f64 y (*.f64 z -1/2) t)
(fma.f64 z (*.f64 y -1/2) t)
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(*.f64 1/8 x)
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(*.f64 1/8 x)
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 1/8 x) t)
(fma.f64 1/8 x t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 1/8 x) t)
(fma.f64 1/8 x t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (+.f64 (*.f64 1/8 x) t))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
t
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
t
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(-.f64 (+.f64 (*.f64 1/8 x) t) (*.f64 1/2 (*.f64 y z)))
(fma.f64 -1/2 (*.f64 y z) (fma.f64 1/8 x t))
(fma.f64 (*.f64 y z) -1/2 (fma.f64 1/8 x t))
(fma.f64 y (*.f64 z -1/2) (fma.f64 1/8 x t))
(fma.f64 1/8 x (fma.f64 y (*.f64 z -1/2) t))
(fma.f64 z (*.f64 y -1/2) (fma.f64 1/8 x t))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 (*.f64 y z) -1/2)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(fma.f64 (*.f64 y -1/2) z (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))
(*.f64 1/2 (*.f64 y z))

eval162.0ms (4%)

Compiler

Compiled 4775 to 2723 computations (43% saved)

prune44.0ms (1.1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2328240
Fresh000
Picked101
Done000
Total2338241
Error
0b
Counts
241 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
23.0b
(fma.f64 z (*.f64 y -1/2) t)
23.0b
(-.f64 t (*.f64 1/2 (*.f64 y z)))
38.4b
t
25.0b
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
25.0b
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
47.4b
(*.f64 y (*.f64 z -1/2))
15.6b
(+.f64 (*.f64 1/8 x) t)
40.1b
(*.f64 1/8 x)
Compiler

Compiled 147 to 112 computations (23.8% saved)

localize6.0ms (0.2%)

Compiler

Compiled 15 to 10 computations (33.3% saved)

localize4.0ms (0.1%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 y (*.f64 z -1/2))
Compiler

Compiled 15 to 10 computations (33.3% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@0
(*.f64 y (*.f64 z -1/2))
0.0ms
z
@0
(*.f64 y (*.f64 z -1/2))
0.0ms
y
@-inf
(*.f64 y (*.f64 z -1/2))
0.0ms
z
@inf
(*.f64 y (*.f64 z -1/2))
0.0ms
y
@inf
(*.f64 y (*.f64 z -1/2))

rewrite48.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
557×pow1_binary64
513×add-log-exp_binary64
513×log1p-expm1-u_binary64
513×expm1-log1p-u_binary64
502×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06168
110168
217168
319168
Stop Event
saturated
Counts
35 → 12
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
Outputs
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))
(*.f64 -1/2 (*.f64 y z))

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 y z))
0.0b
(-.f64 t (*.f64 1/2 (*.f64 y z)))
Compiler

Compiled 23 to 11 computations (52.2% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

15 calls:

TimeVariablePointExpression
1.0ms
z
@-inf
(-.f64 t (*.f64 1/2 (*.f64 y z)))
0.0ms
t
@0
(-.f64 t (*.f64 1/2 (*.f64 y z)))
0.0ms
y
@-inf
(-.f64 t (*.f64 1/2 (*.f64 y z)))
0.0ms
y
@inf
(-.f64 t (*.f64 1/2 (*.f64 y z)))
0.0ms
t
@inf
(-.f64 t (*.f64 1/2 (*.f64 y z)))

rewrite64.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
927×pow1_binary64
861×add-log-exp_binary64
861×log1p-expm1-u_binary64
861×expm1-log1p-u_binary64
844×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
117617
2234917
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(-.f64 t (*.f64 1/2 (*.f64 y z)))
(*.f64 1/2 (*.f64 y z))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 t (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 t (*.f64 (*.f64 (*.f64 y z) -1/2) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) (fma.f64 (neg.f64 (*.f64 y z)) 1/2 (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) (fma.f64 -1/2 (*.f64 y z) (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) (fma.f64 (*.f64 (*.f64 y z) -1/2) 1 (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/2 (*.f64 y z)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 y z))) 2) (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 1/2 (*.f64 y z)))) (sqrt.f64 (*.f64 1/2 (*.f64 y z))) (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 y z) -1/2) t)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 t (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))) (pow.f64 (cbrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))) 2) (cbrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))) (sqrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 t 3) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (/.f64 1 (fma.f64 t t (*.f64 (*.f64 1/2 (*.f64 y z)) (+.f64 t (*.f64 1/2 (*.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 t t) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (+.f64 t (*.f64 1/2 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 t) (sqrt.f64 (*.f64 1/2 (*.f64 y z)))) (-.f64 (sqrt.f64 t) (sqrt.f64 (*.f64 1/2 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 t t (*.f64 (*.f64 1/2 (*.f64 y z)) (+.f64 t (*.f64 1/2 (*.f64 y z))))) (-.f64 (pow.f64 t 3) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 t (*.f64 1/2 (*.f64 y z))) (-.f64 (*.f64 t t) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 t 3) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8)) (fma.f64 t t (*.f64 (*.f64 1/2 (*.f64 y z)) (+.f64 t (*.f64 1/2 (*.f64 y z))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 t t) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (+.f64 t (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 t 3) (*.f64 (pow.f64 (*.f64 y z) 3) 1/8))) (neg.f64 (fma.f64 t t (*.f64 (*.f64 1/2 (*.f64 y z)) (+.f64 t (*.f64 1/2 (*.f64 y z)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 t t) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))) (neg.f64 (+.f64 t (*.f64 1/2 (*.f64 y z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (*.f64 y z) -1/2) 3)) (+.f64 (*.f64 t t) (-.f64 (*.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) -1/2)) (*.f64 t (*.f64 (*.f64 y z) -1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 t t) (*.f64 (*.f64 (*.f64 y z) -1/2) (*.f64 (*.f64 y z) -1/2))) (-.f64 t (*.f64 (*.f64 y z) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 t (*.f64 (*.f64 y z) -1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 t (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 t) 2) (cbrt.f64 t) (*.f64 (*.f64 y z) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 t) (sqrt.f64 t) (*.f64 (*.f64 y z) -1/2))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 1/2 (*.f64 y z))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 y z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 y z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 y z) 3) 1/8) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 z) y) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 y z) 3) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (*.f64 y z))))))))

simplify19.0ms (0.5%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08255
114255
223255
329255
Stop Event
saturated
Counts
85 → 53
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
Outputs
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
t
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)
(+.f64 (*.f64 -1/2 (*.f64 y z)) t)
(fma.f64 -1/2 (*.f64 y z) t)
(fma.f64 (*.f64 -1/2 y) z t)
(fma.f64 z (*.f64 -1/2 y) t)

localize12.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (*.f64 y z))
0.0b
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
Compiler

Compiled 29 to 16 computations (44.8% saved)

series3.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
0.0ms
x
@inf
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
0.0ms
y
@0
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
0.0ms
x
@-inf
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
0.0ms
z
@-inf
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))

rewrite82.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
540×log-prod_binary64
408×exp-prod_binary64
401×fma-def_binary64
317×pow-prod-down_binary64
277×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01013
122111
2283011
Stop Event
node limit
Counts
1 → 174
Calls
Call 1
Inputs
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/8 x) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/8 x) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/8 x) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 -1/2 y) z) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x))) (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3))) (neg.f64 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))) (neg.f64 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 1/512 (pow.f64 x 3) (pow.f64 (*.f64 (*.f64 -1/2 y) z) 3)) (fma.f64 1/64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 (*.f64 -1/2 y) z) 2) (*.f64 (*.f64 1/8 x) (*.f64 (*.f64 -1/2 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 3) (pow.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 3)) (+.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2) (-.f64 (pow.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (pow.f64 (*.f64 (*.f64 -1/2 y) z) 2)) (-.f64 (*.f64 1/8 x) (*.f64 (*.f64 -1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2) (pow.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 2)) (-.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x))) (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))) 2)) (cbrt.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))) (sqrt.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (pow.f64 (sqrt.f64 (exp.f64 y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (exp.f64 (*.f64 1/8 x)) (+.f64 1 (expm1.f64 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (/.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (+.f64 1 (expm1.f64 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 x))) (pow.f64 (exp.f64 (*.f64 -1/2 y)) z)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))) (exp.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))) (+.f64 1 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 -1/2 y)) z) (+.f64 1 (expm1.f64 (*.f64 1/8 x)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/8 x (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 x 1/8 (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 x) 1 (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 y (neg.f64 z)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y z) -1/2 (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1 (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1 (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1 (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1 (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 1 (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/8 x) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (*.f64 -1/2 y) z) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/8) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/8) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/8) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/8) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)) 2)) (cbrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cbrt.f64 x)) (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cbrt.f64 x)) (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cbrt.f64 x)) (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (cbrt.f64 x)) (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (*.f64 1/2 (cbrt.f64 x)) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (*.f64 1/2 (cbrt.f64 x)) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (*.f64 1/2 (cbrt.f64 x)) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 1/2 (cbrt.f64 x)) 2) (*.f64 1/2 (cbrt.f64 x)) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 y (*.f64 z 1/2))) (neg.f64 (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/8) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (sqrt.f64 (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z))) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 1/8 x)) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 y (neg.f64 z)) 1/2 (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (pow.f64 (*.f64 1/8 x) 3) (pow.f64 (*.f64 y (*.f64 z 1/2)) 3)) (/.f64 1 (fma.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2))) (*.f64 1/64 (*.f64 x x)))) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 (*.f64 1/64 (*.f64 x x)) (*.f64 (pow.f64 (*.f64 y z) 2) 1/4)) (/.f64 1 (fma.f64 1/8 x (*.f64 y (*.f64 z 1/2)))) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 y) (neg.f64 z) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))) 2) (cbrt.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))) (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 -1/2 y) z)) 2) (cbrt.f64 (*.f64 (*.f64 -1/2 y) z)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))) (sqrt.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))) (fma.f64 1/8 x (*.f64 (*.f64 -1/2 y) z)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (*.f64 -1/2 y) z)) (sqrt.f64 (*.f64 (*.f64 -1/2 y) z)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (sqrt.f64 (*.f64 y (*.f64 z 1/2))) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1 (*.f64 y (*.f64 z 1/2)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (fma.f64 (*.f64 (*.f64 -1/2 y) z) 1 (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2)))) (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (fma.f64 (neg.f64 z) (*.f64 1/2 y) (*.f64 y (*.f64 z 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (*.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (-.f64 (sqrt.f64 (*.f64 1/8 x)) (sqrt.f64 (*.f64 y (*.f64 z 1/2)))) (+.f64 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (*.f64 y (*.f64 z 1/2))) 2)) (cbrt.f64 (*.f64 y (*.f64 z 1/2))) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (neg.f64 (*.f64 1/2 y)) z (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 -1/2 y) z))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (*.f64 (*.f64 (*.f64 -1/2 y) z) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (fma.f64 (*.f64 y z) -1/2 (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/8 (sqrt.f64 x)) (sqrt.f64 x) (neg.f64 (-.f64 (*.f64 y (*.f64 z 1/2)) (fma.f64 (*.f64 y z) -1/2 (*.f64 y (*.f64 z 1/2))))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 y) z (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 z) y (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (pow.f64 (cbrt.f64 (*.f64 y z)) 2)) (cbrt.f64 (*.f64 y z)) (*.f64 1/8 x))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/2 (sqrt.f64 (*.f64 y z))) (sqrt.f64 (*.f64 y z)) (*.f64 1/8 x))))))

simplify18.0ms (0.5%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
associate-*r*_binary64
associate-*l*_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010348
117348
228348
334348
Stop Event
saturated
Counts
210 → 178
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
Outputs
(*.f64 -1/2 (*.f64 y z))
(*.f64 z (*.f64 -1/2 y))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 z (*.f64 -1/2 y))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 z (*.f64 -1/2 y))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 1/8 x)
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 z (*.f64 -1/2 y))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(*.f64 -1/2 (*.f64 y z))
(*.f64 z (*.f64 -1/2 y))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))
(+.f64 (*.f64 -1/2 (*.f64 y z)) (*.f64 1/8 x))
(fma.f64 -1/2 (*.f64 y z) (*.f64 1/8 x))

eval104.0ms (2.6%)

Compiler

Compiled 4986 to 3154 computations (36.7% saved)

prune44.0ms (1.1%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New2522254
Fresh213
Picked011
Done044
Total2548262
Error
0b
Counts
262 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
47.4b
(*.f64 y (*.f64 z -1/2))
25.0b
(fma.f64 (*.f64 -1/2 z) y (*.f64 1/8 x))
15.6b
(+.f64 (*.f64 1/8 x) t)
38.4b
t
23.0b
(fma.f64 z (*.f64 y -1/2) t)
23.0b
(-.f64 t (*.f64 1/2 (*.f64 y z)))
25.0b
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
40.1b
(*.f64 1/8 x)
Compiler

Compiled 76 to 58 computations (23.7% saved)

localize7.0ms (0.2%)

Compiler

Compiled 17 to 10 computations (41.2% saved)

localize10.0ms (0.2%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune4.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done066
Total088
Error
0b
Counts
8 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
47.4b
(*.f64 y (*.f64 z -1/2))
25.0b
(fma.f64 (*.f64 -1/2 z) y (*.f64 1/8 x))
15.6b
(+.f64 (*.f64 1/8 x) t)
38.4b
t
23.0b
(fma.f64 z (*.f64 y -1/2) t)
23.0b
(-.f64 t (*.f64 1/2 (*.f64 y z)))
25.0b
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
40.1b
(*.f64 1/8 x)
Compiler

Compiled 76 to 58 computations (23.7% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune4.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done077
Total088
Error
0b
Counts
8 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
47.4b
(*.f64 y (*.f64 z -1/2))
25.0b
(fma.f64 (*.f64 -1/2 z) y (*.f64 1/8 x))
15.6b
(+.f64 (*.f64 1/8 x) t)
38.4b
t
23.0b
(fma.f64 z (*.f64 y -1/2) t)
23.0b
(-.f64 t (*.f64 1/2 (*.f64 y z)))
25.0b
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
40.1b
(*.f64 1/8 x)
Compiler

Compiled 76 to 58 computations (23.7% saved)

regimes70.0ms (1.7%)

Counts
11 → 1
Calls
Call 1
Inputs
t
t
(*.f64 1/8 x)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 1/8 x) t)
(-.f64 t (*.f64 1/2 (*.f64 y z)))
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
(fma.f64 z (*.f64 y -1/2) t)
(fma.f64 (*.f64 -1/2 z) y (*.f64 1/8 x))
(fma.f64 y (*.f64 z -1/2) (*.f64 1/8 x))
Outputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
Calls

9 calls:

8.0ms
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
8.0ms
(-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2))
7.0ms
t
7.0ms
(*.f64 (/.f64 1 8) x)
7.0ms
y
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
0.0b1(-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2))
0.0b1(*.f64 (/.f64 1 8) x)
0.0b1(/.f64 (*.f64 y z) 2)
0.0b1(*.f64 y z)
Compiler

Compiled 147 to 103 computations (29.9% saved)

regimes118.0ms (2.9%)

Counts
7 → 3
Calls
Call 1
Inputs
t
t
(*.f64 1/8 x)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 1/8 x) t)
(-.f64 t (*.f64 1/2 (*.f64 y z)))
(-.f64 (*.f64 1/8 x) (*.f64 1/2 (*.f64 y z)))
Outputs
(+.f64 (*.f64 1/8 x) t)
(-.f64 t (*.f64 1/2 (*.f64 y z)))
(+.f64 (*.f64 1/8 x) t)
Calls

5 calls:

34.0ms
z
24.0ms
y
24.0ms
t
18.0ms
(*.f64 y z)
15.0ms
x
Results
ErrorSegmentsBranch
5.6b3x
9.1b5y
6.5b6z
6.4b5t
6.1b3(*.f64 y z)
Compiler

Compiled 62 to 42 computations (32.3% saved)

bsearch48.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
2.5711130251846706e+61
5.59176008810987e+62
26.0ms
-6.39253408005964e+50
-3.5777580125679e+43
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes75.0ms (1.9%)

Counts
5 → 5
Calls
Call 1
Inputs
t
t
(*.f64 1/8 x)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 1/8 x) t)
Outputs
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 1/8 x) t)
(*.f64 y (*.f64 z -1/2))
(+.f64 (*.f64 1/8 x) t)
(*.f64 y (*.f64 z -1/2))
Calls

4 calls:

25.0ms
z
22.0ms
y
14.0ms
t
13.0ms
x
Results
ErrorSegmentsBranch
14.4b3x
12.4b4y
11.7b5z
14.1b3t
Compiler

Compiled 39 to 28 computations (28.2% saved)

bsearch177.0ms (4.4%)

Algorithm
binary-search
Steps
TimeLeftRight
43.0ms
5.93226301958331e+221
3.734168301237026e+224
43.0ms
2.7019228295833225e+168
1.1686218829565024e+169
68.0ms
8.371950936031389e+147
1.212883849014766e+151
22.0ms
-5.2502043387587006e-36
-1.0620552211455728e-47
Compiler

Compiled 464 to 371 computations (20% saved)

regimes98.0ms (2.4%)

Counts
4 → 5
Calls
Call 1
Inputs
t
t
(*.f64 1/8 x)
(*.f64 y (*.f64 z -1/2))
Outputs
(*.f64 1/8 x)
t
(*.f64 y (*.f64 z -1/2))
t
(*.f64 1/8 x)
Calls

4 calls:

31.0ms
t
27.0ms
z
21.0ms
y
17.0ms
x
Results
ErrorSegmentsBranch
22.1b5x
31.6b6y
29.4b8z
22.6b9t
Compiler

Compiled 34 to 25 computations (26.5% saved)

bsearch88.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
1.663644652091263e+38
4.05165447689292e+39
22.0ms
-2.202130716926362e-97
-2.733687237557318e-111
22.0ms
-2.8286610048853905e-77
-3.054847093250603e-80
22.0ms
-9.801279634473268e+131
-4.723550313957093e+126
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes92.0ms (2.3%)

Counts
3 → 3
Calls
Call 1
Inputs
t
t
(*.f64 1/8 x)
Outputs
(*.f64 1/8 x)
t
(*.f64 1/8 x)
Calls

4 calls:

43.0ms
z
22.0ms
y
15.0ms
t
10.0ms
x
Results
ErrorSegmentsBranch
23.3b3x
33.5b7y
29.5b13z
25.6b5t
Compiler

Compiled 29 to 22 computations (24.1% saved)

bsearch47.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
1.663644652091263e+38
4.05165447689292e+39
25.0ms
-9.801279634473268e+131
-4.723550313957093e+126
Compiler

Compiled 24 to 19 computations (20.8% saved)

regimes15.0ms (0.4%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
t
t
Outputs
t
Calls

4 calls:

4.0ms
x
3.0ms
t
3.0ms
y
3.0ms
z
Results
ErrorSegmentsBranch
38.4b1x
38.4b1y
38.4b1z
38.4b1t
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify12.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
054174
170174
283174
395174
4103174
5108174
6110174
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
(if (<=.f64 x -639253408005964022350684943785859990320769702821888) (+.f64 (*.f64 1/8 x) t) (if (<=.f64 x 25711130251846705786053483680954742442596647434900033536786432) (-.f64 t (*.f64 1/2 (*.f64 y z))) (+.f64 (*.f64 1/8 x) t)))
(if (<=.f64 z -7857338611115675/1496577676626844588240573268701473812127674924007424) (*.f64 y (*.f64 z -1/2)) (if (<=.f64 z 12000000000000000496865878364855385636201248056368359870735338409167261627934342176354867336792577149743475436957677626049325994240678780913402110803968) (+.f64 (*.f64 1/8 x) t) (if (<=.f64 z 2750000000000000027613359700896259727367003692149757418047246208102323305354557589123217159537747867249300934007036991714481081400817779771422929826525409111135324471296) (*.f64 y (*.f64 z -1/2)) (if (<=.f64 z 370000000000000003116327122205115966606051497805923901359127556807021893132244583733512506334709190108994510048162833521453359126490815271534447082316945432781518464222906672633215446256148323896536846198477804970781215555584) (+.f64 (*.f64 1/8 x) t) (*.f64 y (*.f64 z -1/2))))))
(if (<=.f64 x -980127963447326775609121168371021502949599539827518479925285673968540903007980269476876924353647843134828276105556040017810963824640) (*.f64 1/8 x) (if (<=.f64 x -14405210579515/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) t (if (<=.f64 x -8676836815360313344/39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306816) (*.f64 y (*.f64 z -1/2)) (if (<=.f64 x 166364465209126298706299366720919306240) t (*.f64 1/8 x)))))
(if (<=.f64 x -980127963447326775609121168371021502949599539827518479925285673968540903007980269476876924353647843134828276105556040017810963824640) (*.f64 1/8 x) (if (<=.f64 x 166364465209126298706299366720919306240) t (*.f64 1/8 x)))
t
Outputs
(+.f64 (-.f64 (*.f64 (/.f64 1 8) x) (/.f64 (*.f64 y z) 2)) t)
(+.f64 (-.f64 (*.f64 1/8 x) (/.f64 (*.f64 y z) 2)) t)
(if (<=.f64 x -639253408005964022350684943785859990320769702821888) (+.f64 (*.f64 1/8 x) t) (if (<=.f64 x 25711130251846705786053483680954742442596647434900033536786432) (-.f64 t (*.f64 1/2 (*.f64 y z))) (+.f64 (*.f64 1/8 x) t)))
(if (<=.f64 x -639253408005964022350684943785859990320769702821888) (+.f64 (*.f64 1/8 x) t) (if (<=.f64 x 25711130251846705786053483680954742442596647434900033536786432) (-.f64 t (*.f64 (*.f64 y z) 1/2)) (+.f64 (*.f64 1/8 x) t)))
(if (<=.f64 z -7857338611115675/1496577676626844588240573268701473812127674924007424) (*.f64 y (*.f64 z -1/2)) (if (<=.f64 z 12000000000000000496865878364855385636201248056368359870735338409167261627934342176354867336792577149743475436957677626049325994240678780913402110803968) (+.f64 (*.f64 1/8 x) t) (if (<=.f64 z 2750000000000000027613359700896259727367003692149757418047246208102323305354557589123217159537747867249300934007036991714481081400817779771422929826525409111135324471296) (*.f64 y (*.f64 z -1/2)) (if (<=.f64 z 370000000000000003116327122205115966606051497805923901359127556807021893132244583733512506334709190108994510048162833521453359126490815271534447082316945432781518464222906672633215446256148323896536846198477804970781215555584) (+.f64 (*.f64 1/8 x) t) (*.f64 y (*.f64 z -1/2))))))
(if (<=.f64 x -980127963447326775609121168371021502949599539827518479925285673968540903007980269476876924353647843134828276105556040017810963824640) (*.f64 1/8 x) (if (<=.f64 x -14405210579515/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) t (if (<=.f64 x -8676836815360313344/39402006196394479212279040100143613805079739270465446667948293404245721771497210611414266254884915640806627990306816) (*.f64 y (*.f64 z -1/2)) (if (<=.f64 x 166364465209126298706299366720919306240) t (*.f64 1/8 x)))))
(if (<=.f64 x -980127963447326775609121168371021502949599539827518479925285673968540903007980269476876924353647843134828276105556040017810963824640) (*.f64 1/8 x) (if (<=.f64 x -14405210579515/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) t (if (<=.f64 x -4236736726250153/19239260838083241802870625048898248928261591440656956380834127638791856333738872368854622194768025215237611323392) (*.f64 y (*.f64 z -1/2)) (if (<=.f64 x 166364465209126298706299366720919306240) t (*.f64 1/8 x)))))
(if (<=.f64 x -980127963447326775609121168371021502949599539827518479925285673968540903007980269476876924353647843134828276105556040017810963824640) (*.f64 1/8 x) (if (<=.f64 x 166364465209126298706299366720919306240) t (*.f64 1/8 x)))
t
Compiler

Compiled 146 to 103 computations (29.5% saved)

soundness0.0ms (0%)

end68.0ms (1.7%)

Remove

(sort y z)

Compiler

Compiled 156 to 104 computations (33.3% saved)

Profiling

Loading profile data...