Details

Time bar (total: 3.4s)

analyze226.0ms (6.5%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
28.1%28.1%71.8%0.1%0%0%0%9
37.6%34.3%56.9%0.1%8.6%0%0%10
44.8%40.6%49.9%0.1%9.4%0%0%11
53.4%48%41.9%0.1%9.9%0%0%12
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample1.1s (33.3%)

Results
973.0ms8254×body256valid
161.0ms1163×body256infinite
0.0msbody1024valid
0.0msbody512valid
Bogosity

preprocess28.0ms (0.8%)

Algorithm
egg-herbie
Rules
522×fma-def_binary64
97×distribute-rgt-in_binary64
78×associate-+l+_binary64
66×associate-+r+_binary64
61×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01640
15340
213740
333640
470640
5109040
6115640
7116240
033
133
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
Call 2
Inputs
(*.f64 (+.f64 x y) (+.f64 z 1))
(*.f64 (+.f64 y x) (+.f64 z 1))
(*.f64 (+.f64 z y) (+.f64 x 1))
(*.f64 (+.f64 x z) (+.f64 y 1))
Outputs
(*.f64 (+.f64 x y) (+.f64 z 1))
(*.f64 (+.f64 z 1) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 z 1))
(*.f64 (+.f64 z 1) (+.f64 x y))
(*.f64 (+.f64 z y) (+.f64 x 1))
(*.f64 (+.f64 y z) (+.f64 x 1))
(*.f64 (+.f64 x z) (+.f64 y 1))
Symmetry

(sort x y)

Compiler

Compiled 13 to 10 computations (23.1% saved)

simplify11.0ms (0.3%)

Algorithm
egg-herbie
Rules
186×fma-def_binary64
32×distribute-rgt-in_binary64
26×associate-+l+_binary64
22×associate-+r+_binary64
20×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0810
11910
25110
312010
424610
538610
640810
741010
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z 1))
Outputs
(*.f64 (+.f64 x y) (+.f64 z 1))

eval0.0ms (0%)

Compiler

Compiled 10 to 7 computations (30% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (+.f64 x y) (+.f64 z 1))
Compiler

Compiled 10 to 7 computations (30% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x y) (+.f64 z 1))
Compiler

Compiled 20 to 10 computations (50% saved)

series6.0ms (0.2%)

Counts
1 → 36
Calls

9 calls:

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

rewrite50.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
676×prod-diff_binary64
600×unpow-prod-down_binary64
408×log-prod_binary64
324×fma-def_binary64
231×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify75.0ms (2.2%)

Algorithm
egg-herbie
Rules
713×fma-def_binary64
650×div-sub_binary64
497×fma-neg_binary64
316×associate-/l*_binary64
282×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02031545
16001507
218831392
359111392
Stop Event
node limit
Counts
112 → 118
Calls
Call 1
Inputs
(*.f64 y (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 y (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 y (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(+.f64 y x)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) z)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) z)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))
(+.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1)))
(+.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))
(+.f64 (*.f64 (*.f64 (+.f64 x y) z) 1) (+.f64 x y))
(+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y (+.f64 z 1)))
(+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x (+.f64 z 1)))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 z 1) y))
(+.f64 (*.f64 (+.f64 z 1) y) (*.f64 (+.f64 z 1) x))
(+.f64 (fma.f64 (+.f64 x y) z x) y)
(+.f64 (fma.f64 (+.f64 x y) z y) x)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) 1)
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 1 (pow.f64 z 3))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 (fma.f64 z z 1) z)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 1 (pow.f64 z 3))) (*.f64 (-.f64 x y) (-.f64 (fma.f64 z z 1) z)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 z z -1)) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z 1)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (fma.f64 z z -1)) (*.f64 (-.f64 x y) (-.f64 z 1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 (fma.f64 z z 1) z) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 z 1) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 (fma.f64 z z 1) z) (-.f64 x y)))
(/.f64 (*.f64 (fma.f64 z z -1) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 z 1) (-.f64 x y)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 z 1)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 z 1)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 x y)) (-.f64 (fma.f64 z z 1) z))
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 x y)) (-.f64 z 1))
(/.f64 (*.f64 (+.f64 x y) (+.f64 1 (pow.f64 z 3))) (-.f64 (fma.f64 z z 1) z))
(/.f64 (*.f64 (+.f64 x y) (fma.f64 z z -1)) (-.f64 z 1))
(/.f64 (*.f64 (+.f64 z 1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))))
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (exp.f64 (*.f64 (+.f64 x y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (exp.f64 (*.f64 (+.f64 x y) z))))
(log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 x y) z)) (+.f64 1 (expm1.f64 (+.f64 x y)))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))) 1))
(fma.f64 x (+.f64 z 1) (*.f64 y (+.f64 z 1)))
(fma.f64 y (+.f64 z 1) (*.f64 x (+.f64 z 1)))
(fma.f64 (+.f64 x y) z (+.f64 x y))
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z))
(fma.f64 z (+.f64 x y) (+.f64 x y))
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z))
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y))
(fma.f64 (+.f64 z 1) x (*.f64 (+.f64 z 1) y))
(fma.f64 (+.f64 z 1) y (*.f64 (+.f64 z 1) x))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y))
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y))
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z))
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y))
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y x) (*.f64 x x))) (*.f64 (+.f64 x y) z))
(fma.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (+.f64 x y))
(fma.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (+.f64 x y))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y))
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y))
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y))
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y))
Outputs
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 1 z))
(fma.f64 z x x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 1 z))
(fma.f64 z x x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 1 z))
(fma.f64 z x x)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 1 z) x) (*.f64 y (+.f64 1 z)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 y x)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(*.f64 (+.f64 y x) z)
(*.f64 z (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(*.f64 (+.f64 y x) z)
(*.f64 z (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 0 (*.f64 (+.f64 x y) (+.f64 z 1)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (*.f64 (+.f64 x y) z) 1) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 x (+.f64 z 1)) (*.f64 y (+.f64 z 1)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 y (+.f64 z 1)) (*.f64 x (+.f64 z 1)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 z 1) x) (*.f64 (+.f64 z 1) y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (*.f64 (+.f64 z 1) y) (*.f64 (+.f64 z 1) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (fma.f64 (+.f64 x y) z x) y)
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (fma.f64 (+.f64 x y) z y) x)
(*.f64 (+.f64 y x) (+.f64 1 z))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 y x)) (+.f64 1 z)))) 3)
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 z)) (+.f64 y x)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))))
(*.f64 (+.f64 y x) (+.f64 1 z))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))) 1)
(*.f64 (+.f64 y x) (+.f64 1 z))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 1 (pow.f64 z 3))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 (fma.f64 z z 1) z)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (/.f64 (-.f64 (fma.f64 z z 1) z) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 1 (pow.f64 z 3))) (*.f64 (-.f64 x y) (-.f64 (fma.f64 z z 1) z)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)))
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 z z -1)) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z 1)))
(/.f64 (fma.f64 z z -1) (/.f64 (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 z -1)) (+.f64 (pow.f64 x 3) (pow.f64 y 3))))
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (fma.f64 z z -1) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 z -1)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (fma.f64 z z -1)) (*.f64 (-.f64 x y) (-.f64 z 1)))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 (fma.f64 z z 1) z) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 1 (pow.f64 z 3))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 (fma.f64 z z 1) z)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (/.f64 (-.f64 (fma.f64 z z 1) z) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 (-.f64 z 1) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (fma.f64 z z -1) (/.f64 (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 z -1)) (+.f64 (pow.f64 x 3) (pow.f64 y 3))))
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (/.f64 (fma.f64 z z -1) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 z -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 (fma.f64 z z 1) z) (-.f64 x y)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)))
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)))
(/.f64 (*.f64 (fma.f64 z z -1) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 z 1) (-.f64 x y)))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 3) (pow.f64 (+.f64 x y) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 3) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 2) (-.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (+.f64 y x) (*.f64 z (+.f64 y x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 3) (pow.f64 (+.f64 y x) 3)) (-.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) 2) (pow.f64 (+.f64 y x) 2)) (*.f64 z (pow.f64 (+.f64 y x) 2))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (pow.f64 (+.f64 y x) 3)) (-.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (pow.f64 (+.f64 y x) 2) (-.f64 z (*.f64 z z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))
(/.f64 (-.f64 (pow.f64 (*.f64 z (+.f64 y x)) 2) (pow.f64 (+.f64 y x) 2)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)))
(/.f64 (*.f64 (pow.f64 (+.f64 y x) 2) (fma.f64 z z -1)) (*.f64 (+.f64 y x) (+.f64 z -1)))
(/.f64 (*.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (+.f64 z 1)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 1 z)))
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 1 z))
(*.f64 (+.f64 1 z) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (+.f64 z 1)) (-.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) (+.f64 x y)) (-.f64 (fma.f64 z z 1) z))
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)))
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)))
(/.f64 (*.f64 (fma.f64 z z -1) (+.f64 x y)) (-.f64 z 1))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1)))
(/.f64 (*.f64 (+.f64 x y) (+.f64 1 (pow.f64 z 3))) (-.f64 (fma.f64 z z 1) z))
(*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)))
(*.f64 (*.f64 (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)) (+.f64 y x)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (+.f64 1 (pow.f64 z 3)) (-.f64 (fma.f64 z z 1) z)))
(/.f64 (*.f64 (+.f64 x y) (fma.f64 z z -1)) (-.f64 z 1))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y)) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(*.f64 (*.f64 (/.f64 (+.f64 y x) (+.f64 z -1)) (fma.f64 z z -1)) (/.f64 (-.f64 x y) (-.f64 x y)))
(*.f64 (+.f64 y x) (/.f64 (fma.f64 z z -1) (+.f64 z -1)))
(/.f64 (+.f64 y x) (/.f64 (+.f64 z -1) (fma.f64 z z -1)))
(/.f64 (*.f64 (+.f64 z 1) (+.f64 (pow.f64 x 3) (pow.f64 y 3))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (+.f64 1 z)))
(*.f64 (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (+.f64 1 z))
(*.f64 (+.f64 1 z) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 z 1) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 1)
(*.f64 (+.f64 y x) (+.f64 1 z))
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2) 1/2)
(*.f64 (+.f64 y x) (+.f64 1 z))
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3) 1/3)
(*.f64 (+.f64 y x) (+.f64 1 z))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 3)
(*.f64 (+.f64 y x) (+.f64 1 z))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 z 1))) 2)
(*.f64 (+.f64 y x) (+.f64 1 z))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 2))
(*.f64 (+.f64 y x) (+.f64 1 z))
(log.f64 (pow.f64 (exp.f64 (+.f64 x y)) (+.f64 z 1)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1)))))
(*.f64 (+.f64 y x) (+.f64 1 z))
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (exp.f64 (*.f64 (+.f64 x y) z))))
(*.f64 (+.f64 y x) (+.f64 1 z))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (exp.f64 (*.f64 (+.f64 x y) z))))
(*.f64 (+.f64 y x) (+.f64 1 z))
(log.f64 (*.f64 (exp.f64 (*.f64 (+.f64 x y) z)) (+.f64 1 (expm1.f64 (+.f64 x y)))))
(*.f64 (+.f64 y x) (+.f64 1 z))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 z 1)) 3))
(*.f64 (+.f64 y x) (+.f64 1 z))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))
(*.f64 (+.f64 y x) (+.f64 1 z))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 z 1))))
(*.f64 (+.f64 y x) (+.f64 1 z))
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))))
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 y x))))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 x y))) 1))
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 (+.f64 y x))))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(fma.f64 x (+.f64 z 1) (*.f64 y (+.f64 z 1)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 y (+.f64 z 1) (*.f64 x (+.f64 z 1)))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (+.f64 x y) z (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 z (+.f64 x y) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (+.f64 z 1) x (*.f64 (+.f64 z 1) y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (+.f64 z 1) y (*.f64 (+.f64 z 1) x))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) 1) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y x) (*.f64 x x))) (*.f64 (+.f64 x y) z))
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 y (-.f64 y x) (*.f64 x x))) (*.f64 z (+.f64 y x)))
(+.f64 (*.f64 z (+.f64 y x)) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(fma.f64 z (+.f64 y x) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(fma.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (*.f64 (sqrt.f64 z) (sqrt.f64 (+.f64 x y))) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (*.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 z)) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y))
(*.f64 (+.f64 y x) (+.f64 1 z))

