Details

Time bar (total: 6.8s)

analyze197.0ms (2.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
6.2%93.6%0.1%6
15.6%84.3%0.1%7
23.4%76.5%0.1%8
32.8%67.1%0.1%9
43.3%56.6%0.1%10
50.5%49.3%0.1%11
58.7%41.2%0.1%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample934.0ms (13.7%)

Results
921.0ms8252×body256valid
0.0msbody1024valid
0.0msbody2048valid
0.0msbody512valid

preprocess150.0ms (2.2%)

Algorithm
egg-herbie
Rules
1362×fma-neg_binary64
623×div-sub_binary64
600×distribute-rgt-in_binary64
383×sub-neg_binary64
280×times-frac_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02152
13452
25452
38152
413052
518552
624852
731452
837152
954652
1098852
11265652
12556152
13650752
14674252
15681652
16686452
17688652
033
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(/.f64 (+.f64 y x) (-.f64 1 (/.f64 x z)))
(/.f64 (+.f64 z y) (-.f64 1 (/.f64 y x)))
(/.f64 (+.f64 x z) (-.f64 1 (/.f64 z y)))
Outputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(/.f64 (+.f64 y x) (-.f64 1 (/.f64 x z)))
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 x z)))
(/.f64 (+.f64 z y) (-.f64 1 (/.f64 y x)))
(/.f64 (+.f64 y z) (-.f64 1 (/.f64 y x)))
(/.f64 (+.f64 x z) (-.f64 1 (/.f64 z y)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify84.0ms (1.2%)

Algorithm
egg-herbie
Rules
1668×fma-neg_binary64
875×div-sub_binary64
645×fma-def_binary64
358×distribute-rgt-in_binary64
316×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
11413
22013
32813
44313
55913
67913
710013
811713
916413
1022913
1131413
1256013
13137613
14289113
15473813
16649313
17737313
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Outputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))

eval0.0ms (0%)

Compiler

Compiled 12 to 8 computations (33.3% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 12 to 8 computations (33.3% saved)

localize10.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
9.1b
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Compiler

Compiled 27 to 11 computations (59.3% saved)

series8.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite65.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
816×prod-diff_binary64
531×log-prod_binary64
284×pow2_binary64
248×fma-def_binary64
195×pow1/3_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify66.0ms (1%)

Algorithm
egg-herbie
Rules
661×fma-def_binary64
489×times-frac_binary64
434×sub-neg_binary64
407×unsub-neg_binary64
364×div-sub_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151010
1372964
21329803
36735793
Stop Event
node limit
Counts
77 → 80
Calls
Call 1
Inputs
(/.f64 y (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
x
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x))
(+.f64 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 1 (*.f64 -1 (/.f64 x z)))) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)))
(*.f64 -1 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y))) (/.f64 (pow.f64 z 2) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2)))) (/.f64 (pow.f64 z 2) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) (pow.f64 z 2)) (pow.f64 y 3)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2))))) (/.f64 (pow.f64 z 2) y))
(*.f64 -1 z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (*.f64 -1 z))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2)))))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) (pow.f64 z 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2))))))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x)))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 y x)) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y x)))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 3)) (pow.f64 z 3)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x))))
Outputs
(/.f64 y (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(/.f64 x (-.f64 1 (/.f64 y z)))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 x (-.f64 1 (/.f64 y z))) (/.f64 y (-.f64 1 (/.f64 y z))))
(+.f64 (/.f64 y (-.f64 1 (/.f64 y z))) (/.f64 x (-.f64 1 (/.f64 y z))))
x
(+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)
(fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x)
(fma.f64 y (+.f64 1 (/.f64 x z)) x)
(+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x))
(+.f64 (fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x) (/.f64 (*.f64 y y) (/.f64 z (-.f64 1 (neg.f64 (/.f64 x z))))))
(+.f64 (fma.f64 y (+.f64 1 (/.f64 x z)) x) (*.f64 (/.f64 y (/.f64 z y)) (+.f64 1 (/.f64 x z))))
(+.f64 x (*.f64 (+.f64 1 (/.f64 x z)) (+.f64 y (/.f64 (*.f64 y y) z))))
(+.f64 (/.f64 (*.f64 (pow.f64 y 3) (-.f64 1 (*.f64 -1 (/.f64 x z)))) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (-.f64 1 (*.f64 -1 (/.f64 x z)))) z) (+.f64 (*.f64 y (-.f64 1 (*.f64 -1 (/.f64 x z)))) x)))
(+.f64 (+.f64 (fma.f64 y (-.f64 1 (neg.f64 (/.f64 x z))) x) (/.f64 (*.f64 y y) (/.f64 z (-.f64 1 (neg.f64 (/.f64 x z)))))) (/.f64 (pow.f64 y 3) (/.f64 (*.f64 z z) (-.f64 1 (neg.f64 (/.f64 x z))))))
(+.f64 (*.f64 (/.f64 y (/.f64 z y)) (+.f64 1 (/.f64 x z))) (+.f64 (fma.f64 y (+.f64 1 (/.f64 x z)) x) (*.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (+.f64 1 (/.f64 x z)))))
(+.f64 x (fma.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (+.f64 1 (/.f64 x z)) (*.f64 (+.f64 1 (/.f64 x z)) (+.f64 y (/.f64 (*.f64 y y) z)))))
(*.f64 -1 z)
(neg.f64 z)
(-.f64 (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y))) (/.f64 (pow.f64 z 2) y))
(-.f64 (*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 z y) x)) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2)))) (/.f64 (pow.f64 z 2) y))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (-.f64 (/.f64 z (/.f64 (*.f64 y y) (neg.f64 (fma.f64 z x (*.f64 z z))))) (*.f64 (/.f64 z y) x)) z) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
(-.f64 (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) (pow.f64 z 2)) (pow.f64 y 3)) (/.f64 (*.f64 (-.f64 (*.f64 -1 (*.f64 z x)) (pow.f64 z 2)) z) (pow.f64 y 2))))) (/.f64 (pow.f64 z 2) y))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (+.f64 (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))) (/.f64 (*.f64 z z) y))
(-.f64 (+.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (-.f64 (neg.f64 (+.f64 (*.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (pow.f64 y 3)) (*.f64 z z)) z)) (*.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (*.f64 y y)) z))) (/.f64 z (/.f64 y z)))
(-.f64 (-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) (*.f64 y y)) (+.f64 z (/.f64 z (/.f64 y z)))) (/.f64 (*.f64 z (+.f64 x z)) y)) z)
(-.f64 (-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) (*.f64 y y)) (+.f64 (*.f64 (/.f64 z y) z) z)) z) (/.f64 (*.f64 z (+.f64 x z)) y))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (*.f64 -1 z))
(-.f64 (*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (neg.f64 z) (*.f64 (/.f64 z y) x)) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2)))))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)))) (/.f64 (*.f64 z z) y))
(-.f64 (-.f64 (-.f64 (/.f64 z (/.f64 (*.f64 y y) (neg.f64 (fma.f64 z x (*.f64 z z))))) (*.f64 (/.f64 z y) x)) z) (/.f64 z (/.f64 y z)))
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
(+.f64 (*.f64 -1 (/.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) (pow.f64 z 2)) (pow.f64 y 3))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 (-.f64 (*.f64 z x) (*.f64 -1 (pow.f64 z 2))) z) (pow.f64 y 2))))))
(-.f64 (fma.f64 -1 z (fma.f64 -1 (/.f64 z (/.f64 y x)) (+.f64 (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (*.f64 y y) z)) (/.f64 (-.f64 (*.f64 (neg.f64 z) x) (*.f64 z z)) (/.f64 (pow.f64 y 3) (*.f64 z z)))))) (/.f64 (*.f64 z z) y))
(-.f64 (+.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (-.f64 (neg.f64 (+.f64 (*.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (pow.f64 y 3)) (*.f64 z z)) z)) (*.f64 (/.f64 (fma.f64 z x (*.f64 z z)) (*.f64 y y)) z))) (/.f64 z (/.f64 y z)))
(-.f64 (-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) (*.f64 y y)) (+.f64 z (/.f64 z (/.f64 y z)))) (/.f64 (*.f64 z (+.f64 x z)) y)) z)
(-.f64 (-.f64 (*.f64 (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) (*.f64 y y)) (+.f64 (*.f64 (/.f64 z y) z) z)) z) (/.f64 (*.f64 z (+.f64 x z)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 y x) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 y x)) y)
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))
(*.f64 -1 (+.f64 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) (/.f64 y z))))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 (+.f64 y x) y) z)))
(*.f64 z (-.f64 (*.f64 z (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y))) (/.f64 (+.f64 y x) y)))
(*.f64 z (-.f64 (*.f64 z (-.f64 (/.f64 -1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (*.f64 -1 (+.f64 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3)) (/.f64 (+.f64 y x) (/.f64 y z)))))
(-.f64 (neg.f64 (fma.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3) (*.f64 (/.f64 (+.f64 y x) y) z))) (*.f64 z (*.f64 z (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))))))
(fma.f64 (pow.f64 z 3) (fma.f64 -1 (/.f64 x (pow.f64 y 3)) (/.f64 -1 (*.f64 y y))) (*.f64 z (-.f64 (*.f64 z (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y))) (/.f64 (+.f64 y x) y))))
(fma.f64 (pow.f64 z 3) (-.f64 (/.f64 -1 (*.f64 y y)) (/.f64 x (pow.f64 y 3))) (*.f64 z (-.f64 (*.f64 z (-.f64 (/.f64 -1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (pow.f64 y 2))) (pow.f64 z 3))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4))) (*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y)))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3)) (fma.f64 -1 (*.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4)) (neg.f64 (/.f64 (+.f64 y x) (/.f64 y z))))))
(-.f64 (-.f64 (neg.f64 (fma.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4) (*.f64 (/.f64 (+.f64 y x) y) z))) (*.f64 (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y))) (pow.f64 z 3))) (*.f64 z (*.f64 z (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))))))
(-.f64 (*.f64 (*.f64 z z) (-.f64 (fma.f64 -1 (/.f64 x (*.f64 y y)) (/.f64 -1 y)) (*.f64 z (+.f64 (/.f64 x (pow.f64 y 3)) (/.f64 1 (*.f64 y y)))))) (fma.f64 (+.f64 (/.f64 x (pow.f64 y 4)) (/.f64 1 (pow.f64 y 3))) (pow.f64 z 4) (*.f64 z (/.f64 (+.f64 y x) y))))
(+.f64 (*.f64 z (-.f64 (*.f64 z (-.f64 (/.f64 -1 y) (/.f64 x (*.f64 y y)))) (/.f64 (+.f64 y x) y))) (fma.f64 (pow.f64 z 4) (-.f64 (/.f64 -1 (pow.f64 y 3)) (/.f64 x (pow.f64 y 4))) (*.f64 (pow.f64 z 3) (-.f64 (/.f64 -1 (*.f64 y y)) (/.f64 x (pow.f64 y 3))))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (+.f64 y x) (/.f64 y (/.f64 z (+.f64 y x))))
(+.f64 y (+.f64 x (/.f64 (+.f64 y x) (/.f64 z y))))
(*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x)))
(+.f64 (+.f64 (/.f64 y (/.f64 z (+.f64 y x))) y) (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x)))))
(+.f64 (/.f64 (+.f64 y x) (/.f64 z y)) (+.f64 (+.f64 y x) (*.f64 (/.f64 (+.f64 y x) (*.f64 z z)) (*.f64 y y))))
(+.f64 y (+.f64 x (*.f64 (/.f64 (+.f64 y x) z) (+.f64 y (/.f64 (*.f64 y y) z)))))
(+.f64 (+.f64 y x) (*.f64 (/.f64 (+.f64 y x) z) (+.f64 y (/.f64 (*.f64 y y) z))))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) (+.f64 y x)) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 (+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x))) (/.f64 y (/.f64 z (+.f64 y x)))) (+.f64 (+.f64 y x) (/.f64 (+.f64 y x) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(+.f64 (/.f64 (+.f64 y x) (/.f64 z y)) (+.f64 (+.f64 (+.f64 y x) (*.f64 (/.f64 (+.f64 y x) (*.f64 z z)) (*.f64 y y))) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 (*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x)) (*.f64 (/.f64 (+.f64 y x) (*.f64 z z)) (+.f64 (*.f64 y y) (/.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 (+.f64 (pow.f64 (/.f64 y z) 3) 1) (+.f64 y x)) (*.f64 (/.f64 (+.f64 y x) z) (+.f64 y (/.f64 (*.f64 y y) z))))
(+.f64 y x)
(+.f64 (/.f64 (*.f64 y (+.f64 y x)) z) (+.f64 y x))
(+.f64 (+.f64 y x) (/.f64 y (/.f64 z (+.f64 y x))))
(+.f64 y (+.f64 x (/.f64 (+.f64 y x) (/.f64 z y))))
(*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x))
(+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 2)) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y x)))
(+.f64 (+.f64 (/.f64 y (/.f64 z (+.f64 y x))) y) (+.f64 x (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x)))))
(+.f64 (/.f64 (+.f64 y x) (/.f64 z y)) (+.f64 (+.f64 y x) (*.f64 (/.f64 (+.f64 y x) (*.f64 z z)) (*.f64 y y))))
(+.f64 y (+.f64 x (*.f64 (/.f64 (+.f64 y x) z) (+.f64 y (/.f64 (*.f64 y y) z)))))
(+.f64 (+.f64 y x) (*.f64 (/.f64 (+.f64 y x) z) (+.f64 y (/.f64 (*.f64 y y) z))))
(+.f64 (/.f64 (*.f64 (+.f64 y x) y) z) (+.f64 y (+.f64 (/.f64 (*.f64 (+.f64 y x) (pow.f64 y 3)) (pow.f64 z 3)) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) (+.f64 y x)) (pow.f64 z 2)) x))))
(+.f64 (+.f64 (/.f64 (*.f64 y y) (/.f64 (*.f64 z z) (+.f64 y x))) (/.f64 y (/.f64 z (+.f64 y x)))) (+.f64 (+.f64 y x) (/.f64 (+.f64 y x) (/.f64 (pow.f64 z 3) (pow.f64 y 3)))))
(+.f64 (/.f64 (+.f64 y x) (/.f64 z y)) (+.f64 (+.f64 (+.f64 y x) (*.f64 (/.f64 (+.f64 y x) (*.f64 z z)) (*.f64 y y))) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) (+.f64 y x))))
(+.f64 (*.f64 (+.f64 (/.f64 y z) 1) (+.f64 y x)) (*.f64 (/.f64 (+.f64 y x) (*.f64 z z)) (+.f64 (*.f64 y y) (/.f64 (pow.f64 y 3) z))))
(+.f64 (*.f64 (+.f64 (pow.f64 (/.f64 y z) 3) 1) (+.f64 y x)) (*.f64 (/.f64 (+.f64 y x) z) (+.f64 y (/.f64 (*.f64 y y) z))))