eval26.0ms (0.7%)

Compiler

Compiled 1828 to 759 computations (58.5% saved)

prune49.0ms (1.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1135118
Fresh000
Picked101
Done000
Total1145119
Error
0b
Counts
119 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))
26.4b
(+.f64 y x)
37.2b
(*.f64 (+.f64 y x) z)
30.1b
(*.f64 (+.f64 1 z) x)
33.4b
(*.f64 y (+.f64 1 z))
Compiler

Compiled 84 to 54 computations (35.7% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))
Compiler

Compiled 23 to 6 computations (73.9% saved)

series4.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite58.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
493×fma-def_binary64
412×log-prod_binary64
403×prod-exp_binary64
339×pow-prod-down_binary64
300×exp-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify97.0ms (2.8%)

Algorithm
egg-herbie
Rules
687×distribute-rgt-in_binary64
657×distribute-lft-in_binary64
589×fma-def_binary64
456×times-frac_binary64
237×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02491989
17181752
218681665
Stop Event
node limit
Counts
128 → 125
Calls
Call 1
Inputs
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(*.f64 (+.f64 1 z) x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))))
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))))
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))))
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(*.f64 y (+.f64 1 z))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))))
(+.f64 y x)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) z)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(*.f64 (+.f64 y x) z)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) 1)
(-.f64 (/.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (+.f64 x y) (-.f64 1 z))) (/.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (+.f64 x y) (+.f64 1 z))
(*.f64 (+.f64 x y) (+.f64 z 1))
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1)
(*.f64 1 (*.f64 (+.f64 x y) (+.f64 1 z)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2) (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(*.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))))
(*.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))))
(*.f64 (+.f64 z 1) (+.f64 x y))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))))
(/.f64 1 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (pow.f64 (+.f64 x y) 2) z))))
(/.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (*.f64 (+.f64 x y) (-.f64 1 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) (neg.f64 (*.f64 (+.f64 x y) (-.f64 1 z))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 x y) z y) 3)) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 (+.f64 x y) z y) 2) (*.f64 x (fma.f64 (+.f64 x y) z y)))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (+.f64 x y) z y) 2)) (-.f64 x (fma.f64 (+.f64 x y) z y)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))
(pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2)
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))
(pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) -1)
(pow.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2)) (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 z 1)) (+.f64 x y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 (+.f64 x y) z y))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (pow.f64 (exp.f64 z) (+.f64 x y))))
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (exp.f64 (+.f64 x y))))
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 x y)) (+.f64 1 (expm1.f64 (+.f64 x y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (+.f64 1 (expm1.f64 (+.f64 x y)))))
(log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 x y) z y)) (+.f64 1 (expm1.f64 x))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(exp.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))
(exp.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 1/3))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2))
(exp.f64 (*.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1) 1))
(fma.f64 x 1 (fma.f64 (+.f64 x y) z y))
(fma.f64 x 1 (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 y 1 (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 (+.f64 x y) z (+.f64 x y))
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z))
(fma.f64 z (+.f64 x y) (+.f64 x y))
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y))
(fma.f64 1 x (fma.f64 (+.f64 x y) z y))
(fma.f64 1 x (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 1 y (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z))
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y))
(fma.f64 1 (fma.f64 (+.f64 x y) z y) x)
(fma.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (+.f64 x y))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 (+.f64 x y) z y))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 (+.f64 x y) z y))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y))
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 (+.f64 x y) z y))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y))
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 (+.f64 x y) z))
(fma.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 x y) z y)) 2) (cbrt.f64 (fma.f64 (+.f64 x y) z y)) x)
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 x y) z y)) (sqrt.f64 (fma.f64 (+.f64 x y) z y)) x)
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y))
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y))
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y))
Outputs
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (+.f64 1 z) x)
(fma.f64 z x x)
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 y z) (+.f64 (*.f64 (+.f64 1 z) x) y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(fma.f64 z x x)
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 y z) (+.f64 y (*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 z x) x)
(fma.f64 z x x)
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 z x) (+.f64 (*.f64 y (+.f64 1 z)) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(fma.f64 y z y)
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 (*.f64 z x) (+.f64 x (*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 y x)
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (+.f64 y x) z)
(*.f64 z (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (+.f64 y x) z)
(*.f64 z (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(+.f64 y (+.f64 (*.f64 (+.f64 y x) z) x))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))) 1)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(-.f64 (/.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (+.f64 x y) (-.f64 1 z))) (/.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (*.f64 (+.f64 x y) (-.f64 1 z))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1))
(*.f64 (+.f64 x y) (+.f64 1 z))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (+.f64 x y) (+.f64 z 1))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 1 (*.f64 (+.f64 x y) (+.f64 1 z)))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2) (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(*.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (/.f64 1 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))))
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1))))
(*.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (/.f64 1 (*.f64 (+.f64 x y) (-.f64 1 z))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1))
(*.f64 (+.f64 z 1) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))))
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1))))
(/.f64 1 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1))
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)))
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1))))
(/.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3)) (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (-.f64 (pow.f64 (+.f64 x y) 2) (*.f64 (pow.f64 (+.f64 x y) 2) z))))
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1))))
(/.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2)) (*.f64 (+.f64 x y) (-.f64 1 z)))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) (neg.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2))))
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) (neg.f64 (*.f64 (+.f64 x y) (-.f64 1 z))))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 x y) z y) 3)) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 (+.f64 x y) z y) 2) (*.f64 x (fma.f64 (+.f64 x y) z y)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 (+.f64 y x) z y) 3)) (fma.f64 x x (-.f64 (pow.f64 (fma.f64 (+.f64 y x) z y) 2) (*.f64 x (fma.f64 (+.f64 y x) z y)))))
(/.f64 (+.f64 (pow.f64 x 3) (pow.f64 (fma.f64 z (+.f64 y x) y) 3)) (fma.f64 x x (*.f64 (fma.f64 z (+.f64 y x) y) (-.f64 (fma.f64 z (+.f64 y x) y) x))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (+.f64 x y) z y) 2)) (-.f64 x (fma.f64 (+.f64 x y) z y)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 (+.f64 y x) z y) 2)) (-.f64 x (fma.f64 (+.f64 y x) z y)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (fma.f64 z (+.f64 y x) y) 2)) (-.f64 x (fma.f64 z (+.f64 y x) y)))
(/.f64 (-.f64 (pow.f64 (*.f64 (+.f64 x y) z) 2) (pow.f64 (+.f64 x y) 2)) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1))
(pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 1)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2) 1/2)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(pow.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3) 1/3)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 3)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 x y) (+.f64 1 z))) 2)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(pow.f64 (exp.f64 1) (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(pow.f64 (/.f64 (fma.f64 (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)) (pow.f64 (+.f64 x y) 2)) (+.f64 (pow.f64 (+.f64 x y) 3) (pow.f64 (*.f64 (+.f64 x y) z) 3))) -1)
(*.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (/.f64 1 (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2))))
(/.f64 (+.f64 (pow.f64 (+.f64 y x) 3) (pow.f64 (*.f64 z (+.f64 y x)) 3)) (fma.f64 (*.f64 z (+.f64 y x)) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)) (pow.f64 (+.f64 y x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) 1) (pow.f64 (+.f64 y x) 3)) (+.f64 (pow.f64 (+.f64 y x) 2) (*.f64 (*.f64 z (pow.f64 (+.f64 y x) 2)) (+.f64 z -1))))
(pow.f64 (/.f64 (*.f64 (+.f64 x y) (-.f64 1 z)) (-.f64 (pow.f64 (+.f64 x y) 2) (pow.f64 (*.f64 (+.f64 x y) z) 2))) -1)
(/.f64 (-.f64 (pow.f64 (+.f64 y x) 2) (pow.f64 (*.f64 z (+.f64 y x)) 2)) (*.f64 (+.f64 y x) (-.f64 1 z)))
(/.f64 (-.f64 (*.f64 (+.f64 y x) (/.f64 (*.f64 z z) 1)) (+.f64 y x)) (+.f64 z -1))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2)) (cbrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))) 2)) (cbrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))) (sqrt.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))))
(pow.f64 (exp.f64 (sqrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))) (sqrt.f64 (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z))))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 2))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (pow.f64 (exp.f64 (+.f64 z 1)) (+.f64 x y)))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 x)) (exp.f64 (fma.f64 (+.f64 x y) z y))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (pow.f64 (exp.f64 z) (+.f64 x y))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (exp.f64 (+.f64 x y)) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (+.f64 x y))) (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (exp.f64 (+.f64 x y))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (+.f64 x y)) (+.f64 1 (expm1.f64 (+.f64 x y)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 x y) z))) (+.f64 1 (expm1.f64 (+.f64 x y)))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log.f64 (*.f64 (exp.f64 (fma.f64 (+.f64 x y) z y)) (+.f64 1 (expm1.f64 x))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 x y) (+.f64 1 z)) 3))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 x y) (+.f64 1 z))))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(exp.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)))
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(exp.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1))
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 1/3))
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 3))
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z))) 2))
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(exp.f64 (*.f64 (*.f64 (+.f64 (log.f64 (+.f64 x y)) (log1p.f64 z)) 1) 1))
(pow.f64 (E.f64) (+.f64 (log.f64 (+.f64 y x)) (log1p.f64 z)))
(*.f64 (+.f64 y x) (exp.f64 (log1p.f64 z)))
(fma.f64 x 1 (fma.f64 (+.f64 x y) z y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 x 1 (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 y 1 (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (+.f64 x y) z (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (+.f64 x y) 1 (*.f64 (+.f64 x y) z))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 z (+.f64 x y) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (*.f64 (+.f64 x y) z) 1 (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 1 x (fma.f64 (+.f64 x y) z y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 1 x (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 1 y (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 1 (+.f64 x y) (*.f64 (+.f64 x y) z))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 1 (*.f64 (+.f64 x y) z) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 1 (fma.f64 (+.f64 x y) z y) x)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 x y) z)) 2) (cbrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (cbrt.f64 y) (pow.f64 (cbrt.f64 y) 2) (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (+.f64 x y)) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (fma.f64 (+.f64 x y) z y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 x) 2) (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (fma.f64 (+.f64 x y) z y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (cbrt.f64 (+.f64 x y)) (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (+.f64 x y) z))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (cbrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 x y)) 2) (*.f64 (cbrt.f64 (+.f64 x y)) z) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 (+.f64 x y) z)) (sqrt.f64 (*.f64 (+.f64 x y) z)) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (+.f64 x (*.f64 (+.f64 x y) z)))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (+.f64 x y)) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (fma.f64 (+.f64 x y) z y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 (fma.f64 (+.f64 x y) z y) 1))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 (+.f64 x y)) (sqrt.f64 (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 (+.f64 x y)) (*.f64 (sqrt.f64 (+.f64 x y)) z) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 (+.f64 x y) z))
(fma.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 1 (fma.f64 x x (*.f64 y (-.f64 y x)))) (*.f64 z (+.f64 y x)))
(fma.f64 z (+.f64 y x) (/.f64 (+.f64 (pow.f64 x 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(fma.f64 (-.f64 (*.f64 x x) (*.f64 y y)) (/.f64 1 (-.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 x y) z y)) 2) (cbrt.f64 (fma.f64 (+.f64 x y) z y)) x)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 x y) z y)) (sqrt.f64 (fma.f64 (+.f64 x y) z y)) x)
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (*.f64 (+.f64 x y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (*.f64 (+.f64 x y) (sqrt.f64 z)) (sqrt.f64 z) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (+.f64 x y)) 2)) (cbrt.f64 (+.f64 x y)) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))
(fma.f64 (*.f64 z (sqrt.f64 (+.f64 x y))) (sqrt.f64 (+.f64 x y)) (+.f64 x y))
(fma.f64 y z (+.f64 y (fma.f64 z x x)))
(*.f64 (+.f64 z 1) (+.f64 y x))

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 y (+.f64 1 z))
Compiler