eval25.0ms (0.4%)

Compiler

Compiled 1519 to 767 computations (49.5% saved)

prune20.0ms (0.3%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New701080
Fresh000
Picked011
Done000
Total701181
Error
0.0b
Counts
81 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
35.4b
(pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2)
43.7b
x
32.7b
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
37.5b
(/.f64 y (-.f64 1 (/.f64 y z)))
31.6b
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
35.5b
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
9.1b
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
33.5b
(/.f64 x (-.f64 1 (/.f64 y z)))
33.4b
(+.f64 y x)
32.7b
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
41.6b
(neg.f64 z)
Compiler

Compiled 218 to 147 computations (32.6% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 24 to 7 computations (70.8% saved)

series11.0ms (0.2%)

Counts
2 → 60
Calls

15 calls:

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

rewrite68.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
979×pow1_binary64
911×add-log-exp_binary64
910×log1p-expm1-u_binary64
910×expm1-log1p-u_binary64
97×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify135.0ms (2%)

Algorithm
egg-herbie
Rules
874×fma-neg_binary64
865×fma-def_binary64
493×times-frac_binary64
442×div-sub_binary64
344×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
017567
141537
289477
3199477
4434477
5852477
62006477
74756477
86892477
97571477
107812477
117946477
127958477
137958477
Stop Event
node limit
Counts
118 → 69
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 z (neg.f64 x)) y)
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 z (/.f64 x (neg.f64 y)))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 z (neg.f64 x)) y)
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 z (/.f64 x (neg.f64 y)))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(/.f64 (*.f64 z (neg.f64 x)) y)
(/.f64 (*.f64 x (neg.f64 z)) y)
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 z (/.f64 x (neg.f64 y)))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(neg.f64 (fma.f64 z (/.f64 x y) z))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)

localize4.0ms (0.1%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.9b
(/.f64 x (-.f64 1 (/.f64 y z)))
Compiler

Compiled 22 to 10 computations (54.5% saved)

series7.0ms (0.1%)

Counts
1 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@inf
(/.f64 x (-.f64 1 (/.f64 y z)))
1.0ms
x
@inf
(/.f64 x (-.f64 1 (/.f64 y z)))
1.0ms
x
@0
(/.f64 x (-.f64 1 (/.f64 y z)))
1.0ms
x
@-inf
(/.f64 x (-.f64 1 (/.f64 y z)))
1.0ms
y
@inf
(/.f64 x (-.f64 1 (/.f64 y z)))

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
449×log-prod_binary64
361×prod-diff_binary64
350×exp-prod_binary64
279×prod-exp_binary64
237×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify65.0ms (1%)

Algorithm
egg-herbie
Rules
744×distribute-rgt-neg-in_binary64
627×distribute-lft-neg-in_binary64
530×distribute-rgt-out--_binary64
445×associate-/l/_binary64
426×associate-/r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
043624
1133606
2452528
32264435
45223396
Stop Event
node limit
Counts
78 → 69
Calls
Call 1
Inputs
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
Outputs
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 (*.f64 x y) z))
(+.f64 x (/.f64 x (/.f64 z y)))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 x (/.f64 (*.f64 x (*.f64 y y)) (*.f64 z z))))
(+.f64 (+.f64 x (/.f64 x (/.f64 z y))) (*.f64 (/.f64 x z) (/.f64 (*.f64 y y) z)))
(fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) (fma.f64 (/.f64 y z) x x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 (/.f64 (*.f64 x (*.f64 y y)) (*.f64 z z)) (+.f64 x (/.f64 (*.f64 x (pow.f64 y 3)) (pow.f64 z 3)))))
(+.f64 (+.f64 (+.f64 x (/.f64 x (/.f64 z y))) (*.f64 (/.f64 x z) (/.f64 (*.f64 y y) z))) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x))
(fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) (fma.f64 (/.f64 y z) x (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x x)))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(*.f64 (+.f64 1 (/.f64 y (*.f64 z (/.f64 z y)))) (fma.f64 (/.f64 y z) x x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(/.f64 z (/.f64 y (neg.f64 x)))
(*.f64 x (neg.f64 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (neg.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y))) (/.f64 x (/.f64 (pow.f64 y 3) (pow.f64 z 3))))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(*.f64 x (neg.f64 (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (pow.f64 z 4) (/.f64 (pow.f64 y 4) x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (*.f64 z z)) (/.f64 y (/.f64 x y))) (/.f64 x (/.f64 (pow.f64 y 3) (pow.f64 z 3)))) (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) x)) (*.f64 (/.f64 z y) x))
(-.f64 (neg.f64 (*.f64 x (+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))) (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) (pow.f64 (/.f64 z y) 3))))
(*.f64 (*.f64 x (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))) (-.f64 -1 (*.f64 (/.f64 z y) (/.f64 z y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(/.f64 z (/.f64 y (neg.f64 x)))
(*.f64 x (neg.f64 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (neg.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y))) (/.f64 x (/.f64 (pow.f64 y 3) (pow.f64 z 3))))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(*.f64 x (neg.f64 (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (pow.f64 z 4) (/.f64 (pow.f64 y 4) x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (*.f64 z z)) (/.f64 y (/.f64 x y))) (/.f64 x (/.f64 (pow.f64 y 3) (pow.f64 z 3)))) (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) x)) (*.f64 (/.f64 z y) x))
(-.f64 (neg.f64 (*.f64 x (+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))) (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) (pow.f64 (/.f64 z y) 3))))
(*.f64 (*.f64 x (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))) (-.f64 -1 (*.f64 (/.f64 z y) (/.f64 z y))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(/.f64 z (/.f64 y (neg.f64 x)))
(*.f64 x (neg.f64 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (neg.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y)))
(neg.f64 (*.f64 x (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3)))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x)))))
(-.f64 (-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) (*.f64 (/.f64 x y) (/.f64 (*.f64 z z) y))) (/.f64 x (/.f64 (pow.f64 y 3) (pow.f64 z 3))))
(neg.f64 (fma.f64 (/.f64 z y) x (*.f64 x (+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))))
(neg.f64 (*.f64 x (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 z y)))))
(*.f64 x (neg.f64 (+.f64 (pow.f64 (/.f64 z y) 3) (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 4) x) (pow.f64 y 4))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 3) x) (pow.f64 y 3))))))
(fma.f64 -1 (/.f64 z (/.f64 y x)) (fma.f64 -1 (/.f64 (pow.f64 z 4) (/.f64 (pow.f64 y 4) x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)) (/.f64 (pow.f64 z 3) (/.f64 (pow.f64 y 3) x))))))
(-.f64 (-.f64 (-.f64 (/.f64 (neg.f64 (*.f64 z z)) (/.f64 y (/.f64 x y))) (/.f64 x (/.f64 (pow.f64 y 3) (pow.f64 z 3)))) (*.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) x)) (*.f64 (/.f64 z y) x))
(-.f64 (neg.f64 (*.f64 x (+.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (/.f64 (pow.f64 z 3) (pow.f64 y 3))))) (*.f64 x (+.f64 (/.f64 z y) (/.f64 (pow.f64 z 4) (pow.f64 y 4)))))
(-.f64 (*.f64 (/.f64 (*.f64 x z) y) (-.f64 -1 (/.f64 z y))) (*.f64 x (+.f64 (/.f64 (pow.f64 z 4) (pow.f64 y 4)) (pow.f64 (/.f64 z y) 3))))
(*.f64 (*.f64 x (*.f64 (/.f64 z y) (+.f64 (/.f64 z y) 1))) (-.f64 -1 (*.f64 (/.f64 z y) (/.f64 z y))))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 (*.f64 x y) z))
(+.f64 x (/.f64 x (/.f64 z y)))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 x (/.f64 (*.f64 x (*.f64 y y)) (*.f64 z z))))
(+.f64 (+.f64 x (/.f64 x (/.f64 z y))) (*.f64 (/.f64 x z) (/.f64 (*.f64 y y) z)))
(fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) (fma.f64 (/.f64 y z) x x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 (/.f64 (*.f64 x (*.f64 y y)) (*.f64 z z)) (+.f64 x (/.f64 (*.f64 x (pow.f64 y 3)) (pow.f64 z 3)))))
(+.f64 (+.f64 (+.f64 x (/.f64 x (/.f64 z y))) (*.f64 (/.f64 x z) (/.f64 (*.f64 y y) z))) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x))
(fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) (fma.f64 (/.f64 y z) x (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x x)))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(*.f64 (+.f64 1 (/.f64 y (*.f64 z (/.f64 z y)))) (fma.f64 (/.f64 y z) x x))
x
(+.f64 (/.f64 (*.f64 y x) z) x)
(+.f64 x (/.f64 (*.f64 x y) z))
(+.f64 x (/.f64 x (/.f64 z y)))
(fma.f64 (/.f64 y z) x x)
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) x))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 x (/.f64 (*.f64 x (*.f64 y y)) (*.f64 z z))))
(+.f64 (+.f64 x (/.f64 x (/.f64 z y))) (*.f64 (/.f64 x z) (/.f64 (*.f64 y y) z)))
(fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) (fma.f64 (/.f64 y z) x x))
(+.f64 x (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(+.f64 (/.f64 (*.f64 y x) z) (+.f64 (/.f64 (*.f64 (pow.f64 y 2) x) (pow.f64 z 2)) (+.f64 (/.f64 (*.f64 (pow.f64 y 3) x) (pow.f64 z 3)) x)))
(+.f64 (/.f64 (*.f64 x y) z) (+.f64 (/.f64 (*.f64 x (*.f64 y y)) (*.f64 z z)) (+.f64 x (/.f64 (*.f64 x (pow.f64 y 3)) (pow.f64 z 3)))))
(+.f64 (+.f64 (+.f64 x (/.f64 x (/.f64 z y))) (*.f64 (/.f64 x z) (/.f64 (*.f64 y y) z))) (*.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x))
(fma.f64 (/.f64 x z) (/.f64 y (/.f64 z y)) (fma.f64 (/.f64 y z) x (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 z 3)) x x)))
(+.f64 (fma.f64 (pow.f64 (/.f64 y z) 3) x x) (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) x x)))
(*.f64 (+.f64 1 (/.f64 y (*.f64 z (/.f64 z y)))) (fma.f64 (/.f64 y z) x x))

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 9 computations (71% saved)

series6.0ms (0.1%)

Counts
2 → 48
Calls

18 calls:

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

rewrite59.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
974×pow1_binary64
908×add-log-exp_binary64
908×log1p-expm1-u_binary64
908×expm1-log1p-u_binary64
84×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.6%)

Algorithm
egg-herbie
Rules
87×times-frac_binary64
52×associate-/l*_binary64
49×fma-def_binary64
27×associate-/r*_binary64
25×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
09372
116354
227318
333318
439318
544318
650318
760318
8100318
9121318
10193318
11301318
12369318
13389318
14417318
15417318
Stop Event
saturated
Counts
112 → 74
Calls
Call 1
Inputs
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(*.f64 z x)
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(*.f64 y z)
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(*.f64 z x)
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
(+.f64 (*.f64 y z) (*.f64 z x))
Outputs
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(*.f64 (/.f64 z y) x)
(*.f64 x (/.f64 z y))
(*.f64 z (/.f64 x y))
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 z (/.f64 z (/.f64 y x)))
(+.f64 z (*.f64 (/.f64 z y) x))
(fma.f64 (/.f64 z y) x z)
(fma.f64 x (/.f64 z y) z)
(fma.f64 z (/.f64 x y) z)
(*.f64 z x)
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(*.f64 y z)
(*.f64 z y)
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(*.f64 z x)
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(*.f64 z x)
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))
(+.f64 (*.f64 y z) (*.f64 z x))
(fma.f64 y z (*.f64 z x))
(*.f64 z (+.f64 x y))

localize18.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 z (-.f64 (neg.f64 x) z))
0.1b
(*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y))
5.7b
(/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)
Compiler

Compiled 65 to 18 computations (72.3% saved)

series23.0ms (0.3%)

Counts
3 → 96
Calls

24 calls:

TimeVariablePointExpression
4.0ms
x
@inf
(/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)
3.0ms
x
@0
(*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y))
2.0ms
x
@0
(/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)
1.0ms
x
@inf
(*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y))
1.0ms
y
@0
(/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)

rewrite96.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
783×prod-diff_binary64
702×log-prod_binary64
406×fma-def_binary64
231×log-div_binary64
225×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify69.0ms (1%)

Algorithm
egg-herbie
Rules
835×times-frac_binary64
628×associate-/l*_binary64
605×fma-def_binary64
517×associate-*l*_binary64
471×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0481904
11581803
24701484
317071343
Stop Event
node limit
Counts
297 → 231
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (pow.f64 z 2))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (pow.f64 z 2))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (pow.f64 z 2))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (*.f64 z (neg.f64 x)) y)
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(/.f64 (neg.f64 (*.f64 z z)) y)
(/.f64 (*.f64 z (neg.f64 z)) y)
(/.f64 z (/.f64 y (neg.f64 z)))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(/.f64 (neg.f64 (*.f64 z z)) y)
(/.f64 (*.f64 z (neg.f64 z)) y)
(/.f64 z (/.f64 y (neg.f64 z)))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(/.f64 (neg.f64 (*.f64 z z)) y)
(/.f64 (*.f64 z (neg.f64 z)) y)
(/.f64 z (/.f64 y (neg.f64 z)))
(*.f64 z (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (*.f64 z (neg.f64 x)) y)
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (*.f64 z (neg.f64 x)) y)
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 (*.f64 z x) y))
(/.f64 (*.f64 z (neg.f64 x)) y)
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 x (/.f64 (neg.f64 z) y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (/.f64 (*.f64 z x) y)))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) x)))
(-.f64 (*.f64 (/.f64 z y) (neg.f64 (+.f64 z x))) (/.f64 (*.f64 x (*.f64 z z)) (*.f64 y y)))
(neg.f64 (*.f64 z (+.f64 (/.f64 (+.f64 z x) y) (*.f64 z (/.f64 x (*.f64 y y))))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z x) y))))
(-.f64 (neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (*.f64 (/.f64 z y) x))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 x (/.f64 z (/.f64 y z))))))
(neg.f64 (fma.f64 z (*.f64 z (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 z (fma.f64 z (/.f64 z y) x)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z x) y))))
(-.f64 (neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (*.f64 (/.f64 z y) x))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 x (/.f64 z (/.f64 y z))))))
(neg.f64 (fma.f64 z (*.f64 z (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 z (fma.f64 z (/.f64 z y) x)))))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(neg.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)))
(/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(neg.f64 (fma.f64 z (/.f64 z y) (*.f64 (+.f64 z x) (*.f64 (/.f64 z y) (/.f64 z y)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z x) y))))
(-.f64 (neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (*.f64 (/.f64 z y) x))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 x (/.f64 z (/.f64 y z))))))
(neg.f64 (fma.f64 z (*.f64 z (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 z (fma.f64 z (/.f64 z y) x)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z x) y))))
(-.f64 (neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (*.f64 (/.f64 z y) x))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 x (/.f64 z (/.f64 y z))))))
(neg.f64 (fma.f64 z (*.f64 z (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 z (fma.f64 z (/.f64 z y) x)))))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(neg.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)))
(/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))))
(*.f64 -1 (+.f64 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(neg.f64 (fma.f64 z (/.f64 z y) (*.f64 (+.f64 z x) (*.f64 (/.f64 z y) (/.f64 z y)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z x) y))))
(-.f64 (neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (*.f64 (/.f64 z y) x))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 x (/.f64 z (/.f64 y z))))))
(neg.f64 (fma.f64 z (*.f64 z (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 z (fma.f64 z (/.f64 z y) x)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (/.f64 1 y) (/.f64 x (pow.f64 y 2))) (pow.f64 z 2))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z x) y))))
(fma.f64 -1 (*.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y)))) (fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z x) y))))
(-.f64 (neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (*.f64 (/.f64 z y) x))
(neg.f64 (fma.f64 (*.f64 z z) (+.f64 (/.f64 1 y) (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 x (/.f64 z (/.f64 y z))))))
(neg.f64 (fma.f64 z (*.f64 z (/.f64 x (*.f64 y y))) (*.f64 (/.f64 z y) (+.f64 z (fma.f64 z (/.f64 z y) x)))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2)))
(neg.f64 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)))
(/.f64 (*.f64 (*.f64 z (neg.f64 z)) (+.f64 z x)) (*.f64 y y))
(*.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (neg.f64 (+.f64 z x)))
(*.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (*.f64 z (neg.f64 z)) y) (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 (+.f64 z x)))
(*.f64 (/.f64 z y) (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) (+.f64 z x)) (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 z (+.f64 z x)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z z))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z z)))
(*.f64 (/.f64 (+.f64 1 (/.f64 z y)) y) (*.f64 z (neg.f64 z)))
(*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(*.f64 (/.f64 (+.f64 1 (/.f64 z y)) y) (*.f64 x (neg.f64 z)))
(*.f64 (/.f64 (neg.f64 z) y) (fma.f64 x (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(*.f64 (/.f64 (+.f64 1 (/.f64 z y)) y) (*.f64 x (neg.f64 z)))
(*.f64 (/.f64 (neg.f64 z) y) (fma.f64 x (/.f64 z y) x))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y)) (*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (pow.f64 z 2)) y)))
(fma.f64 -1 (/.f64 (*.f64 (*.f64 z z) (+.f64 z x)) (*.f64 y y)) (neg.f64 (/.f64 (*.f64 z (+.f64 z x)) y)))
(-.f64 (/.f64 (*.f64 (neg.f64 z) (+.f64 z x)) y) (*.f64 (/.f64 z (/.f64 y z)) (/.f64 (+.f64 z x) y)))
(neg.f64 (*.f64 (+.f64 z x) (+.f64 (/.f64 z y) (*.f64 (/.f64 z y) (/.f64 z y)))))
(*.f64 (*.f64 (+.f64 z x) (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(*.f64 -1 (pow.f64 z 2))
(neg.f64 (*.f64 z z))
(*.f64 z (neg.f64 z))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(*.f64 -1 (pow.f64 z 2))
(neg.f64 (*.f64 z z))
(*.f64 z (neg.f64 z))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(*.f64 -1 (pow.f64 z 2))
(neg.f64 (*.f64 z z))
(*.f64 z (neg.f64 z))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(*.f64 -1 (*.f64 z x))
(neg.f64 (*.f64 z x))
(*.f64 z (neg.f64 x))
(*.f64 x (neg.f64 z))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))
(+.f64 (*.f64 -1 (pow.f64 z 2)) (*.f64 -1 (*.f64 z x)))
(*.f64 -1 (*.f64 z (+.f64 z x)))
(*.f64 (neg.f64 z) (+.f64 z x))
(*.f64 (+.f64 z x) (neg.f64 z))
(*.f64 z (-.f64 (neg.f64 z) x))

eval102.0ms (1.5%)

Compiler

Compiled 7755 to 2793 computations (64% saved)

prune78.0ms (1.1%)

Pruning

16 alts after pruning (14 fresh and 2 done)

PrunedKeptTotal
New43211443
Fresh235
Picked101
Done325
Total43816454
Error
0b
Counts
454 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
35.5b
(/.f64 (*.f64 (+.f64 y x) z) (neg.f64 y))
51.8b
(*.f64 x (/.f64 z (neg.f64 y)))
35.4b
(pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2)
52.1b
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
49.1b
(*.f64 -1 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 y x) z) 3)) y))
37.5b
(/.f64 y (-.f64 1 (/.f64 y z)))
31.6b
(*.f64 (pow.f64 (/.f64 y (+.f64 y x)) -1) (neg.f64 z))
38.9b
(neg.f64 (/.f64 (+.f64 y x) (/.f64 y z)))
41.6b
(neg.f64 z)
51.6b
(*.f64 (/.f64 x y) (neg.f64 z))
43.7b
x
51.0b
(*.f64 -1 (/.f64 (*.f64 z x) y))
33.5b
(/.f64 x (-.f64 1 (/.f64 y z)))
32.0b
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) z))
33.4b
(+.f64 y x)
42.1b
(-.f64 (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))) z)
Compiler