Compiled 14 to 9 computations (35.7% saved)

series2.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@0
(*.f64 y (+.f64 1 z))
0.0ms
y
@inf
(*.f64 y (+.f64 1 z))
0.0ms
z
@-inf
(*.f64 y (+.f64 1 z))
0.0ms
y
@-inf
(*.f64 y (+.f64 1 z))
0.0ms
z
@inf
(*.f64 y (+.f64 1 z))

rewrite43.0ms (1.3%)

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

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (1.1%)

Algorithm
egg-herbie
Rules
511×associate-/l*_binary64
453×associate-*l*_binary64
397×associate-*r*_binary64
392×associate-/r*_binary64
297×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
076250
1210248
2676239
33612237
Stop Event
node limit
Counts
38 → 37
Calls
Call 1
Inputs
y
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 y z) y)
(*.f64 y z)
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 y z) y)
(*.f64 y z)
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 y z) y)
(+.f64 y (*.f64 y z))
(+.f64 y (*.f64 (*.f64 y z) 1))
(+.f64 (*.f64 y z) y)
(-.f64 (+.f64 1 (+.f64 y (*.f64 y z))) 1)
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (+.f64 (*.f64 y y) (-.f64 (*.f64 (*.f64 y z) (*.f64 y z)) (*.f64 y (*.f64 y z)))))
(/.f64 (-.f64 (*.f64 y y) (*.f64 (*.f64 y z) (*.f64 y z))) (-.f64 y (*.f64 y z)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) y) (+.f64 1 (fma.f64 z z (neg.f64 z))))
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) y) (-.f64 1 z))
(/.f64 (*.f64 y (+.f64 1 (pow.f64 z 3))) (+.f64 1 (fma.f64 z z (neg.f64 z))))
(/.f64 (*.f64 y (-.f64 1 (*.f64 z z))) (-.f64 1 z))
(pow.f64 (+.f64 y (*.f64 y z)) 1)
(pow.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y z))) 3)
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y z))) 2)
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 2))
(log.f64 (pow.f64 (exp.f64 y) (+.f64 1 z)))
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3))
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 1 z) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 z) 3) (pow.f64 y 3)))
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y z))))
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y z))))
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 y)))
(fma.f64 y 1 (*.f64 y z))
(fma.f64 1 y (*.f64 y z))
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z))
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z))
Outputs
y
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(*.f64 y z)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(*.f64 y z)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(+.f64 y (*.f64 y z))
(fma.f64 y z y)
(+.f64 y (*.f64 (*.f64 y z) 1))
(fma.f64 y z y)
(+.f64 (*.f64 y z) y)
(fma.f64 y z y)
(-.f64 (+.f64 1 (+.f64 y (*.f64 y z))) 1)
(fma.f64 y z y)
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (+.f64 (*.f64 y y) (-.f64 (*.f64 (*.f64 y z) (*.f64 y z)) (*.f64 y (*.f64 y z)))))
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (fma.f64 y y (*.f64 (*.f64 y z) (-.f64 (*.f64 y z) y))))
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (fma.f64 y y (*.f64 (*.f64 y y) (-.f64 (*.f64 z z) z))))
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (*.f64 y (+.f64 y (*.f64 y (-.f64 (*.f64 z z) z)))))
(/.f64 (+.f64 (pow.f64 y 3) (pow.f64 (*.f64 y z) 3)) (*.f64 (*.f64 y y) (fma.f64 z z (-.f64 1 z))))
(/.f64 (-.f64 (*.f64 y y) (*.f64 (*.f64 y z) (*.f64 y z))) (-.f64 y (*.f64 y z)))
(fma.f64 y z y)
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) y) (+.f64 1 (fma.f64 z z (neg.f64 z))))
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (fma.f64 z z (neg.f64 z))) y))
(*.f64 (/.f64 y (+.f64 1 (-.f64 (*.f64 z z) z))) (+.f64 1 (pow.f64 z 3)))
(/.f64 (fma.f64 y (pow.f64 z 3) y) (fma.f64 z z (-.f64 1 z)))
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) y) (-.f64 1 z))
(fma.f64 y z y)
(/.f64 (*.f64 y (+.f64 1 (pow.f64 z 3))) (+.f64 1 (fma.f64 z z (neg.f64 z))))
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (fma.f64 z z (neg.f64 z))) y))
(*.f64 (/.f64 y (+.f64 1 (-.f64 (*.f64 z z) z))) (+.f64 1 (pow.f64 z 3)))
(/.f64 (fma.f64 y (pow.f64 z 3) y) (fma.f64 z z (-.f64 1 z)))
(/.f64 (*.f64 y (-.f64 1 (*.f64 z z))) (-.f64 1 z))
(fma.f64 y z y)
(pow.f64 (+.f64 y (*.f64 y z)) 1)
(fma.f64 y z y)
(pow.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3) 1/3)
(fma.f64 y z y)
(pow.f64 (cbrt.f64 (+.f64 y (*.f64 y z))) 3)
(fma.f64 y z y)
(pow.f64 (sqrt.f64 (+.f64 y (*.f64 y z))) 2)
(fma.f64 y z y)
(sqrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 2))
(fma.f64 y z y)
(log.f64 (pow.f64 (exp.f64 y) (+.f64 1 z)))
(fma.f64 y z y)
(cbrt.f64 (pow.f64 (+.f64 y (*.f64 y z)) 3))
(fma.f64 y z y)
(cbrt.f64 (*.f64 (pow.f64 y 3) (pow.f64 (+.f64 1 z) 3)))
(fma.f64 y z y)
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 z) 3) (pow.f64 y 3)))
(fma.f64 y z y)
(expm1.f64 (log1p.f64 (+.f64 y (*.f64 y z))))
(fma.f64 y z y)
(log1p.f64 (expm1.f64 (+.f64 y (*.f64 y z))))
(fma.f64 y z y)
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 y)))
(*.f64 y (exp.f64 (log1p.f64 z)))
(fma.f64 y 1 (*.f64 y z))
(fma.f64 y z y)
(fma.f64 1 y (*.f64 y z))
(fma.f64 y z y)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z))
(fma.f64 y z y)
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z))
(fma.f64 y z y)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 1 z) x)
Compiler