Compiled 321 to 216 computations (32.7% saved)

localize12.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 y (+.f64 y x))
0.1b
(pow.f64 (/.f64 y (+.f64 y x)) -1)
2.9b
(*.f64 (pow.f64 (/.f64 y (+.f64 y x)) -1) (neg.f64 z))
Compiler

Compiled 34 to 12 computations (64.7% saved)

series12.0ms (0.2%)

Counts
3 → 84
Calls

21 calls:

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

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
502×log-prod_binary64
473×prod-diff_binary64
318×pow-prod-down_binary64
262×pow2_binary64
203×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify63.0ms (0.9%)

Algorithm
egg-herbie
Rules
478×cancel-sign-sub-inv_binary64
470×fma-def_binary64
356×associate-/r/_binary64
304×associate-+l+_binary64
259×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0961035
1300975
21149888
34630849
Stop Event
node limit
Counts
205 → 153
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (/.f64 x y)))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) x) (pow.f64 x 3))) (pow.f64 y 3))))))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (/.f64 x y)))
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (+.f64 (/.f64 x y) (+.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) x) (pow.f64 y 3))))))))
1
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(+.f64 1 (/.f64 x y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (+.f64 y (*.f64 -1 y)) x))))
(+.f64 1 (+.f64 (/.f64 x y) (+.f64 (*.f64 -1 (/.f64 (+.f64 y (*.f64 -1 y)) x)) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 (pow.f64 y 2) (*.f64 y (+.f64 y (*.f64 -1 y))))) (pow.f64 x 2))))))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 1 (+.f64 (/.f64 y x) (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 y x)))))
(+.f64 1 (+.f64 (/.f64 y x) (+.f64 (/.f64 x y) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 (pow.f64 y 2) (*.f64 -1 (*.f64 y (+.f64 y (*.f64 -1 y)))))) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x))))))
(/.f64 y x)
(+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 x 4))))))
1
(+.f64 1 (*.f64 -1 (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 -1 (/.f64 x y)))))
1
(+.f64 1 (*.f64 -1 (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 -1 (/.f64 x y)))))
1
(+.f64 1 (*.f64 -1 (/.f64 x y)))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 -1 (/.f64 x y)))))
(/.f64 y x)
(+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 x 4))))))
(/.f64 y x)
(+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 x 4))))))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (neg.f64 (/.f64 z y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (neg.f64 (/.f64 z y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (neg.f64 (/.f64 z y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(fma.f64 -1 z (neg.f64 (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(neg.f64 (/.f64 (+.f64 x y) (/.f64 y z)))
(/.f64 (*.f64 (neg.f64 z) (+.f64 x y)) y)
(*.f64 (/.f64 (+.f64 x y) y) (neg.f64 z))
(*.f64 z (/.f64 (-.f64 (neg.f64 y) x) y))
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (/.f64 x y)))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 3)) (+.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) x) (pow.f64 x 3))) (pow.f64 y 3))))))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (/.f64 x y)))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) (pow.f64 y 2))) (+.f64 (/.f64 x y) (+.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -1 (pow.f64 x 2)) (pow.f64 x 2)) x) (pow.f64 y 3))))))))
(+.f64 (/.f64 x y) 1)
1
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 (+.f64 y (*.f64 -1 y)) x))))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (/.f64 x y) (+.f64 (*.f64 -1 (/.f64 (+.f64 y (*.f64 -1 y)) x)) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 (pow.f64 y 2) (*.f64 y (+.f64 y (*.f64 -1 y))))) (pow.f64 x 2))))))
(+.f64 (/.f64 x y) 1)
(/.f64 x y)
(+.f64 1 (/.f64 x y))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (/.f64 y x) (+.f64 (/.f64 x y) (*.f64 -1 (/.f64 y x)))))
(+.f64 (/.f64 x y) 1)
(+.f64 1 (+.f64 (/.f64 y x) (+.f64 (/.f64 x y) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 (pow.f64 y 2) (*.f64 -1 (*.f64 y (+.f64 y (*.f64 -1 y)))))) (pow.f64 x 2))) (*.f64 -1 (/.f64 y x))))))
(+.f64 (/.f64 x y) 1)
(/.f64 y x)
(+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 (/.f64 y x) (/.f64 (neg.f64 (*.f64 y y)) (*.f64 x x)))
(-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (+.f64 (/.f64 y x) (/.f64 (neg.f64 (*.f64 y y)) (*.f64 x x))) (/.f64 (pow.f64 y 3) (pow.f64 x 3)))
(+.f64 (-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 (pow.f64 y 3) (pow.f64 x 3)))
(+.f64 (/.f64 y x) (-.f64 (pow.f64 (/.f64 y x) 3) (*.f64 (/.f64 y x) (/.f64 y x))))
(+.f64 (*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)) (pow.f64 (/.f64 y x) 3))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 x 4))))))
(+.f64 (+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 y y) (*.f64 x x)) (/.f64 (pow.f64 y 4) (pow.f64 x 4)))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (-.f64 (-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 (pow.f64 y 4) (pow.f64 x 4))))
(-.f64 (+.f64 (/.f64 y x) (pow.f64 (/.f64 y x) 3)) (fma.f64 (/.f64 y x) (/.f64 y x) (/.f64 (pow.f64 y 4) (pow.f64 x 4))))
(*.f64 (+.f64 (*.f64 (/.f64 y x) (/.f64 y x)) 1) (*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)))
1
(+.f64 1 (*.f64 -1 (/.f64 x y)))
(+.f64 1 (neg.f64 (/.f64 x y)))
(-.f64 1 (/.f64 x y))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (+.f64 1 (neg.f64 (/.f64 x y))) (/.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (-.f64 1 (/.f64 x y)) (*.f64 (/.f64 x y) (/.f64 x y)))
(+.f64 1 (*.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1)))
(+.f64 1 (*.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y))))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 -1 (/.f64 x y)))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (+.f64 1 (*.f64 -1 (+.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 x y)))))
(+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (-.f64 (-.f64 1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (/.f64 x y)))
(+.f64 1 (-.f64 (*.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1)) (pow.f64 (/.f64 x y) 3)))
(+.f64 1 (-.f64 (*.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y))) (pow.f64 (/.f64 x y) 3)))
1
(+.f64 1 (*.f64 -1 (/.f64 x y)))
(+.f64 1 (neg.f64 (/.f64 x y)))
(-.f64 1 (/.f64 x y))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (+.f64 1 (neg.f64 (/.f64 x y))) (/.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (-.f64 1 (/.f64 x y)) (*.f64 (/.f64 x y) (/.f64 x y)))
(+.f64 1 (*.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1)))
(+.f64 1 (*.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y))))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 -1 (/.f64 x y)))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (+.f64 1 (*.f64 -1 (+.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 x y)))))
(+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (-.f64 (-.f64 1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (/.f64 x y)))
(+.f64 1 (-.f64 (*.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1)) (pow.f64 (/.f64 x y) 3)))
(+.f64 1 (-.f64 (*.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y))) (pow.f64 (/.f64 x y) 3)))
1
(+.f64 1 (*.f64 -1 (/.f64 x y)))
(+.f64 1 (neg.f64 (/.f64 x y)))
(-.f64 1 (/.f64 x y))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (*.f64 -1 (/.f64 x y))))
(+.f64 (+.f64 1 (neg.f64 (/.f64 x y))) (/.f64 (*.f64 x x) (*.f64 y y)))
(+.f64 (-.f64 1 (/.f64 x y)) (*.f64 (/.f64 x y) (/.f64 x y)))
(+.f64 1 (*.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1)))
(+.f64 1 (*.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y))))
(+.f64 (/.f64 (pow.f64 x 2) (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (*.f64 -1 (/.f64 x y)))))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (+.f64 1 (*.f64 -1 (+.f64 (/.f64 (pow.f64 x 3) (pow.f64 y 3)) (/.f64 x y)))))
(+.f64 (*.f64 (/.f64 x y) (/.f64 x y)) (-.f64 (-.f64 1 (/.f64 (pow.f64 x 3) (pow.f64 y 3))) (/.f64 x y)))
(+.f64 1 (-.f64 (*.f64 (/.f64 x y) (+.f64 (/.f64 x y) -1)) (pow.f64 (/.f64 x y) 3)))
(+.f64 1 (-.f64 (*.f64 (/.f64 x y) (+.f64 -1 (/.f64 x y))) (pow.f64 (/.f64 x y) 3)))
(/.f64 y x)
(+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 (/.f64 y x) (/.f64 (neg.f64 (*.f64 y y)) (*.f64 x x)))
(-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (+.f64 (/.f64 y x) (/.f64 (neg.f64 (*.f64 y y)) (*.f64 x x))) (/.f64 (pow.f64 y 3) (pow.f64 x 3)))
(+.f64 (-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 (pow.f64 y 3) (pow.f64 x 3)))
(+.f64 (/.f64 y x) (-.f64 (pow.f64 (/.f64 y x) 3) (*.f64 (/.f64 y x) (/.f64 y x))))
(+.f64 (*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)) (pow.f64 (/.f64 y x) 3))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 x 4))))))
(+.f64 (+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 y y) (*.f64 x x)) (/.f64 (pow.f64 y 4) (pow.f64 x 4)))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (-.f64 (-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 (pow.f64 y 4) (pow.f64 x 4))))
(-.f64 (+.f64 (/.f64 y x) (pow.f64 (/.f64 y x) 3)) (fma.f64 (/.f64 y x) (/.f64 y x) (/.f64 (pow.f64 y 4) (pow.f64 x 4))))
(*.f64 (+.f64 (*.f64 (/.f64 y x) (/.f64 y x)) 1) (*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)))
(/.f64 y x)
(+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))))
(+.f64 (/.f64 y x) (/.f64 (neg.f64 (*.f64 y y)) (*.f64 x x)))
(-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x)))
(*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2)))))
(+.f64 (+.f64 (/.f64 y x) (/.f64 (neg.f64 (*.f64 y y)) (*.f64 x x))) (/.f64 (pow.f64 y 3) (pow.f64 x 3)))
(+.f64 (-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 (pow.f64 y 3) (pow.f64 x 3)))
(+.f64 (/.f64 y x) (-.f64 (pow.f64 (/.f64 y x) 3) (*.f64 (/.f64 y x) (/.f64 y x))))
(+.f64 (*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)) (pow.f64 (/.f64 y x) 3))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (/.f64 y x) (+.f64 (*.f64 -1 (/.f64 (pow.f64 y 2) (pow.f64 x 2))) (*.f64 -1 (/.f64 (pow.f64 y 4) (pow.f64 x 4))))))
(+.f64 (+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (/.f64 y x)) (*.f64 -1 (+.f64 (/.f64 (*.f64 y y) (*.f64 x x)) (/.f64 (pow.f64 y 4) (pow.f64 x 4)))))
(+.f64 (/.f64 (pow.f64 y 3) (pow.f64 x 3)) (-.f64 (-.f64 (/.f64 y x) (*.f64 (/.f64 y x) (/.f64 y x))) (/.f64 (pow.f64 y 4) (pow.f64 x 4))))
(-.f64 (+.f64 (/.f64 y x) (pow.f64 (/.f64 y x) 3)) (fma.f64 (/.f64 y x) (/.f64 y x) (/.f64 (pow.f64 y 4) (pow.f64 x 4))))
(*.f64 (+.f64 (*.f64 (/.f64 y x) (/.f64 y x)) 1) (*.f64 (-.f64 1 (/.f64 y x)) (/.f64 y x)))

localize8.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize14.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.9b
(/.f64 (*.f64 z x) y)
Compiler

Compiled 22 to 8 computations (63.6% saved)

series20.0ms (0.3%)

Counts
1 → 0
Calls

9 calls:

TimeVariablePointExpression
11.0ms
x
@-inf
(/.f64 (*.f64 z x) y)
2.0ms
y
@-inf
(/.f64 (*.f64 z x) y)
1.0ms
z
@0
(/.f64 (*.f64 z x) y)
1.0ms
y
@0
(/.f64 (*.f64 z x) y)
1.0ms
x
@0
(/.f64 (*.f64 z x) y)

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
712×pow1_binary64
659×add-log-exp_binary64
659×log1p-expm1-u_binary64
659×expm1-log1p-u_binary64
644×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify13.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
41 → 41
Calls
Call 1
Inputs
Outputs

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 24 to 7 computations (70.8% saved)

series4.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
990×pow1_binary64
923×add-log-exp_binary64
922×log1p-expm1-u_binary64
922×expm1-log1p-u_binary64
96×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify147.0ms (2.2%)

Algorithm
egg-herbie
Rules
874×fma-neg_binary64
865×fma-def_binary64
493×times-frac_binary64
448×div-sub_binary64
344×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014426
135396
284336
3195336
4432336
5854336
61991336
74736336
86876336
97549336
107790336
117924336
127936336
137936336
Stop Event
node limit
Counts
83 → 54
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 z) (/.f64 y x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(*.f64 x (/.f64 z (neg.f64 y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (*.f64 z x) y)))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(*.f64 -1 (+.f64 z (/.f64 z (/.f64 y x))))
(-.f64 (/.f64 (neg.f64 z) (/.f64 y x)) z)
(neg.f64 (fma.f64 (/.f64 z y) x z))
(*.f64 z (-.f64 -1 (/.f64 x y)))

localize35.0ms (0.5%)

Local error

Found 2 expressions with local error:

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

Compiled 46 to 16 computations (65.2% saved)

series15.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

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

rewrite96.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
562×log-prod_binary64
375×pow-prod-down_binary64
265×pow2_binary64
237×pow-unpow_binary64
211×log-div_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify86.0ms (1.3%)

Algorithm
egg-herbie
Rules
745×fma-def_binary64
368×distribute-rgt-out--_binary64
325×cancel-sign-sub-inv_binary64
323×distribute-rgt-out_binary64
312×distribute-neg-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
014627
141609
2103519
3332519
42091519
55763519
Stop Event
node limit
Counts
157 → 116
Calls
Call 1
Inputs
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(/.f64 (pow.f64 z 2) y)
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
Outputs
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(/.f64 (pow.f64 z 2) y)
(/.f64 (*.f64 z z) y)
(/.f64 z (/.f64 y z))
(*.f64 (/.f64 z y) z)
(*.f64 z (/.f64 z y))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (neg.f64 (*.f64 z z)) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(*.f64 (/.f64 z y) (neg.f64 z))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(neg.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)))
(/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y))
(/.f64 (neg.f64 (/.f64 (pow.f64 z 3) y)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(neg.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)))
(/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y))
(/.f64 (neg.f64 (/.f64 (pow.f64 z 3) y)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2)))
(neg.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)))
(/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y))
(/.f64 (neg.f64 (/.f64 (pow.f64 z 3) y)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (neg.f64 (*.f64 z z)) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(*.f64 (/.f64 z y) (neg.f64 z))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(*.f64 -1 (/.f64 (pow.f64 z 2) y))
(neg.f64 (/.f64 (*.f64 z z) y))
(/.f64 (neg.f64 (*.f64 z z)) y)
(/.f64 (neg.f64 z) (/.f64 y z))
(*.f64 (/.f64 z y) (neg.f64 z))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (/.f64 (*.f64 z z) y)))
(-.f64 (/.f64 (neg.f64 (pow.f64 z 3)) (*.f64 y y)) (/.f64 z (/.f64 y z)))
(*.f64 (*.f64 (/.f64 z y) z) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 (*.f64 z z) y) (-.f64 -1 (/.f64 z y)))
(*.f64 (*.f64 z (/.f64 z y)) (-.f64 -1 (/.f64 z y)))
(*.f64 z (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))

eval247.0ms (3.6%)

Compiler

Compiled 5811 to 2356 computations (59.5% saved)

prune76.0ms (1.1%)

Pruning

14 alts after pruning (10 fresh and 4 done)

PrunedKeptTotal
New3865391
Fresh459
Picked011
Done336
Total39314407
Error
0b
Counts
407 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
43.7b
x
31.6b
(*.f64 z (-.f64 -1 (/.f64 x y)))
35.4b
(pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2)
52.1b
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
37.5b
(/.f64 y (-.f64 1 (/.f64 y z)))
38.9b
(neg.f64 (/.f64 (+.f64 y x) (/.f64 y z)))
33.4b
(+.f64 y x)
31.2b
(neg.f64 (/.f64 z (/.f64 y (+.f64 y x))))
41.6b
(neg.f64 z)
51.6b
(*.f64 (/.f64 x y) (neg.f64 z))
51.8b
(*.f64 x (/.f64 z (neg.f64 y)))
51.0b
(/.f64 (*.f64 z x) (neg.f64 y))
33.5b
(/.f64 x (-.f64 1 (/.f64 y z)))
42.1b
(-.f64 (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))) z)
Compiler