Compiled 14 to 9 computations (35.7% saved)

series2.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 (+.f64 1 z) x)
0.0ms
z
@0
(*.f64 (+.f64 1 z) x)
0.0ms
x
@inf
(*.f64 (+.f64 1 z) x)
0.0ms
x
@-inf
(*.f64 (+.f64 1 z) x)
0.0ms
z
@-inf
(*.f64 (+.f64 1 z) x)

rewrite42.0ms (1.2%)

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

Useful iterations: 0 (0.0ms)

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

simplify46.0ms (1.3%)

Algorithm
egg-herbie
Rules
675×times-frac_binary64
617×div-sub_binary64
437×fma-def_binary64
293×*-commutative_binary64
265×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
052210
1131208
2377200
31943200
43783200
56215200
Stop Event
node limit
Counts
31 → 30
Calls
Call 1
Inputs
x
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(*.f64 z x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(*.f64 z x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 z x) x)
(+.f64 x (*.f64 z x))
(+.f64 x (*.f64 x z))
(+.f64 (*.f64 z x) x)
(+.f64 (*.f64 x z) x)
(-.f64 (+.f64 1 (+.f64 x (*.f64 z x))) 1)
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) x) (+.f64 1 (-.f64 (*.f64 z z) z)))
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) x) (-.f64 1 z))
(/.f64 (*.f64 x (+.f64 1 (pow.f64 z 3))) (+.f64 1 (-.f64 (*.f64 z z) z)))
(/.f64 (*.f64 x (-.f64 1 (*.f64 z z))) (-.f64 1 z))
(pow.f64 (+.f64 x (*.f64 z x)) 1)
(pow.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 z x))) 3)
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 z x))) 2)
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 2))
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)))
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3))
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 z x))))
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 z x))))
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 x)))
Outputs
x
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(*.f64 z x)
(*.f64 x z)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 x (*.f64 z x))
(fma.f64 x z x)
(+.f64 x (*.f64 x z))
(fma.f64 x z x)
(+.f64 (*.f64 z x) x)
(fma.f64 x z x)
(+.f64 (*.f64 x z) x)
(fma.f64 x z x)
(-.f64 (+.f64 1 (+.f64 x (*.f64 z x))) 1)
(fma.f64 x z x)
(/.f64 (*.f64 (+.f64 1 (pow.f64 z 3)) x) (+.f64 1 (-.f64 (*.f64 z z) z)))
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (-.f64 (*.f64 z z) z)) x))
(*.f64 (/.f64 x (+.f64 (*.f64 z z) (-.f64 1 z))) (+.f64 1 (pow.f64 z 3)))
(/.f64 (fma.f64 x (pow.f64 z 3) x) (-.f64 (fma.f64 z z 1) z))
(/.f64 (*.f64 (-.f64 1 (*.f64 z z)) x) (-.f64 1 z))
(/.f64 (-.f64 1 (*.f64 z z)) (/.f64 (-.f64 1 z) x))
(*.f64 (/.f64 x (-.f64 1 z)) (-.f64 1 (*.f64 z z)))
(*.f64 x (/.f64 (-.f64 1 (*.f64 z z)) (-.f64 1 z)))
(/.f64 (*.f64 x (+.f64 1 (pow.f64 z 3))) (+.f64 1 (-.f64 (*.f64 z z) z)))
(/.f64 (+.f64 1 (pow.f64 z 3)) (/.f64 (+.f64 1 (-.f64 (*.f64 z z) z)) x))
(*.f64 (/.f64 x (+.f64 (*.f64 z z) (-.f64 1 z))) (+.f64 1 (pow.f64 z 3)))
(/.f64 (fma.f64 x (pow.f64 z 3) x) (-.f64 (fma.f64 z z 1) z))
(/.f64 (*.f64 x (-.f64 1 (*.f64 z z))) (-.f64 1 z))
(/.f64 (-.f64 1 (*.f64 z z)) (/.f64 (-.f64 1 z) x))
(*.f64 (/.f64 x (-.f64 1 z)) (-.f64 1 (*.f64 z z)))
(*.f64 x (/.f64 (-.f64 1 (*.f64 z z)) (-.f64 1 z)))
(pow.f64 (+.f64 x (*.f64 z x)) 1)
(fma.f64 x z x)
(pow.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3) 1/3)
(fma.f64 x z x)
(pow.f64 (cbrt.f64 (+.f64 x (*.f64 z x))) 3)
(fma.f64 x z x)
(pow.f64 (sqrt.f64 (+.f64 x (*.f64 z x))) 2)
(fma.f64 x z x)
(sqrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 2))
(fma.f64 x z x)
(log.f64 (pow.f64 (exp.f64 x) (+.f64 1 z)))
(fma.f64 x z x)
(cbrt.f64 (pow.f64 (+.f64 x (*.f64 z x)) 3))
(fma.f64 x z x)
(expm1.f64 (log1p.f64 (+.f64 x (*.f64 z x))))
(fma.f64 x z x)
(log1p.f64 (expm1.f64 (+.f64 x (*.f64 z x))))
(fma.f64 x z x)
(exp.f64 (+.f64 (log1p.f64 z) (log.f64 x)))
(*.f64 x (exp.f64 (log1p.f64 z)))