Compiled 237 to 158 computations (33.3% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 7 computations (75.9% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite66.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
500×prod-diff_binary64
478×log-prod_binary64
368×exp-prod_binary64
293×pow-prod-down_binary64
231×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify114.0ms (1.7%)

Algorithm
egg-herbie
Rules
779×associate-/l*_binary64
730×associate-/l/_binary64
684×fma-def_binary64
599×associate-/r/_binary64
551×associate-*l/_binary64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
010324
118324
231324
343324
456324
572324
681264
792264
8270264
91250264
101504264
111641264
121654264
131659264
141664264
156231264
166935264
177250264
187539264
197738264
207990264
Stop Event
node limit
Counts
101 → 71
Calls
Call 1
Inputs
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (*.f64 z x) y)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
Outputs
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 (+.f64 y x) z) y)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(/.f64 x (/.f64 y z))
(*.f64 x (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
z
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(/.f64 x (/.f64 y z))
(*.f64 x (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(/.f64 (*.f64 z x) y)
(/.f64 z (/.f64 y x))
(/.f64 x (/.f64 y z))
(*.f64 x (/.f64 z y))
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)
(+.f64 (/.f64 (*.f64 z x) y) z)
(/.f64 (+.f64 y x) (/.f64 y z))
(*.f64 (/.f64 (+.f64 y x) y) z)
(*.f64 z (/.f64 (+.f64 y x) y))
(*.f64 (+.f64 y x) (/.f64 z y))
(fma.f64 x (/.f64 z y) z)

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
5.8b
(*.f64 x (/.f64 z (neg.f64 y)))
Compiler

Compiled 18 to 6 computations (66.7% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
698×pow1_binary64
644×add-log-exp_binary64
643×log1p-expm1-u_binary64
643×expm1-log1p-u_binary64
629×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
46×fma-neg_binary64
24×sub-neg_binary64
18×div-sub_binary64
14×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08324
115324
235324
369324
4114324
5162324
6202324
7238324
8275324
9394324
10445324
Stop Event
saturated
Counts
59 → 25
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.9b
(/.f64 (*.f64 z x) (neg.f64 y))
Compiler

Compiled 17 to 6 computations (64.7% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@0
(/.f64 (*.f64 z x) (neg.f64 y))
0.0ms
z
@0
(/.f64 (*.f64 z x) (neg.f64 y))
0.0ms
z
@inf
(/.f64 (*.f64 z x) (neg.f64 y))
0.0ms
x
@inf
(/.f64 (*.f64 z x) (neg.f64 y))
0.0ms
y
@inf
(/.f64 (*.f64 z x) (neg.f64 y))

rewrite61.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
731×pow1_binary64
677×add-log-exp_binary64
676×log1p-expm1-u_binary64
676×expm1-log1p-u_binary64
662×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify30.0ms (0.4%)

Algorithm
egg-herbie
Rules
145×fma-def_binary64
46×fma-neg_binary64
24×sub-neg_binary64
18×div-sub_binary64
14×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08324
115324
235324
369324
4114324
5162324
6202324
7238324
8275324
9394324
10445324
Stop Event
saturated
Counts
82 → 48
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
Outputs
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(/.f64 (neg.f64 (*.f64 z x)) y)
(*.f64 (neg.f64 (/.f64 z y)) x)
(*.f64 x (/.f64 (neg.f64 z) y))
(*.f64 z (neg.f64 (/.f64 x y)))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
9.0b
(/.f64 y (-.f64 1 (/.f64 y z)))
Compiler

Compiled 21 to 10 computations (52.4% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite59.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
888×pow1_binary64
827×add-log-exp_binary64
827×log1p-expm1-u_binary64
827×expm1-log1p-u_binary64
810×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (0.9%)

Algorithm
egg-herbie
Rules
739×associate-/l*_binary64
510×fma-neg_binary64
501×fma-def_binary64
399×associate-/r*_binary64
320×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
034444
1100426
2305408
31227354
47490354
Stop Event
node limit
Counts
57 → 48
Calls
Call 1
Inputs
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(*.f64 -1 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
Outputs
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (*.f64 (/.f64 y z) y))
(fma.f64 (/.f64 y z) y y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y)))
(+.f64 y (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) y y)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 y (+.f64 (/.f64 (*.f64 y y) z) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 (+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y))) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))
(+.f64 (fma.f64 (/.f64 y z) y y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z))))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 (/.f64 z (/.f64 y z))) z)
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) (fma.f64 (/.f64 z y) z z)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (neg.f64 (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (neg.f64 (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (/.f64 (pow.f64 z 4) (pow.f64 y 3)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (+.f64 (/.f64 z y) 1)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 (/.f64 z (/.f64 y z))) z)
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) (fma.f64 (/.f64 z y) z z)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (neg.f64 (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (neg.f64 (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (/.f64 (pow.f64 z 4) (pow.f64 y 3)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (+.f64 (/.f64 z y) 1)))
(*.f64 -1 z)
(neg.f64 z)
(+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))
(*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y)))
(-.f64 (neg.f64 z) (/.f64 z (/.f64 y z)))
(-.f64 (neg.f64 (/.f64 z (/.f64 y z))) z)
(*.f64 z (-.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (*.f64 -1 (/.f64 (pow.f64 z 2) y))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (*.f64 -1 (+.f64 z (/.f64 (*.f64 z z) y))))
(-.f64 (-.f64 (neg.f64 z) (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y))))
(-.f64 (neg.f64 z) (*.f64 (/.f64 z y) (fma.f64 (/.f64 z y) z z)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 3) (pow.f64 y 2))) (+.f64 (*.f64 -1 z) (+.f64 (*.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3))) (*.f64 -1 (/.f64 (pow.f64 z 2) y)))))
(fma.f64 -1 (/.f64 (pow.f64 z 3) (*.f64 y y)) (fma.f64 -1 z (fma.f64 -1 (/.f64 (pow.f64 z 4) (pow.f64 y 3)) (neg.f64 (/.f64 (*.f64 z z) y)))))
(-.f64 (-.f64 (-.f64 (neg.f64 (/.f64 z (/.f64 y z))) (/.f64 (pow.f64 z 4) (pow.f64 y 3))) z) (/.f64 (pow.f64 z 3) (*.f64 y y)))
(-.f64 (-.f64 (neg.f64 z) (+.f64 (/.f64 z (/.f64 y z)) (/.f64 (pow.f64 z 3) (*.f64 y y)))) (/.f64 (pow.f64 z 4) (pow.f64 y 3)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (-.f64 (/.f64 z y) -1)))
(-.f64 (*.f64 z (-.f64 -1 (/.f64 z y))) (*.f64 (/.f64 (pow.f64 z 3) (*.f64 y y)) (+.f64 (/.f64 z y) 1)))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (*.f64 (/.f64 y z) y))
(fma.f64 (/.f64 y z) y y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y)))
(+.f64 y (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) y y)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 y (+.f64 (/.f64 (*.f64 y y) z) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 (+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y))) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))
(+.f64 (fma.f64 (/.f64 y z) y y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z))))
y
(+.f64 (/.f64 (pow.f64 y 2) z) y)
(+.f64 y (/.f64 (*.f64 y y) z))
(+.f64 y (*.f64 (/.f64 y z) y))
(fma.f64 (/.f64 y z) y y)
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (/.f64 (pow.f64 y 3) (pow.f64 z 2))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (/.f64 (pow.f64 y 3) (*.f64 z z))))
(+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y)))
(+.f64 y (*.f64 (/.f64 y z) (fma.f64 (/.f64 y z) y y)))
(+.f64 (/.f64 (pow.f64 y 2) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 4) (pow.f64 z 3)) (/.f64 (pow.f64 y 3) (pow.f64 z 2)))))
(+.f64 (/.f64 (*.f64 y y) z) (+.f64 y (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 y (+.f64 (/.f64 (*.f64 y y) z) (+.f64 (/.f64 (pow.f64 y 3) (*.f64 z z)) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))))
(+.f64 (+.f64 y (*.f64 (+.f64 (/.f64 y z) 1) (*.f64 (/.f64 y z) y))) (/.f64 (pow.f64 y 4) (pow.f64 z 3)))
(+.f64 (fma.f64 (/.f64 y z) y y) (*.f64 (+.f64 1 (/.f64 y z)) (/.f64 (pow.f64 y 3) (*.f64 z z))))

localize25.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
5.1b
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
Compiler

Compiled 35 to 14 computations (60% saved)

series20.0ms (0.3%)

Counts
2 → 60
Calls

15 calls:

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

rewrite104.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
529×log-prod_binary64
395×exp-prod_binary64
389×pow-prod-down_binary64
263×pow2_binary64
206×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify118.0ms (1.7%)

Algorithm
egg-herbie
Rules
584×div-sub_binary64
472×times-frac_binary64
468×fma-neg_binary64
403×distribute-rgt-neg-in_binary64
361×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0251008
174990
2198900
3706840
43949840
57664840
Stop Event
node limit
Counts
171 → 124
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(*.f64 -1 (/.f64 z y))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
Outputs
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (+.f64 1 (/.f64 z y)) (*.f64 z x)) y))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(neg.f64 (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2)))
(neg.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)))
(/.f64 (*.f64 (neg.f64 z) z) (/.f64 y (/.f64 x y)))
(*.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 z (/.f64 (*.f64 y y) z)) (neg.f64 x))
(*.f64 z (*.f64 (/.f64 z y) (/.f64 (neg.f64 x) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2)))
(neg.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)))
(/.f64 (*.f64 (neg.f64 z) z) (/.f64 y (/.f64 x y)))
(*.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 z (/.f64 (*.f64 y y) z)) (neg.f64 x))
(*.f64 z (*.f64 (/.f64 z y) (/.f64 (neg.f64 x) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2)))
(neg.f64 (/.f64 (*.f64 z z) (/.f64 (*.f64 y y) x)))
(/.f64 (*.f64 (neg.f64 z) z) (/.f64 y (/.f64 x y)))
(*.f64 (*.f64 (/.f64 z y) (/.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 z (/.f64 (*.f64 y y) z)) (neg.f64 x))
(*.f64 z (*.f64 (/.f64 z y) (/.f64 (neg.f64 x) y)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(neg.f64 (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(neg.f64 (/.f64 z (/.f64 y x)))
(neg.f64 (*.f64 (/.f64 z y) x))
(*.f64 (/.f64 z y) (neg.f64 x))
(*.f64 z (/.f64 (neg.f64 x) y))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 z x) y)) (*.f64 -1 (/.f64 (*.f64 (pow.f64 z 2) x) (pow.f64 y 2))))
(neg.f64 (/.f64 (+.f64 1 (/.f64 z y)) (/.f64 y (*.f64 z x))))
(/.f64 (neg.f64 (+.f64 1 (/.f64 z y))) (/.f64 y (*.f64 z x)))
(/.f64 (+.f64 -1 (/.f64 (neg.f64 z) y)) (/.f64 (/.f64 y x) z))
(*.f64 (*.f64 z (/.f64 x y)) (-.f64 -1 (/.f64 z y)))
(*.f64 (/.f64 z y) (neg.f64 (fma.f64 (/.f64 z y) x x)))
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2)))
(neg.f64 (/.f64 (*.f64 z z) (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 z) z) (*.f64 y y))
(*.f64 (/.f64 z y) (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z (*.f64 y y)) (neg.f64 z))
(*.f64 (neg.f64 z) (/.f64 z (*.f64 y y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2)))
(neg.f64 (/.f64 (*.f64 z z) (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 z) z) (*.f64 y y))
(*.f64 (/.f64 z y) (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z (*.f64 y y)) (neg.f64 z))
(*.f64 (neg.f64 z) (/.f64 z (*.f64 y y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2)))
(neg.f64 (/.f64 (*.f64 z z) (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 z) z) (*.f64 y y))
(*.f64 (/.f64 z y) (/.f64 (neg.f64 z) y))
(*.f64 (/.f64 z (*.f64 y y)) (neg.f64 z))
(*.f64 (neg.f64 z) (/.f64 z (*.f64 y y)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(*.f64 -1 (/.f64 z y))
(neg.f64 (/.f64 z y))
(/.f64 (neg.f64 z) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 z 2) (pow.f64 y 2))) (*.f64 -1 (/.f64 z y)))
(fma.f64 -1 (/.f64 (*.f64 z z) (*.f64 y y)) (neg.f64 (/.f64 z y)))
(-.f64 (/.f64 (neg.f64 z) y) (*.f64 (/.f64 z y) (/.f64 z y)))
(*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y)))
(*.f64 z (/.f64 (-.f64 -1 (/.f64 z y)) y))
(/.f64 (neg.f64 (fma.f64 z (/.f64 z y) z)) y)