localize5.0ms (0.1%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

eval35.0ms (1%)

Compiler

Compiled 2520 to 951 computations (62.3% saved)

prune51.0ms (1.5%)

Pruning

10 alts after pruning (6 fresh and 4 done)

PrunedKeptTotal
New1866192
Fresh000
Picked011
Done134
Total18710197
Error
0b
Counts
197 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(+.f64 (*.f64 z x) x)
33.3b
(+.f64 (*.f64 y z) y)
26.4b
(+.f64 y x)
37.2b
(*.f64 (+.f64 y x) z)
30.1b
(*.f64 (+.f64 1 z) x)
48.6b
(*.f64 z x)
33.4b
(*.f64 y (+.f64 1 z))
51.4b
(*.f64 y z)
44.5b
y
44.8b
x
Compiler

Compiled 66 to 45 computations (31.8% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 y z) y)
Compiler

Compiled 13 to 5 computations (61.5% saved)

series2.0ms (0.1%)

Counts
1 → 15
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
(+.f64 (*.f64 y z) y)
0.0ms
y
@0
(+.f64 (*.f64 y z) y)
0.0ms
y
@-inf
(+.f64 (*.f64 y z) y)
0.0ms
z
@-inf
(+.f64 (*.f64 y z) y)
0.0ms
z
@0
(+.f64 (*.f64 y z) y)

rewrite47.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
618×pow1_binary64
575×add-log-exp_binary64
575×log1p-expm1-u_binary64
575×expm1-log1p-u_binary64
562×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify42.0ms (1.2%)