eval104.0ms (1.5%)

Compiler

Compiled 5162 to 2151 computations (58.3% saved)

prune77.0ms (1.1%)

Pruning

16 alts after pruning (8 fresh and 8 done)

PrunedKeptTotal
New3725377
Fresh235
Picked011
Done178
Total37516391
Error
0b
Counts
391 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
43.7b
x
31.6b
(*.f64 z (-.f64 -1 (/.f64 x y)))
51.8b
(*.f64 x (/.f64 z (neg.f64 y)))
62.1b
(/.f64 x (/.f64 y z))
51.0b
(/.f64 (*.f64 z x) (neg.f64 y))
51.2b
(neg.f64 (/.f64 z (/.f64 y x)))
32.0b
(neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z))
48.8b
(pow.f64 (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 2)
33.4b
(+.f64 y x)
51.6b
y
41.6b
(neg.f64 z)
51.6b
(*.f64 (/.f64 x y) (neg.f64 z))
52.1b
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
33.5b
(/.f64 x (-.f64 1 (/.f64 y z)))
37.5b
(/.f64 y (-.f64 1 (/.f64 y z)))
42.1b
(-.f64 (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))) z)
Compiler

Compiled 147 to 99 computations (32.7% saved)

regimes285.0ms (4.2%)

Counts
32 → 3
Calls
Call 1
Inputs
y
x
x
(neg.f64 z)
(+.f64 y x)
(/.f64 x (/.f64 y z))
(neg.f64 (/.f64 z (/.f64 y x)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 x (/.f64 z (neg.f64 y)))
(/.f64 (*.f64 z x) (neg.f64 y))
(*.f64 x (/.f64 z (neg.f64 y)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(/.f64 y (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z))
(neg.f64 (/.f64 z (/.f64 y (+.f64 y x))))
(/.f64 (*.f64 (+.f64 y x) z) (neg.f64 y))
(neg.f64 (/.f64 (+.f64 y x) (/.f64 y z)))
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(-.f64 (neg.f64 z) (/.f64 (*.f64 z (+.f64 x z)) y))
(*.f64 x (*.f64 (/.f64 z y) (-.f64 -1 (/.f64 z y))))
(-.f64 (*.f64 (/.f64 z (/.f64 y z)) (-.f64 -1 (/.f64 z y))) z)
(-.f64 (*.f64 (+.f64 (/.f64 z y) 1) (/.f64 (*.f64 z (-.f64 (neg.f64 x) z)) y)) z)
(*.f64 (pow.f64 (/.f64 y (+.f64 y x)) -1) (neg.f64 z))
(pow.f64 (sqrt.f64 (/.f64 y (-.f64 1 (/.f64 y z)))) 2)
(*.f64 -1 (/.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 y x) z) 3)) y))
(pow.f64 (sqrt.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))) 2)
Outputs
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
(neg.f64 (/.f64 z (/.f64 y (+.f64 y x))))
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Calls

5 calls:

79.0ms
z
77.0ms
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
54.0ms
y
48.0ms
(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
19.0ms
x
Results
ErrorSegmentsBranch
9.1b1x
3.6b3y
2.5b3z
0.1b3(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
0.1b3(/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))
Compiler

Compiled 277 to 117 computations (57.8% saved)

bsearch2.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-0.0
3.670828278533808e-289
0.0ms
-7.231880801433004e-201
-3.5417736119789383e-259
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes182.0ms (2.7%)

Counts
23 → 5
Calls
Call 1
Inputs
y
x
x
(neg.f64 z)
(+.f64 y x)
(/.f64 x (/.f64 y z))
(neg.f64 (/.f64 z (/.f64 y x)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 x (/.f64 z (neg.f64 y)))
(/.f64 (*.f64 z x) (neg.f64 y))
(*.f64 x (/.f64 z (neg.f64 y)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(/.f64 y (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z))
(neg.f64 (/.f64 z (/.f64 y (+.f64 y x))))
(/.f64 (*.f64 (+.f64 y x) z) (neg.f64 y))
(neg.f64 (/.f64 (+.f64 y x) (/.f64 y z)))
(*.f64 (/.f64 (+.f64 y x) y) (neg.f64 z))
(*.f64 -1 (+.f64 (/.f64 (*.f64 z x) y) z))
(*.f64 -1 (/.f64 (*.f64 (+.f64 y x) z) y))
Outputs
(+.f64 y x)
(neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z))
(+.f64 y x)
(neg.f64 (/.f64 z (/.f64 y (+.f64 y x))))
(+.f64 y x)
Calls

3 calls:

72.0ms
z
63.0ms
x
42.0ms
y
Results
ErrorSegmentsBranch
18.1b6x
14.0b4y
11.7b5z
Compiler

Compiled 150 to 54 computations (64% saved)

bsearch91.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
31.0ms
6.014845664009336e+71
1.5289118368822298e+74
20.0ms
4.9054715775803576e-33
1.085247789176835e-29
19.0ms
1.5836852612595462e-57
7.688367190520866e-52
20.0ms
-3.0057694370324236e-43
-9.643093107417844e-50
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes464.0ms (6.8%)

Counts
17 → 5
Calls
Call 1
Inputs
y
x
x
(neg.f64 z)
(+.f64 y x)
(/.f64 x (/.f64 y z))
(neg.f64 (/.f64 z (/.f64 y x)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 x (/.f64 z (neg.f64 y)))
(/.f64 (*.f64 z x) (neg.f64 y))
(*.f64 x (/.f64 z (neg.f64 y)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(/.f64 y (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
(neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z))
Outputs
(+.f64 y x)
(neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z))
(+.f64 y x)
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 y x)
Calls

3 calls:

194.0ms
y
157.0ms
x
109.0ms
z
Results
ErrorSegmentsBranch
18.1b6x
14.0b4y
11.7b5z
Compiler

Compiled 100 to 40 computations (60% saved)

bsearch81.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
6.014845664009336e+71
1.5289118368822298e+74
20.0ms
4.9054715775803576e-33
1.085247789176835e-29
21.0ms
1.5836852612595462e-57
7.688367190520866e-52
20.0ms
-3.0057694370324236e-43
-9.643093107417844e-50
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes147.0ms (2.2%)

Counts
16 → 5
Calls
Call 1
Inputs
y
x
x
(neg.f64 z)
(+.f64 y x)
(/.f64 x (/.f64 y z))
(neg.f64 (/.f64 z (/.f64 y x)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 x (/.f64 z (neg.f64 y)))
(/.f64 (*.f64 z x) (neg.f64 y))
(*.f64 x (/.f64 z (neg.f64 y)))
(*.f64 (/.f64 x y) (neg.f64 z))
(*.f64 z (-.f64 -1 (/.f64 x y)))
(*.f64 -1 (/.f64 (*.f64 z x) y))
(/.f64 y (-.f64 1 (/.f64 y z)))
(/.f64 x (-.f64 1 (/.f64 y z)))
Outputs
(+.f64 y x)
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 y x)
(*.f64 z (-.f64 -1 (/.f64 x y)))
(+.f64 y x)
Calls

3 calls:

57.0ms
z
51.0ms
x
36.0ms
y
Results
ErrorSegmentsBranch
18.1b6x
14.0b4y
13.4b5z
Compiler

Compiled 92 to 38 computations (58.7% saved)

bsearch80.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
20.0ms
6.014845664009336e+71
1.5289118368822298e+74
20.0ms
4.9054715775803576e-33
1.085247789176835e-29
20.0ms
1.5836852612595462e-57
7.688367190520866e-52
20.0ms
-3.0057694370324236e-43
-9.643093107417844e-50
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes174.0ms (2.6%)

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

3 calls:

80.0ms
x
60.0ms
z
31.0ms
y
Results
ErrorSegmentsBranch
24.6b10x
20.3b5y
19.7b7z
Compiler

Compiled 64 to 26 computations (59.4% saved)

bsearch128.0ms (1.9%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
3.437887669645677e+81
3.61374208830337e+83
24.0ms
4.9054715775803576e-33
1.085247789176835e-29
18.0ms
1.5836852612595462e-57
7.688367190520866e-52
22.0ms
2.9663908819537288e-195
1.7676050698007417e-194
22.0ms
-1.3192549904598366e-274
-1.3014196713411658e-287
19.0ms
-9.643093107417844e-50
-1.5723458433510865e-69
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes137.0ms (2%)

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

3 calls:

56.0ms
x
46.0ms
z
33.0ms
y
Results
ErrorSegmentsBranch
24.6b10x
20.3b5y
20.3b7z
Compiler

Compiled 46 to 24 computations (47.8% saved)

bsearch84.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
1.0387455609475687e+136
3.261557380973339e+144
22.0ms
2.431603767878879e-76
9.734854581287138e-72
18.0ms
9.312982468483618e-115
6.283074283893313e-93
22.0ms
-2.572709844382832e+100
-1.8315509790497637e+96
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes72.0ms (1.1%)

Counts
4 → 6
Calls
Call 1
Inputs
y
x
x
(neg.f64 z)
Outputs
(neg.f64 z)
x
(neg.f64 z)
x
y
(neg.f64 z)
Calls

3 calls:

25.0ms
x
23.0ms
z
22.0ms
y
Results
ErrorSegmentsBranch
32.6b7x
25.8b6y
30.8b5z
Compiler

Compiled 20 to 13 computations (35% saved)

bsearch99.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
1.0387455609475687e+136
3.261557380973339e+144
19.0ms
89912875158.15721
2879512420876.3267
21.0ms
4.2216013860003254e-14
4.998630076577049e-12
20.0ms
9.312982468483618e-115
6.283074283893313e-93
20.0ms
-1.8315509790497637e+96
-7.58325743152806e+89
Compiler

Compiled 18 to 13 computations (27.8% saved)

regimes34.0ms (0.5%)

Accuracy

Total -24.0b remaining (-62.7%)

Threshold costs -24.0b (-62.7%)

Counts
3 → 5
Calls
Call 1
Inputs
y
x
x
Outputs
x
y
x
y
x
Calls

3 calls:

16.0ms
x
9.0ms
y
7.0ms
z
Results
ErrorSegmentsBranch
38.3b5x
38.9b3y
41.4b2z
Compiler

Compiled 18 to 12 computations (33.3% saved)

bsearch93.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
1.395128238784143e+64
9.148741857647337e+67
20.0ms
322478166637057.2
162535229201816350.0
20.0ms
1.638924803530347e-87
1.265253502568126e-83
34.0ms
-9.984834175420983e-144
-2.4627649054544484e-147
Compiler

Compiled 18 to 13 computations (27.8% saved)

simplify24.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
098427
1118427
2141427
3160427
4167427
5169427
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (neg.f64 (/.f64 z (/.f64 y (+.f64 y x)))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 y x) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z)) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (neg.f64 (/.f64 z (/.f64 y (+.f64 y x)))) (+.f64 y x)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 y x) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z)) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 y x)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 y x) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (*.f64 z (-.f64 -1 (/.f64 x y))) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 y x)))))
(if (<=.f64 z -2599772758823529984/26959946667150639794667015087019630673637144422540572481103610249216) (+.f64 y x) (if (<=.f64 z -5142621657255047/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (neg.f64 z) (if (<=.f64 z 249657906819048832/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (/.f64 (*.f64 z x) (neg.f64 y)) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 z) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 3437887669645676910985959269335279696201533452600685580615881083967980302749401088) (neg.f64 z) (+.f64 y x)))))))
(if (<=.f64 y -25727098443828319051853294731640983816988827832835467458005523473430859796527819239979347990290628608) (neg.f64 z) (if (<=.f64 y 5164364850448597/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (+.f64 y x) (if (<=.f64 y 1981305742143907/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (neg.f64 z) (if (<=.f64 y 10387455609475687487268286793940770522696120122041424962198374849943496068980636870423985417644756760677148924180723915295580351063130112) (+.f64 y x) (neg.f64 z)))))
(if (<=.f64 y -1831550979049763699049021059609799444854852244836067371796813910345727870907215752840552564916224) (neg.f64 z) (if (<=.f64 y 5164364850448597/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) x (if (<=.f64 y 6689394413609547/158456325028528675187087900672) (neg.f64 z) (if (<=.f64 y 5892530186364991/65536) x (if (<=.f64 y 10387455609475687487268286793940770522696120122041424962198374849943496068980636870423985417644756760677148924180723915295580351063130112) y (neg.f64 z))))))
(if (<=.f64 x -4386807442190215/439347050248359021758841651141209165905243859209171546201245661387874763737449987335843817002333091518546963929054774914375807231981865204004737810631363657728) x (if (<=.f64 x 15035487074434603008/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) y (if (<=.f64 x 5159650666192915/16) x (if (<=.f64 x 13951282387841428835785501292368456615139703737187489491512721408) y x))))
y
Outputs
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (neg.f64 (/.f64 z (/.f64 y (+.f64 y x)))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) -1723641332219371/344728266443874206170545512964432112225507069317819522056079337263512430464013488758041250121488036739611555846958495676040441511948045769973944468809441663382665538511073745187088876036706973599091474545756168257536) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) (if (<=.f64 (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z))) 0) (/.f64 (neg.f64 z) (/.f64 y (+.f64 x y))) (/.f64 (+.f64 x y) (-.f64 1 (/.f64 y z)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 y x) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z)) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (neg.f64 (/.f64 z (/.f64 y (+.f64 y x)))) (+.f64 y x)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 x y) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 (+.f64 z (/.f64 (*.f64 x z) y))) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (/.f64 (neg.f64 z) (/.f64 y (+.f64 x y))) (+.f64 x y)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 x y) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (-.f64 (/.f64 (neg.f64 (*.f64 x z)) y) z) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (/.f64 (neg.f64 z) (/.f64 y (+.f64 x y))) (+.f64 x y)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 x y) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (-.f64 (/.f64 (*.f64 z (neg.f64 x)) y) z) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (/.f64 (neg.f64 z) (/.f64 y (+.f64 x y))) (+.f64 x y)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 y x) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 (+.f64 (/.f64 (*.f64 z x) y) z)) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 y x)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 x y) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 (+.f64 z (/.f64 (*.f64 x z) y))) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 x y)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 x y) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (-.f64 (/.f64 (neg.f64 (*.f64 x z)) y) z) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 x y)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 x y) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (-.f64 (/.f64 (*.f64 z (neg.f64 x)) y) z) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 x y)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 y x) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (*.f64 z (-.f64 -1 (/.f64 x y))) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 y x)))))
(if (<=.f64 z -7547008219747389/25108406941546723055343157692830665664409421777856138051584) (+.f64 x y) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (*.f64 z (-.f64 -1 (/.f64 x y))) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 601484566400933571642789880427288934039621020187701337088101891287547904) (*.f64 z (-.f64 -1 (/.f64 x y))) (+.f64 x y)))))
(if (<=.f64 z -2599772758823529984/26959946667150639794667015087019630673637144422540572481103610249216) (+.f64 y x) (if (<=.f64 z -5142621657255047/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (neg.f64 z) (if (<=.f64 z 249657906819048832/84162174424773976115855838126082058648805436845170781751972494449099714468753293153818664580441415219631727501698851483408310916002940861810045036330430093599283578738055113571066620126149163476340692027772502016) (/.f64 (*.f64 z x) (neg.f64 y)) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 z) (if (<=.f64 z 7169354742513900/1461501637330902918203684832716283019655932542976) (+.f64 y x) (if (<=.f64 z 3437887669645676910985959269335279696201533452600685580615881083967980302749401088) (neg.f64 z) (+.f64 y x)))))))
(if (<=.f64 z -5077681169577207/52656145834278593348959013841835216159447547700274555627155488768) (+.f64 x y) (if (<=.f64 z -5142621657255047/38981256045599996321413529551500753243504907430380030107471625828851794763065704409862460263528041036901219664925634672733836679460812376186311949185250613678125110799825892119483158621960214593411198373916873515494742391701579499782985454461875862451310955212417110188327314359967656443904) (neg.f64 z) (if (<=.f64 z 1950452397023819/657516987693546688405123735360016083193792475352896732437285112883591519287135102764208317034698556403372871107022277214127429031272975482890976846331485106244402958891055574773957969735540339658911656466972672) (/.f64 (*.f64 x z) (neg.f64 y)) (if (<=.f64 z 1399064827694609/883423532389192164791648750371459257913741948437809479060803100646309888) (neg.f64 z) (if (<=.f64 z 1792338685628475/365375409332725729550921208179070754913983135744) (+.f64 x y) (if (<=.f64 z 3437887669645676910985959269335279696201533452600685580615881083967980302749401088) (neg.f64 z) (+.f64 x y)))))))
(if (<=.f64 y -25727098443828319051853294731640983816988827832835467458005523473430859796527819239979347990290628608) (neg.f64 z) (if (<=.f64 y 5164364850448597/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (+.f64 y x) (if (<=.f64 y 1981305742143907/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (neg.f64 z) (if (<=.f64 y 10387455609475687487268286793940770522696120122041424962198374849943496068980636870423985417644756760677148924180723915295580351063130112) (+.f64 y x) (neg.f64 z)))))
(if (<=.f64 y -25727098443828319051853294731640983816988827832835467458005523473430859796527819239979347990290628608) (neg.f64 z) (if (<=.f64 y 5164364850448597/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) (+.f64 x y) (if (<=.f64 y 1981305742143907/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (neg.f64 z) (if (<=.f64 y 10387455609475687487268286793940770522696120122041424962198374849943496068980636870423985417644756760677148924180723915295580351063130112) (+.f64 x y) (neg.f64 z)))))
(if (<=.f64 y -1831550979049763699049021059609799444854852244836067371796813910345727870907215752840552564916224) (neg.f64 z) (if (<=.f64 y 5164364850448597/5545339388241629719156828368286167406872874150751633150340959161229242615611251246079948812208279156194782421922807143657948315648) x (if (<=.f64 y 6689394413609547/158456325028528675187087900672) (neg.f64 z) (if (<=.f64 y 5892530186364991/65536) x (if (<=.f64 y 10387455609475687487268286793940770522696120122041424962198374849943496068980636870423985417644756760677148924180723915295580351063130112) y (neg.f64 z))))))
(if (<=.f64 x -4386807442190215/439347050248359021758841651141209165905243859209171546201245661387874763737449987335843817002333091518546963929054774914375807231981865204004737810631363657728) x (if (<=.f64 x 15035487074434603008/9173994463960286046443283581208347763186259956673124494950355357547691504353939232280074212440502746218496) y (if (<=.f64 x 5159650666192915/16) x (if (<=.f64 x 13951282387841428835785501292368456615139703737187489491512721408) y x))))
(if (<=.f64 x -4386807442190215/439347050248359021758841651141209165905243859209171546201245661387874763737449987335843817002333091518546963929054774914375807231981865204004737810631363657728) x (if (<=.f64 x 7341546423063771/4479489484355608421114884561136888556243290994469299069799978201927583742360321890761754986543214231552) y (if (<=.f64 x 5159650666192915/16) x (if (<=.f64 x 13951282387841428835785501292368456615139703737187489491512721408) y x))))
y
Compiler

Compiled 321 to 176 computations (45.2% saved)

soundness79.0ms (1.2%)

Algorithm
egg-herbie
Rules
661×fma-def_binary64
489×times-frac_binary64
434×sub-neg_binary64
407×unsub-neg_binary64
364×div-sub_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01151010
1372964
21329803
36735793
Stop Event
node limit
Compiler

Compiled 45 to 29 computations (35.6% saved)

end104.0ms (1.5%)

Compiler

Compiled 297 to 136 computations (54.2% saved)

Profiling

Loading profile data...