Algorithm
egg-herbie
Rules
540×associate-*l*_binary64
491×div-sub_binary64
467×associate-*r*_binary64
299×log-prod_binary64
194×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
093509
1237394
2747394
35001394
Stop Event
node limit
Counts
53 → 43
Calls
Call 1
Inputs
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 1 z))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
y
(*.f64 y z)
(*.f64 y z)
(-.f64 (+.f64 1 (fma.f64 y z y)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y z) y)))
(*.f64 y (+.f64 1 z))
(*.f64 y (+.f64 z 1))
(*.f64 (fma.f64 y z y) 1)
(*.f64 1 (fma.f64 y z y))
(*.f64 (cbrt.f64 (fma.f64 y z y)) (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2) (cbrt.f64 (fma.f64 y z y)))
(*.f64 (sqrt.f64 (fma.f64 y z y)) (sqrt.f64 (fma.f64 y z y)))
(*.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y z) y)))
(*.f64 (+.f64 z 1) y)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y z) y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (*.f64 y z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (-.f64 (*.f64 y z) y))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y z) y)))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y z) 2)) (-.f64 y (*.f64 y z)))
(pow.f64 (fma.f64 y z y) 1)
(pow.f64 (pow.f64 (fma.f64 y z y) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 y z y)) 3)
(pow.f64 (sqrt.f64 (fma.f64 y z y)) 2)
(sqrt.f64 (pow.f64 (fma.f64 y z y) 2))
(log.f64 (exp.f64 (fma.f64 y z y)))
(cbrt.f64 (pow.f64 (fma.f64 y z y) 3))
(expm1.f64 (log1p.f64 (fma.f64 y z y)))
(log1p.f64 (expm1.f64 (fma.f64 y z y)))
(exp.f64 (log.f64 (fma.f64 y z y)))
(fma.f64 y z y)
(fma.f64 z y y)
(fma.f64 1 y (*.f64 y z))
(fma.f64 1 (*.f64 y z) y)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) y)
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z))
(fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) y)
Outputs
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 -1 (*.f64 y (-.f64 (*.f64 -1 z) 1)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
y
(*.f64 y z)
(*.f64 y z)
(-.f64 (+.f64 1 (fma.f64 y z y)) 1)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(-.f64 (/.f64 (pow.f64 (*.f64 y z) 2) (-.f64 (*.f64 y z) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y z) y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 y (+.f64 z 1))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 (fma.f64 y z y) 1)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 1 (fma.f64 y z y))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 (cbrt.f64 (fma.f64 y z y)) (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y z y)) 2) (cbrt.f64 (fma.f64 y z y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 (sqrt.f64 (fma.f64 y z y)) (sqrt.f64 (fma.f64 y z y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (/.f64 1 (-.f64 (*.f64 y z) y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(*.f64 (+.f64 z 1) y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1))))))
(/.f64 1 (/.f64 (-.f64 (*.f64 y z) y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1))))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (+.f64 (*.f64 y y) (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (*.f64 y z)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1))))))
(/.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y)) (-.f64 (*.f64 y z) y))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y (-.f64 y (*.f64 y z)))) (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 y z) 3) (pow.f64 y 3)) (fma.f64 y y (*.f64 y (*.f64 z (*.f64 y (+.f64 z -1))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) 2) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y z) y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y z) 2)) (-.f64 y (*.f64 y z)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(pow.f64 (fma.f64 y z y) 1)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(pow.f64 (pow.f64 (fma.f64 y z y) 3) 1/3)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(pow.f64 (cbrt.f64 (fma.f64 y z y)) 3)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(pow.f64 (sqrt.f64 (fma.f64 y z y)) 2)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(sqrt.f64 (pow.f64 (fma.f64 y z y) 2))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(log.f64 (exp.f64 (fma.f64 y z y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(cbrt.f64 (pow.f64 (fma.f64 y z y) 3))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(expm1.f64 (log1p.f64 (fma.f64 y z y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(log1p.f64 (expm1.f64 (fma.f64 y z y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(exp.f64 (log.f64 (fma.f64 y z y)))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(fma.f64 y z y)
(*.f64 y (+.f64 1 z))
(fma.f64 z y y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(fma.f64 1 y (*.f64 y z))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(fma.f64 1 (*.f64 y z) y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(fma.f64 (pow.f64 (cbrt.f64 y) 2) (cbrt.f64 y) (*.f64 y z))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y z)) 2) (cbrt.f64 (*.f64 y z)) y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(fma.f64 (sqrt.f64 y) (sqrt.f64 y) (*.f64 y z))
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)
(fma.f64 (sqrt.f64 (*.f64 y z)) (sqrt.f64 (*.f64 y z)) y)
(*.f64 y (+.f64 1 z))
(fma.f64 y z y)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 z x) x)
Compiler

Compiled 13 to 5 computations (61.5% saved)

series3.0ms (0.1%)

Counts
1 → 15
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
(+.f64 (*.f64 z x) x)
0.0ms
x
@inf
(+.f64 (*.f64 z x) x)
0.0ms
z
@0
(+.f64 (*.f64 z x) x)
0.0ms
x
@-inf
(+.f64 (*.f64 z x) x)
0.0ms
z
@-inf
(+.f64 (*.f64 z x) x)

rewrite44.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
633×pow1_binary64
590×add-log-exp_binary64
589×log1p-expm1-u_binary64
589×expm1-log1p-u_binary64
577×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify39.0ms (1.1%)

Algorithm
egg-herbie
Rules
569×fma-neg_binary64
534×div-sub_binary64
400×cancel-sign-sub-inv_binary64
228×distribute-rgt-neg-in_binary64
226×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
099523
1249404
2799404
33670404
Stop Event
node limit
Counts
55 → 49
Calls
Call 1
Inputs
x
(*.f64 z x)
(*.f64 z x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 1 z) x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(-.f64 (+.f64 1 (fma.f64 z x x)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (*.f64 z x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 z x) x)))
(*.f64 x (+.f64 z 1))
(*.f64 (fma.f64 z x x) 1)
(*.f64 1 (fma.f64 z x x))
(*.f64 (cbrt.f64 (fma.f64 z x x)) (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x)))
(*.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x)))
(*.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))
(*.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 z x) x)))
(*.f64 (+.f64 z 1) x)
(*.f64 (*.f64 (+.f64 z 1) 1) x)
(*.f64 (*.f64 (+.f64 z 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (+.f64 z 1) (sqrt.f64 x)) (sqrt.f64 x))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 z x) x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))))
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (*.f64 x x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (-.f64 (*.f64 z x) x))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 z x) x)))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z x) 2)) (-.f64 x (*.f64 z x)))
(pow.f64 (fma.f64 z x x) 1)
(pow.f64 (pow.f64 (fma.f64 z x x) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 z x x)) 3)
(pow.f64 (sqrt.f64 (fma.f64 z x x)) 2)
(sqrt.f64 (pow.f64 (fma.f64 z x x) 2))
(log.f64 (exp.f64 (fma.f64 z x x)))
(cbrt.f64 (pow.f64 (fma.f64 z x x) 3))
(expm1.f64 (log1p.f64 (fma.f64 z x x)))
(log1p.f64 (expm1.f64 (fma.f64 z x x)))
(exp.f64 (log.f64 (fma.f64 z x x)))
(fma.f64 z x x)
(fma.f64 x z x)
(fma.f64 1 x (*.f64 z x))
(fma.f64 1 (*.f64 z x) x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z x))
(fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) x)
Outputs
x
(*.f64 z x)
(*.f64 x z)
(*.f64 z x)
(*.f64 x z)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 1 z) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 z) 1) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(-.f64 (+.f64 1 (fma.f64 z x x)) 1)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(-.f64 (/.f64 (pow.f64 (*.f64 z x) 2) (-.f64 (*.f64 z x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 z x) x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (fma.f64 z x x) 1)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 1 (fma.f64 z x x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (cbrt.f64 (fma.f64 z x x)) (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z x x)) 2) (cbrt.f64 (fma.f64 z x x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (sqrt.f64 (fma.f64 z x x)) (sqrt.f64 (fma.f64 z x x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x))))
(*.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (/.f64 1 (-.f64 (*.f64 z x) x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (+.f64 z 1) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (*.f64 (+.f64 z 1) 1) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (*.f64 (+.f64 z 1) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(*.f64 (*.f64 (+.f64 z 1) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))) (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x))))
(/.f64 1 (/.f64 (-.f64 (*.f64 z x) x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3)) (+.f64 (*.f64 x x) (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 z (*.f64 x x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x)) (-.f64 (*.f64 z x) x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 3) (pow.f64 x 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x (-.f64 x (*.f64 z x))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) 1) (+.f64 (pow.f64 (*.f64 x z) 2) (*.f64 x (-.f64 x (*.f64 x z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x x) (-.f64 (*.f64 z z) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) 3) (pow.f64 x 3)) (fma.f64 x x (*.f64 (*.f64 x z) (-.f64 (*.f64 x z) x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 z x) 2) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 z x) x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 z x) 2)) (-.f64 x (*.f64 z x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(pow.f64 (fma.f64 z x x) 1)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(pow.f64 (pow.f64 (fma.f64 z x x) 3) 1/3)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(pow.f64 (cbrt.f64 (fma.f64 z x x)) 3)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(pow.f64 (sqrt.f64 (fma.f64 z x x)) 2)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(sqrt.f64 (pow.f64 (fma.f64 z x x) 2))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(log.f64 (exp.f64 (fma.f64 z x x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(cbrt.f64 (pow.f64 (fma.f64 z x x) 3))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(expm1.f64 (log1p.f64 (fma.f64 z x x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(log1p.f64 (expm1.f64 (fma.f64 z x x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(exp.f64 (log.f64 (fma.f64 z x x)))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(fma.f64 z x x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(fma.f64 x z x)
(*.f64 x (+.f64 z 1))
(fma.f64 1 x (*.f64 z x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(fma.f64 1 (*.f64 z x) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (cbrt.f64 x) (*.f64 z x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z x)) 2) (cbrt.f64 (*.f64 z x)) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (*.f64 z x))
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)
(fma.f64 (sqrt.f64 (*.f64 z x)) (sqrt.f64 (*.f64 z x)) x)
(*.f64 x (+.f64 z 1))
(fma.f64 x z x)

eval19.0ms (0.5%)

Compiler

Compiled 1040 to 409 computations (60.7% saved)

prune15.0ms (0.4%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New92092
Fresh022
Picked011
Done077
Total9210102
Error
0b
Counts
102 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(+.f64 (*.f64 z x) x)
33.3b
(+.f64 (*.f64 y z) y)
26.4b
(+.f64 y x)
37.2b
(*.f64 (+.f64 y x) z)
30.1b
(*.f64 (+.f64 1 z) x)
48.6b
(*.f64 z x)
33.4b
(*.f64 y (+.f64 1 z))
51.4b
(*.f64 y z)
44.5b
y
44.8b
x
Compiler

Compiled 66 to 45 computations (31.8% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune3.0ms (0.1%)

Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done088
Total01010
Error
0b
Counts
10 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
30.1b
(+.f64 (*.f64 z x) x)
33.3b
(+.f64 (*.f64 y z) y)
26.4b
(+.f64 y x)
37.2b
(*.f64 (+.f64 y x) z)
30.1b
(*.f64 (+.f64 1 z) x)
48.6b
(*.f64 z x)
33.4b
(*.f64 y (+.f64 1 z))
51.4b
(*.f64 y z)
44.5b
y
44.8b
x
Compiler

Compiled 66 to 45 computations (31.8% saved)

regimes44.0ms (1.3%)

Counts
12 → 1
Calls
Call 1
Inputs
x
y
(*.f64 y z)
(*.f64 z x)
(+.f64 y x)
(*.f64 y (+.f64 1 z))
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 y x) z)
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 z x) x)
(*.f64 (+.f64 x y) (+.f64 z 1))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))
Outputs
(*.f64 (+.f64 x y) (+.f64 z 1))
Calls

6 calls:

9.0ms
y
8.0ms
(*.f64 (+.f64 x y) (+.f64 z 1))
7.0ms
(+.f64 x y)
7.0ms
x
7.0ms
z
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(*.f64 (+.f64 x y) (+.f64 z 1))
0.0b1(+.f64 x y)
0.0b1(+.f64 z 1)
Compiler

Compiled 89 to 46 computations (48.3% saved)

regimes90.0ms (2.6%)

Counts
10 → 3
Calls
Call 1
Inputs
x
y
(*.f64 y z)
(*.f64 z x)
(+.f64 y x)
(*.f64 y (+.f64 1 z))
(*.f64 (+.f64 1 z) x)
(*.f64 (+.f64 y x) z)
(+.f64 (*.f64 y z) y)
(+.f64 (*.f64 z x) x)
Outputs
(*.f64 (+.f64 y x) z)
(+.f64 y x)
(*.f64 (+.f64 y x) z)
Calls

3 calls:

60.0ms
y
16.0ms
z
11.0ms
x
Results
ErrorSegmentsBranch
10.8b2x
8.3b4y
1.9b3z
Compiler

Compiled 51 to 24 computations (52.9% saved)

bsearch25.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
0.015513974097246324
2.7789794225309206
13.0ms
-1.1248179653858528
-0.00014401492082412114
Results
22.0ms240×body256valid
Compiler

Compiled 256 to 177 computations (30.9% saved)

regimes93.0ms (2.7%)

Counts
7 → 6
Calls
Call 1
Inputs
x
y
(*.f64 y z)
(*.f64 z x)
(+.f64 y x)
(*.f64 y (+.f64 1 z))
(*.f64 (+.f64 1 z) x)
Outputs
(*.f64 (+.f64 1 z) x)
(*.f64 y (+.f64 1 z))
(*.f64 (+.f64 1 z) x)
(*.f64 y (+.f64 1 z))
(+.f64 y x)
(*.f64 y (+.f64 1 z))
Calls

3 calls:

54.0ms
z
27.0ms
y
10.0ms
x
Results
ErrorSegmentsBranch
10.8b2x
8.2b6y
10.6b5z
Compiler

Compiled 36 to 21 computations (41.7% saved)

bsearch108.0ms (3.1%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
6.801195008606825e-6
0.00014057980497470064
9.0ms
4.1189596020798143e-44
5.306316795390052e-43
6.0ms
5.9024047767280684e-67
1.054548860943114e-66
43.0ms
1.827123112655113e-97
3.161277007708798e-96
38.0ms
1.5971372933876384e-157
1.5284607231213524e-145
Results
101.0ms544×body256valid
Compiler

Compiled 602 to 462 computations (23.3% saved)

regimes103.0ms (3%)

Counts
6 → 5
Calls
Call 1
Inputs
x
y
(*.f64 y z)
(*.f64 z x)
(+.f64 y x)
(*.f64 y (+.f64 1 z))
Outputs
(*.f64 z x)
(+.f64 y x)
(*.f64 z x)
(*.f64 y z)
(*.f64 z x)
Calls

3 calls:

57.0ms
y
24.0ms
x
21.0ms
z
Results
ErrorSegmentsBranch
17.4b6x
15.7b8y
11.8b5z
Compiler

Compiled 31 to 18 computations (41.9% saved)

bsearch85.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
5.289270144013315e+159
3.591173138863249e+165
24.0ms
4.4320363809465124e+146
2.1692466897318993e+149
8.0ms
3439755223.620679
10660113568.21096
30.0ms
-1.1248179653858528
-0.00014401492082412114
Results
47.0ms480×body256valid
14.0ms153×body256infinite
Compiler

Compiled 436 to 312 computations (28.4% saved)

regimes119.0ms (3.4%)

Counts
4 → 10
Calls
Call 1
Inputs
x
y
(*.f64 y z)
(*.f64 z x)
Outputs
(*.f64 z x)
x
y
x
y
x
y
(*.f64 z x)
(*.f64 y z)
(*.f64 z x)
Calls

3 calls:

62.0ms
z
32.0ms
y
23.0ms
x
Results
ErrorSegmentsBranch
26.3b7x
25.7b8y
22.8b10z
Compiler

Compiled 23 to 14 computations (39.1% saved)

bsearch170.0ms (4.9%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
5.289270144013315e+159
3.591173138863249e+165
20.0ms
4.4320363809465124e+146
2.1692466897318993e+149
13.0ms
0.000516556214347477
0.015513974097246324
42.0ms
1.1988557657053815e-151
9.419215475016433e-138
19.0ms
2.7947399464356905e-236
2.389282788185948e-233
13.0ms
4.155574834179416e-265
4.413832752335901e-257
16.0ms
-5.2436942764573425e-269
-1.4476124134622172e-287
11.0ms
-1.4636798544442594e-153
-2.9841309996854016e-155
13.0ms
-1.1248179653858528
-0.00014401492082412114
Results
146.0ms1216×body256valid
10.0ms122×body256infinite
Compiler

Compiled 874 to 669 computations (23.5% saved)

regimes55.0ms (1.6%)

Counts
3 → 8
Calls
Call 1
Inputs
x
y
(*.f64 y z)
Outputs
(*.f64 y z)
x
y
x
y
x
y
(*.f64 y z)
Calls

3 calls:

25.0ms
z
19.0ms
x
10.0ms
y
Results
ErrorSegmentsBranch
28.9b6x
30.1b3y
27.0b8z
Compiler

Compiled 20 to 13 computations (35% saved)

bsearch100.0ms (2.9%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
0.015513974097246324
2.7789794225309206
17.0ms
1.1988557657053815e-151
9.419215475016433e-138
14.0ms
2.7947399464356905e-236
2.389282788185948e-233
15.0ms
4.155574834179416e-265
4.413832752335901e-257
17.0ms
-5.2436942764573425e-269
-1.4476124134622172e-287
10.0ms
-1.4636798544442594e-153
-2.9841309996854016e-155
14.0ms
-1.1248179653858528
-0.00014401492082412114
Results
88.0ms944×body256valid
Compiler

Compiled 636 to 499 computations (21.5% saved)

regimes35.0ms (1%)

Accuracy

Total -30.8b remaining (-97.9%)

Threshold costs -30.8b (-97.9%)

Counts
2 → 2
Calls
Call 1
Inputs
x
y
Outputs
x
y
Calls

3 calls:

17.0ms
z
9.0ms
x
8.0ms
y
Results
ErrorSegmentsBranch
31.5b2x
31.9b2y
37.5b6z
Compiler

Compiled 17 to 12 computations (29.4% saved)

bsearch16.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
-2.4570866279042074e-63
-4.143740349253071e-64
Results
15.0ms96×body256valid
Compiler

Compiled 76 to 60 computations (21.1% saved)

simplify12.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
091294
1101294
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z 1))
(if (<=.f64 z -1) (*.f64 (+.f64 y x) z) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) z)))
(if (<=.f64 y 8435463364768493/56236422431789954785131731346074773235871213978773957913759444657647969758393598378988008576298635714374011382919011189040103325693678746112606439760814548189184) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 456932444904477/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 995997234783699/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 7532522082464017/50216813883093446110686315385661331328818843555712276103168) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 4574792530279969/73786976294838206464) (+.f64 y x) (*.f64 y (+.f64 1 z)))))))
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z 3500000000) (+.f64 y x) (if (<=.f64 z 560000000000000016070111814965433859727262623727145728421577469031149535714011101252800779606632267752408148819090043099835522336542017510099124224) (*.f64 z x) (if (<=.f64 z 410000000000000010481018551267953466760715402587252716227897983028768860039257825906353184958957598769235298936404135092511082627106841983223505692888682802970624) (*.f64 y z) (*.f64 z x)))))
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z -6491215370693051/30191699398572330817932436647906151127335369763331523427009650401964993299137190816689013801421270140331747000246110759198164677039398341060491474011461568349195162615808) x (if (<=.f64 z -7796251209119999/155925024182399985285654118206003012974019629721520120429886503315407179052262817639449841054112164147604878659702538690935346717843249504745247796741002454712500443199303568477932634487840858373644793495667494061978969566806317999131941817847503449805243820849668440753309257439870625775616) y (if (<=.f64 z 7616908286351531/138489241570027830339787760577155329299276713436413040296712132107088403511830081562061637127414005863461524601112396740396934118638271997477005289970188832449072118890235188784327954969769132963403984511490113773016980728775065400466052716630386010092873601750856629835792384) x (if (<=.f64 z 3837613125075645/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 439347050248359/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) x (if (<=.f64 z 7839866231326559/1152921504606846976) y (if (<=.f64 z 37000000000000002379981636636512144685831624043141066347348880896803460347869454087840010420741356758931941763343665834541697022885967163606691741696) (*.f64 z x) (if (<=.f64 z 9500000000000000208742055442999787164968879841720770132710515023498130279326649187777292359018407829679912190661939640445928374472227629924430178144465776722051072) (*.f64 y z) (*.f64 z x))))))))))
(if (<=.f64 z -1) (*.f64 y z) (if (<=.f64 z -2000200085155417/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) x (if (<=.f64 z -5710144928554687/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) y (if (<=.f64 z 3029452159344359/4327788799063369698118367518036104040602397294887907509272254128346512609744690048814426160231687683233172643784762398137404191207445999921156415311568401014033503715319849649510248592805285405106374515984066055406780647774220793764564147394699562815402300054714269682368512) x (if (<=.f64 z 6644225709086191/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 4750852967037615/28793048285076456849987446449190283896766061557132266451844835664715760516297522370041860391064901485759493828054533728788532902755163518009654497157537048672862208) x (if (<=.f64 z 1) y (*.f64 y z))))))))
(if (<=.f64 x -2223208113356471/926336713898529563388567880069503262826159877325124512315660672063305037119488) x y)
x
Outputs
(*.f64 (+.f64 x y) (+.f64 z 1))
(if (<=.f64 z -1) (*.f64 (+.f64 y x) z) (if (<=.f64 z 1) (+.f64 y x) (*.f64 (+.f64 y x) z)))
(if (<=.f64 z -1) (*.f64 z (+.f64 x y)) (if (<=.f64 z 1) (+.f64 x y) (*.f64 z (+.f64 x y))))
(if (<=.f64 y 8435463364768493/56236422431789954785131731346074773235871213978773957913759444657647969758393598378988008576298635714374011382919011189040103325693678746112606439760814548189184) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 456932444904477/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 995997234783699/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (*.f64 (+.f64 1 z) x) (if (<=.f64 y 7532522082464017/50216813883093446110686315385661331328818843555712276103168) (*.f64 y (+.f64 1 z)) (if (<=.f64 y 4574792530279969/73786976294838206464) (+.f64 y x) (*.f64 y (+.f64 1 z)))))))
(if (<=.f64 y 8435463364768493/56236422431789954785131731346074773235871213978773957913759444657647969758393598378988008576298635714374011382919011189040103325693678746112606439760814548189184) (*.f64 x (+.f64 z 1)) (if (<=.f64 y 456932444904477/2404907604760405225358828131112281116032698930082119547604265954848982041717359046106827774346003151904701415424) (*.f64 y (+.f64 z 1)) (if (<=.f64 y 995997234783699/948568795032094272909893509191171341133987714380927500611236528192824358010355712) (*.f64 x (+.f64 z 1)) (if (<=.f64 y 7532522082464017/50216813883093446110686315385661331328818843555712276103168) (*.f64 y (+.f64 z 1)) (if (<=.f64 y 4574792530279969/73786976294838206464) (+.f64 x y) (*.f64 y (+.f64 z 1)))))))
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z 3500000000) (+.f64 y x) (if (<=.f64 z 560000000000000016070111814965433859727262623727145728421577469031149535714011101252800779606632267752408148819090043099835522336542017510099124224) (*.f64 z x) (if (<=.f64 z 410000000000000010481018551267953466760715402587252716227897983028768860039257825906353184958957598769235298936404135092511082627106841983223505692888682802970624) (*.f64 y z) (*.f64 z x)))))
(if (<=.f64 z -1) (*.f64 x z) (if (<=.f64 z 3500000000) (+.f64 x y) (if (<=.f64 z 560000000000000016070111814965433859727262623727145728421577469031149535714011101252800779606632267752408148819090043099835522336542017510099124224) (*.f64 x z) (if (<=.f64 z 410000000000000010481018551267953466760715402587252716227897983028768860039257825906353184958957598769235298936404135092511082627106841983223505692888682802970624) (*.f64 y z) (*.f64 x z)))))
(if (<=.f64 z -1) (*.f64 z x) (if (<=.f64 z -6491215370693051/30191699398572330817932436647906151127335369763331523427009650401964993299137190816689013801421270140331747000246110759198164677039398341060491474011461568349195162615808) x (if (<=.f64 z -7796251209119999/155925024182399985285654118206003012974019629721520120429886503315407179052262817639449841054112164147604878659702538690935346717843249504745247796741002454712500443199303568477932634487840858373644793495667494061978969566806317999131941817847503449805243820849668440753309257439870625775616) y (if (<=.f64 z 7616908286351531/138489241570027830339787760577155329299276713436413040296712132107088403511830081562061637127414005863461524601112396740396934118638271997477005289970188832449072118890235188784327954969769132963403984511490113773016980728775065400466052716630386010092873601750856629835792384) x (if (<=.f64 z 3837613125075645/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 439347050248359/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) x (if (<=.f64 z 7839866231326559/1152921504606846976) y (if (<=.f64 z 37000000000000002379981636636512144685831624043141066347348880896803460347869454087840010420741356758931941763343665834541697022885967163606691741696) (*.f64 z x) (if (<=.f64 z 9500000000000000208742055442999787164968879841720770132710515023498130279326649187777292359018407829679912190661939640445928374472227629924430178144465776722051072) (*.f64 y z) (*.f64 z x))))))))))
(if (<=.f64 z -1) (*.f64 x z) (if (<=.f64 z -6491215370693051/30191699398572330817932436647906151127335369763331523427009650401964993299137190816689013801421270140331747000246110759198164677039398341060491474011461568349195162615808) x (if (<=.f64 z -7796251209119999/155925024182399985285654118206003012974019629721520120429886503315407179052262817639449841054112164147604878659702538690935346717843249504745247796741002454712500443199303568477932634487840858373644793495667494061978969566806317999131941817847503449805243820849668440753309257439870625775616) y (if (<=.f64 z 7616908286351531/138489241570027830339787760577155329299276713436413040296712132107088403511830081562061637127414005863461524601112396740396934118638271997477005289970188832449072118890235188784327954969769132963403984511490113773016980728775065400466052716630386010092873601750856629835792384) x (if (<=.f64 z 3837613125075645/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 439347050248359/878694100496718043517683302282418331810487718418343092402491322775749527474899974671687634004666183037093927858109549828751614463963730408009475621262727315456) x (if (<=.f64 z 7839866231326559/1152921504606846976) y (if (<=.f64 z 37000000000000002379981636636512144685831624043141066347348880896803460347869454087840010420741356758931941763343665834541697022885967163606691741696) (*.f64 x z) (if (<=.f64 z 9500000000000000208742055442999787164968879841720770132710515023498130279326649187777292359018407829679912190661939640445928374472227629924430178144465776722051072) (*.f64 y z) (*.f64 x z))))))))))
(if (<=.f64 z -1) (*.f64 y z) (if (<=.f64 z -2000200085155417/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) x (if (<=.f64 z -5710144928554687/19033816428515623203815199976318727169680130581240249075913879799244040411653175981378154425550801287549423664514470055045818691142974793059722631438110651210022026757727486386466386045879011031939061706014098396237667183448036865128410866436462823462554177349813042084144196464827957248) y (if (<=.f64 z 3029452159344359/4327788799063369698118367518036104040602397294887907509272254128346512609744690048814426160231687683233172643784762398137404191207445999921156415311568401014033503715319849649510248592805285405106374515984066055406780647774220793764564147394699562815402300054714269682368512) x (if (<=.f64 z 6644225709086191/114555615673899844817675135734699353962886956688682610117765798809244256021411616637381137063298513501717438036875998880297587443028293506801780104166258318482051497231916848409067205045915915104980160032926980989903722214426950334461435148425897181184) y (if (<=.f64 z 4750852967037615/28793048285076456849987446449190283896766061557132266451844835664715760516297522370041860391064901485759493828054533728788532902755163518009654497157537048672862208) x (if (<=.f64 z 1) y (*.f64 y z))))))))
(if (<=.f64 x -2223208113356471/926336713898529563388567880069503262826159877325124512315660672063305037119488) x y)
x
Compiler

Compiled 232 to 136 computations (41.4% saved)

soundness0.0ms (0%)

end85.0ms (2.5%)

Remove

(sort x y)

Compiler

Compiled 231 to 123 computations (46.8% saved)

Profiling

Loading profile data...