Linear.V3:$cdot from linear-1.19.1.3, B

Time bar (total: 4.4s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.7%0.3%0%0%0%0
100%99.7%0%0.3%0%0%0%1
Compiler

Compiled 18 to 12 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-add: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

sample926.0ms (21.1%)

Results
675.0ms8256×0valid
Precisions
Click to see histograms. Total time spent on operations: 308.0ms
ival-mult: 200.0ms (65% of total)
ival-add: 97.0ms (31.5% of total)
const: 7.0ms (2.3% of total)
backward-pass: 3.0ms (1% of total)
Bogosity

preprocess66.0ms (1.5%)

Algorithm
egg-herbie
Rules
2362×sum3-define
1904×fmsub-define
1796×fnmsub-define
1560×fmm-def
1460×sum4-define
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
089298
1270258
2568252
31526252
45921252
01110
1209
2379
3509
4519
0519
Stop Event
iter limit
saturated
node limit
Calls
Call 1
Inputs
(+ (+ (* x y) (* z t)) (* a b))
Outputs
(+ (+ (* x y) (* z t)) (* a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
Call 2
Inputs
(+ (+ (* x y) (* z t)) (* a b))
(+ (+ (* (neg x) y) (* z t)) (* a b))
(+ (+ (* x (neg y)) (* z t)) (* a b))
(+ (+ (* x y) (* (neg z) t)) (* a b))
(+ (+ (* x y) (* z (neg t))) (* a b))
(+ (+ (* x y) (* z t)) (* (neg a) b))
(+ (+ (* x y) (* z t)) (* a (neg b)))
(neg (+ (+ (* (neg x) y) (* z t)) (* a b)))
(neg (+ (+ (* x (neg y)) (* z t)) (* a b)))
(neg (+ (+ (* x y) (* (neg z) t)) (* a b)))
(neg (+ (+ (* x y) (* z (neg t))) (* a b)))
(neg (+ (+ (* x y) (* z t)) (* (neg a) b)))
(neg (+ (+ (* x y) (* z t)) (* a (neg b))))
(+ (+ (* y x) (* z t)) (* a b))
(+ (+ (* z y) (* x t)) (* a b))
(+ (+ (* t y) (* z x)) (* a b))
(+ (+ (* a y) (* z t)) (* x b))
(+ (+ (* b y) (* z t)) (* a x))
(+ (+ (* x z) (* y t)) (* a b))
(+ (+ (* x t) (* z y)) (* a b))
(+ (+ (* x a) (* z t)) (* y b))
(+ (+ (* x b) (* z t)) (* a y))
(+ (+ (* x y) (* t z)) (* a b))
(+ (+ (* x y) (* a t)) (* z b))
(+ (+ (* x y) (* b t)) (* a z))
(+ (+ (* x y) (* z a)) (* t b))
(+ (+ (* x y) (* z b)) (* a t))
(+ (+ (* x y) (* z t)) (* b a))
Outputs
(+ (+ (* x y) (* z t)) (* a b))
(fmsub x y (fnmsub z t (* a b)))
(+ (+ (* (neg x) y) (* z t)) (* a b))
(fmsub z t (fmsub x y (* a b)))
(+ (+ (* x (neg y)) (* z t)) (* a b))
(fmsub z t (fmsub x y (* a b)))
(+ (+ (* x y) (* (neg z) t)) (* a b))
(fnmsub z t (fnmsub x y (* a b)))
(+ (+ (* x y) (* z (neg t))) (* a b))
(fnmsub z t (fnmsub x y (* a b)))
(+ (+ (* x y) (* z t)) (* (neg a) b))
(fnmsub a b (fnmsub x y (* z t)))
(+ (+ (* x y) (* z t)) (* a (neg b)))
(fnmsub a b (fnmsub x y (* z t)))
(neg (+ (+ (* (neg x) y) (* z t)) (* a b)))
(fnmsub z t (fmsub a b (* x y)))
(neg (+ (+ (* x (neg y)) (* z t)) (* a b)))
(fnmsub z t (fmsub a b (* x y)))
(neg (+ (+ (* x y) (* (neg z) t)) (* a b)))
(fnmsub x y (fmsub a b (* z t)))
(neg (+ (+ (* x y) (* z (neg t))) (* a b)))
(fnmsub x y (fmsub a b (* z t)))
(neg (+ (+ (* x y) (* z t)) (* (neg a) b)))
(fnmsub x y (fmsub z t (* a b)))
(neg (+ (+ (* x y) (* z t)) (* a (neg b))))
(fnmsub x y (fmsub z t (* a b)))
(+ (+ (* y x) (* z t)) (* a b))
(fmsub x y (fnmsub z t (* a b)))
(+ (+ (* z y) (* x t)) (* a b))
(fmsub x t (fnmsub a b (* y z)))
(+ (+ (* t y) (* z x)) (* a b))
(fmsub x z (fnmsub a b (* y t)))
(+ (+ (* a y) (* z t)) (* x b))
(fma z t (fma y a (* x b)))
(+ (+ (* b y) (* z t)) (* a x))
(fma z t (fma x a (* y b)))
(+ (+ (* x z) (* y t)) (* a b))
(fmsub x z (fnmsub a b (* y t)))
(+ (+ (* x t) (* z y)) (* a b))
(fmsub x t (fnmsub a b (* y z)))
(+ (+ (* x a) (* z t)) (* y b))
(fma z t (fma x a (* y b)))
(+ (+ (* x b) (* z t)) (* a y))
(fma z t (fma y a (* x b)))
(+ (+ (* x y) (* t z)) (* a b))
(fmsub x y (fnmsub z t (* a b)))
(+ (+ (* x y) (* a t)) (* z b))
(fma z b (fma x y (* t a)))
(+ (+ (* x y) (* b t)) (* a z))
(fma z a (fma x y (* t b)))
(+ (+ (* x y) (* z a)) (* t b))
(fma z a (fma x y (* t b)))
(+ (+ (* x y) (* z b)) (* a t))
(fma z b (fma x y (* t a)))
(+ (+ (* x y) (* z t)) (* b a))
(fmsub x y (fnmsub z t (* a b)))
Symmetry

(sort x y)

(sort z t)

(sort a b)

explain126.0ms (2.9%)

FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
30-0-(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
00-0-x
00-0-(*.f64 a b)
00-0-b
00-0-(+.f64 (*.f64 x y) (*.f64 z t))
00-0-y
00-0-(*.f64 x y)
00-0-z
00-0-(*.f64 z t)
00-0-t
00-0-a
Results
89.0ms512×0valid
Compiler

Compiled 97 to 35 computations (63.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-mult: 16.0ms (76.1% of total)
ival-add: 5.0ms (23.8% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

eval0.0ms (0%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Compiler

Compiled 17 to 11 computations (35.3% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 z t)
cost-diff0
(*.f64 x y)
cost-diff0
(+.f64 (*.f64 x y) (*.f64 z t))
cost-diff0
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Rules
36×fma-lowering-fma.f32
36×fma-define
36×fma-lowering-fma.f64
24×+-lowering-+.f64
24×+-lowering-+.f32
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01131
12030
23730
35030
45130
05130
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ (+ (* x y) (* z t)) (* a b))
(+ (* x y) (* z t))
(* x y)
x
y
(* z t)
z
t
(* a b)
a
b
Outputs
(+ (+ (* x y) (* z t)) (* a b))
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+ (* x y) (* z t))
(+.f64 (*.f64 x y) (*.f64 z t))
(* x y)
(*.f64 x y)
x
y
(* z t)
(*.f64 z t)
z
t
(* a b)
(*.f64 a b)
a
b

localize39.0ms (0.9%)

Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 z t)
accuracy100.0%
(*.f64 x y)
accuracy100.0%
(*.f64 a b)
accuracy98.8%
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
Results
28.0ms256×0valid
Compiler

Compiled 40 to 12 computations (70% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (69.4% of total)
ival-add: 2.0ms (23.1% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series37.0ms (0.8%)

Counts
5 → 192
Calls
Call 1
Inputs
#<alt (+ (+ (* x y) (* z t)) (* a b))>
#<alt (+ (* x y) (* z t))>
#<alt (* x y)>
#<alt (* z t)>
#<alt (* a b)>
Outputs
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (* x y)>
#<alt (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))>
#<alt (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))>
#<alt (* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))>
#<alt (* x y)>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (* x y)>
#<alt (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))>
#<alt (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))>
#<alt (* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (* t z)>
#<alt (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))>
#<alt (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))>
#<alt (* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))>
#<alt (* t z)>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (* t z)>
#<alt (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))>
#<alt (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))>
#<alt (* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))>
#<alt (* t z)>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (* a b)>
#<alt (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))>
#<alt (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))>
#<alt (* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))>
#<alt (* a b)>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (+ (* a b) (+ (* t z) (* x y)))>
#<alt (* a b)>
#<alt (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))>
#<alt (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))>
#<alt (* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))>
#<alt (* a b)>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))>
#<alt (* t z)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* x y)>
#<alt (* x (+ y (/ (* t z) x)))>
#<alt (* x (+ y (/ (* t z) x)))>
#<alt (* x (+ y (/ (* t z) x)))>
#<alt (* x y)>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))>
#<alt (* t z)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* t z) y)))>
#<alt (* y (+ x (/ (* t z) y)))>
#<alt (* y (+ x (/ (* t z) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))>
#<alt (* x y)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* t z)>
#<alt (* z (+ t (/ (* x y) z)))>
#<alt (* z (+ t (/ (* x y) z)))>
#<alt (* z (+ t (/ (* x y) z)))>
#<alt (* t z)>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))>
#<alt (* x y)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* t z)>
#<alt (* t (+ z (/ (* x y) t)))>
#<alt (* t (+ z (/ (* x y) t)))>
#<alt (* t (+ z (/ (* x y) t)))>
#<alt (* t z)>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
Calls

48 calls:

TimeVariablePointExpression
28.0ms
x
@0
(+ (+ (* x y) (* z t)) (* a b))
1.0ms
a
@0
(+ (+ (* x y) (* z t)) (* a b))
0.0ms
y
@-inf
(+ (+ (* x y) (* z t)) (* a b))
0.0ms
x
@inf
(+ (+ (* x y) (* z t)) (* a b))
0.0ms
t
@inf
(+ (+ (* x y) (* z t)) (* a b))

rewrite363.0ms (8.2%)

Algorithm
batch-egg-rewrite
Rules
4504×*-lowering-*.f32
4504×*-lowering-*.f64
2474×/-lowering-/.f32
2474×/-lowering-/.f64
1344×+-lowering-+.f64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01125
14524
245724
3768824
0849524
Stop Event
iter limit
node limit
Counts
5 → 146
Calls
Call 1
Inputs
(+ (+ (* x y) (* z t)) (* a b))
(+ (* x y) (* z t))
(* x y)
(* z t)
(* a b)
Outputs
(+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))
(+.f64 (*.f64 z t) (+.f64 (*.f64 x y) (*.f64 a b)))
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 x y))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (neg.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(+.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (*.f64 z t))
(-.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a b)))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))) (-.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))))
(-.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))))
(-.f64 (+.f64 (*.f64 a b) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t))))
(fma.f64 x y (+.f64 (*.f64 z t) (*.f64 a b)))
(fma.f64 y x (+.f64 (*.f64 z t) (*.f64 a b)))
(fma.f64 z t (+.f64 (*.f64 x y) (*.f64 a b)))
(fma.f64 t z (+.f64 (*.f64 x y) (*.f64 a b)))
(fma.f64 a b (+.f64 (*.f64 x y) (*.f64 z t)))
(fma.f64 b a (+.f64 (*.f64 x y) (*.f64 z t)))
(fma.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 a b))
(fma.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a b))
(neg.f64 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))))
(neg.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b))))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))))) (*.f64 (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (-.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))))
(/.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (-.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 x y)))))
(/.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))))) (+.f64 (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (-.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 x y)))) (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b)))))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))) (*.f64 (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))) (*.f64 (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))) (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b))))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b)))) (-.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))
(/.f64 (-.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 a (*.f64 b (*.f64 a b))))) (*.f64 (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (*.f64 (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))) (*.f64 a (*.f64 b (*.f64 a b))))) (*.f64 (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (-.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 a (*.f64 b (*.f64 a b))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 (neg.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b)))))) (neg.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (-.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 x y))))))
(/.f64 (neg.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))))) (neg.f64 (-.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))))
(/.f64 (neg.f64 (-.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (neg.f64 (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))))
(/.f64 (+.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (pow.f64 (+.f64 (*.f64 x y) (*.f64 a b)) #s(literal 3 binary64))) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (+.f64 (*.f64 x y) (*.f64 a b))) (*.f64 (*.f64 z t) (+.f64 (*.f64 x y) (*.f64 a b))))))
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 x y) (*.f64 a b)) #s(literal 3 binary64)) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (+.f64 (*.f64 x y) (*.f64 a b))) (-.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (*.f64 z t)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (+.f64 (*.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))))
(/.f64 (-.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (+.f64 (*.f64 x y) (*.f64 a b)))) (-.f64 (*.f64 z t) (+.f64 (*.f64 x y) (*.f64 a b))))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 x y)))
(/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (+.f64 (*.f64 x y) (*.f64 a b))) (*.f64 z (*.f64 z (*.f64 t t)))) (-.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (*.f64 z t)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (*.f64 (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 (*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))) #s(literal 1 binary64)) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(/.f64 (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))) #s(literal 1 binary64)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))) (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (-.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 a (*.f64 b (*.f64 a b))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) (/.f64 (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(*.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))))
(*.f64 (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (*.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))))
(*.f64 (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (/.f64 (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))))
(*.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))))
(*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))))
(*.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (-.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (*.f64 x y))))))
(*.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b)))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))))
(*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (+.f64 (*.f64 z t) (*.f64 a b)) (+.f64 (*.f64 z t) (*.f64 a b)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b)))))
(*.f64 (-.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b))))) (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))
(*.f64 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))) (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))))) (*.f64 (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))))))))) (+.f64 (*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))) (-.f64 (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))
(*.f64 (/.f64 (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b))))) (*.f64 (+.f64 (*.f64 a (*.f64 b (*.f64 a b))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (-.f64 (*.f64 z t) (*.f64 a b))))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))))))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t))))))
(*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 a (*.f64 b (*.f64 a b)))) (-.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 b (*.f64 a b)))))) (+.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (*.f64 a b) (+.f64 (*.f64 x y) (+.f64 (*.f64 z t) (*.f64 a b))))))
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 z t) (*.f64 x y))
(+.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (neg.f64 (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t)))))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t))))
(-.f64 (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 z t) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 z t) (*.f64 x y))))
(fma.f64 x y (*.f64 z t))
(fma.f64 y x (*.f64 z t))
(fma.f64 z t (*.f64 x y))
(fma.f64 t z (*.f64 x y))
(neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))) (-.f64 (*.f64 x y) (*.f64 z t)))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t))))))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 z t)))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (+.f64 (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))))) (*.f64 (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (-.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 z t))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 z t) (*.f64 x y)) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 z t) (*.f64 x y)))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))) (*.f64 (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))) (-.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t))))))))
(/.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t))))))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 z t) (*.f64 x y))) (-.f64 (*.f64 z t) (*.f64 x y)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 z t)))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (*.f64 z (*.f64 z (*.f64 t t))))) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (-.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))))) (-.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))) (-.f64 (*.f64 x y) (*.f64 z t))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) #s(literal 1 binary64)) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))))
(/.f64 (*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))) #s(literal 1 binary64)) (-.f64 (*.f64 x y) (*.f64 z t)))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 z t))))) (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 z t)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 z t) (*.f64 x y)))) (neg.f64 (-.f64 (*.f64 z t) (*.f64 x y))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t))) #s(literal 3 binary64))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t))))) (+.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 z t))) (/.f64 (*.f64 z (*.f64 z (*.f64 t t))) (-.f64 (*.f64 x y) (*.f64 z t)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))))) (+.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (-.f64 (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))))) (-.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z t) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 z t)))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 z t))) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 (-.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t))))))
(*.f64 (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))) (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))))))
(*.f64 (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t))))))
(*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 z t))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t)))))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 z t)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 z t))))) (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 z t))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (-.f64 (*.f64 z t) (*.f64 x y))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 z t) (*.f64 x y))))
(*.f64 (/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t))))) (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) (+.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (*.f64 z (*.f64 t (-.f64 (*.f64 z t) (*.f64 x y)))) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) (-.f64 (*.f64 z t) (*.f64 x y))))))) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z (*.f64 t (-.f64 (*.f64 z t) (*.f64 x y)))) (-.f64 (*.f64 z (*.f64 t (-.f64 (*.f64 z t) (*.f64 x y)))) (*.f64 x (*.f64 x (*.f64 y y)))))))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t)))) (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 z (*.f64 z (*.f64 t t))) (*.f64 (-.f64 (*.f64 z t) (*.f64 x y)) (-.f64 (*.f64 z t) (*.f64 x y)))))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 t (-.f64 (*.f64 z t) (*.f64 x y))))))
(*.f64 (/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 z (*.f64 z (*.f64 t t)))) (-.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 z (*.f64 z z)) (*.f64 t (*.f64 t t))))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 z t) (+.f64 (*.f64 x y) (*.f64 z t)))))
(*.f64 x y)
(*.f64 y x)
(*.f64 z t)
(*.f64 t z)
(*.f64 a b)
(*.f64 b a)

simplify220.0ms (5%)

Algorithm
egg-herbie
Rules
3546×*-lowering-*.f32
3546×*-lowering-*.f64
1472×+-lowering-+.f64
1472×+-lowering-+.f32
1336×fmsub-define
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01041206
14031176
214181134
339551098
085911098
Stop Event
iter limit
node limit
Counts
192 → 192
Calls
Call 1
Inputs
(+ (* a b) (* t z))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(* x y)
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))
(+ (* a b) (* t z))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(* x y)
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))
(+ (* a b) (* x y))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(* t z)
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))
(* t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))
(+ (* a b) (* x y))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(* t z)
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))
(* t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))
(+ (* t z) (* x y))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(* a b)
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))
(* a b)
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))
(+ (* t z) (* x y))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+ (* a b) (+ (* t z) (* x y)))
(* a b)
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))
(* a b)
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))
(* t z)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* x y)
(* x (+ y (/ (* t z) x)))
(* x (+ y (/ (* t z) x)))
(* x (+ y (/ (* t z) x)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* t z)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* x y)
(* y (+ x (/ (* t z) y)))
(* y (+ x (/ (* t z) y)))
(* y (+ x (/ (* t z) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* x y)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* t z)
(* z (+ t (/ (* x y) z)))
(* z (+ t (/ (* x y) z)))
(* z (+ t (/ (* x y) z)))
(* t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* x y)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* t z)
(* t (+ z (/ (* x y) t)))
(* t (+ z (/ (* x y) t)))
(* t (+ z (/ (* x y) t)))
(* t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
Outputs
(+ (* a b) (* t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* x y)
(*.f64 x y)
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))
(+.f64 (*.f64 t z) (*.f64 x (+.f64 y (/.f64 (*.f64 a b) x))))
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))
(+.f64 (*.f64 t z) (*.f64 x (+.f64 y (/.f64 (*.f64 a b) x))))
(* x (+ y (+ (/ (* a b) x) (/ (* t z) x))))
(+.f64 (*.f64 t z) (*.f64 x (+.f64 y (/.f64 (*.f64 a b) x))))
(* x y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))
(+.f64 (*.f64 x y) (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) #s(literal 1 binary64)))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))
(+.f64 (*.f64 x y) (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) #s(literal 1 binary64)))
(* -1 (* x (+ (* -1 y) (* -1 (/ (+ (* a b) (* t z)) x)))))
(+.f64 (*.f64 x y) (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) #s(literal 1 binary64)))
(+ (* a b) (* t z))
(+.f64 (*.f64 a b) (*.f64 t z))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* x y)
(*.f64 x y)
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))
(+.f64 (*.f64 t z) (*.f64 y (+.f64 x (/.f64 (*.f64 a b) y))))
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))
(+.f64 (*.f64 t z) (*.f64 y (+.f64 x (/.f64 (*.f64 a b) y))))
(* y (+ x (+ (/ (* a b) y) (/ (* t z) y))))
(+.f64 (*.f64 t z) (*.f64 y (+.f64 x (/.f64 (*.f64 a b) y))))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))
(+.f64 (*.f64 x y) (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) #s(literal 1 binary64)))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))
(+.f64 (*.f64 x y) (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) #s(literal 1 binary64)))
(* -1 (* y (+ (* -1 x) (* -1 (/ (+ (* a b) (* t z)) y)))))
(+.f64 (*.f64 x y) (*.f64 (+.f64 (*.f64 a b) (*.f64 t z)) #s(literal 1 binary64)))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* t z)
(*.f64 t z)
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))
(+.f64 (*.f64 x y) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) z))))
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))
(+.f64 (*.f64 x y) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) z))))
(* z (+ t (+ (/ (* a b) z) (/ (* x y) z))))
(+.f64 (*.f64 x y) (*.f64 z (+.f64 t (/.f64 (*.f64 a b) z))))
(* t z)
(*.f64 t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))
(+.f64 (*.f64 t z) (*.f64 (+.f64 (*.f64 a b) (*.f64 x y)) #s(literal 1 binary64)))
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))
(+.f64 (*.f64 t z) (*.f64 (+.f64 (*.f64 a b) (*.f64 x y)) #s(literal 1 binary64)))
(* -1 (* z (+ (* -1 t) (* -1 (/ (+ (* a b) (* x y)) z)))))
(+.f64 (*.f64 t z) (*.f64 (+.f64 (*.f64 a b) (*.f64 x y)) #s(literal 1 binary64)))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* t z)
(*.f64 t z)
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))
(+.f64 (*.f64 x y) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) t))))
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))
(+.f64 (*.f64 x y) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) t))))
(* t (+ z (+ (/ (* a b) t) (/ (* x y) t))))
(+.f64 (*.f64 x y) (*.f64 t (+.f64 z (/.f64 (*.f64 a b) t))))
(* t z)
(*.f64 t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))
(+.f64 (*.f64 t z) (*.f64 (+.f64 (*.f64 a b) (*.f64 x y)) #s(literal 1 binary64)))
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))
(+.f64 (*.f64 t z) (*.f64 (+.f64 (*.f64 a b) (*.f64 x y)) #s(literal 1 binary64)))
(* -1 (* t (+ (* -1 z) (* -1 (/ (+ (* a b) (* x y)) t)))))
(+.f64 (*.f64 t z) (*.f64 (+.f64 (*.f64 a b) (*.f64 x y)) #s(literal 1 binary64)))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* a b)
(*.f64 a b)
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))
(*.f64 a (+.f64 (/.f64 (*.f64 t z) a) (+.f64 b (/.f64 (*.f64 x y) a))))
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))
(*.f64 a (+.f64 (/.f64 (*.f64 t z) a) (+.f64 b (/.f64 (*.f64 x y) a))))
(* a (+ b (+ (/ (* t z) a) (/ (* x y) a))))
(*.f64 a (+.f64 (/.f64 (*.f64 t z) a) (+.f64 b (/.f64 (*.f64 x y) a))))
(* a b)
(*.f64 a b)
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* -1 (* a (+ (* -1 b) (* -1 (/ (+ (* t z) (* x y)) a)))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(+ (* a b) (+ (* t z) (* x y)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* a b)
(*.f64 a b)
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))
(*.f64 b (+.f64 (/.f64 (*.f64 t z) b) (+.f64 a (/.f64 (*.f64 x y) b))))
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))
(*.f64 b (+.f64 (/.f64 (*.f64 t z) b) (+.f64 a (/.f64 (*.f64 x y) b))))
(* b (+ a (+ (/ (* t z) b) (/ (* x y) b))))
(*.f64 b (+.f64 (/.f64 (*.f64 t z) b) (+.f64 a (/.f64 (*.f64 x y) b))))
(* a b)
(*.f64 a b)
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* -1 (* b (+ (* -1 a) (* -1 (/ (+ (* t z) (* x y)) b)))))
(+.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 x y)))
(* t z)
(*.f64 t z)
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x y)
(*.f64 x y)
(* x (+ y (/ (* t z) x)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x (+ y (/ (* t z) x)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x (+ y (/ (* t z) x)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t z)
(*.f64 t z)
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* t z) y)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* y (+ x (/ (* t z) y)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* y (+ x (/ (* t z) y)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x y)
(*.f64 x y)
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t z)
(*.f64 t z)
(* z (+ t (/ (* x y) z)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* z (+ t (/ (* x y) z)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* z (+ t (/ (* x y) z)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t z)
(*.f64 t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x y)
(*.f64 x y)
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t z)
(*.f64 t z)
(* t (+ z (/ (* x y) t)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t (+ z (/ (* x y) t)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t (+ z (/ (* x y) t)))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t z)
(*.f64 t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(+.f64 (*.f64 t z) (*.f64 x y))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)

eval34.0ms (0.8%)

Compiler

Compiled 10259 to 513 computations (95% saved)

prune59.0ms (1.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New3326338
Fresh000
Picked101
Done000
Total3336339
Accuracy
100.0%
Counts
339 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
(+.f64 (*.f64 x y) (*.f64 a b))
70.8%
(+.f64 (*.f64 t z) (*.f64 x y))
65.9%
(+.f64 (*.f64 t z) (*.f64 a b))
36.2%
(*.f64 x y)
37.3%
(*.f64 t z)
31.9%
(*.f64 a b)
Compiler

Compiled 132 to 96 computations (27.3% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 t z)
cost-diff0
(+.f64 (*.f64 t z) (*.f64 a b))
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 t z)
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 t z)
cost-diff0
(+.f64 (*.f64 t z) (*.f64 x y))
Rules
16×fma-lowering-fma.f32
16×fma-define
16×fma-lowering-fma.f64
12×*-lowering-*.f32
12×*-lowering-*.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01147
11847
22447
02447
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ (* t z) (* x y))
(* t z)
t
z
(* x y)
x
y
(* a b)
a
b
(* t z)
t
z
(* x y)
x
y
(+ (* t z) (* a b))
(* t z)
t
z
(* a b)
a
b
Outputs
(+ (* t z) (* x y))
(+.f64 (*.f64 t z) (*.f64 x y))
(* t z)
(*.f64 t z)
t
z
(* x y)
(*.f64 x y)
x
y
(* a b)
(*.f64 a b)
a
b
(* t z)
(*.f64 t z)
t
z
(* x y)
(*.f64 x y)
x
y
(+ (* t z) (* a b))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t z)
(*.f64 t z)
t
z
(* a b)
(*.f64 a b)
a
b

localize82.0ms (1.9%)

Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 t z)
accuracy100.0%
(*.f64 a b)
accuracy99.2%
(+.f64 (*.f64 t z) (*.f64 a b))
accuracy100.0%
(*.f64 x y)
accuracy100.0%
(*.f64 t z)
accuracy100.0%
(*.f64 a b)
accuracy100.0%
(+.f64 (*.f64 t z) (*.f64 x y))
accuracy100.0%
(*.f64 x y)
accuracy100.0%
(*.f64 t z)
Results
62.0ms256×0valid
Compiler

Compiled 56 to 12 computations (78.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (69.6% of total)
ival-add: 2.0ms (23.2% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series3.0ms (0.1%)

Counts
5 → 168
Calls
Call 1
Inputs
#<alt (+ (* t z) (* x y))>
#<alt (* t z)>
#<alt (* x y)>
#<alt (* a b)>
#<alt (+ (* t z) (* a b))>
Outputs
#<alt (* x y)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* t z)>
#<alt (* t (+ z (/ (* x y) t)))>
#<alt (* t (+ z (/ (* x y) t)))>
#<alt (* t (+ z (/ (* x y) t)))>
#<alt (* t z)>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))>
#<alt (* x y)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* t z)>
#<alt (* z (+ t (/ (* x y) z)))>
#<alt (* z (+ t (/ (* x y) z)))>
#<alt (* z (+ t (/ (* x y) z)))>
#<alt (* t z)>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))>
#<alt (* t z)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* x y)>
#<alt (* x (+ y (/ (* t z) x)))>
#<alt (* x (+ y (/ (* t z) x)))>
#<alt (* x (+ y (/ (* t z) x)))>
#<alt (* x y)>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))>
#<alt (* t z)>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (+ (* t z) (* x y))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* t z) y)))>
#<alt (* y (+ x (/ (* t z) y)))>
#<alt (* y (+ x (/ (* t z) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* t z)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (* t z)>
#<alt (* t (+ z (/ (* a b) t)))>
#<alt (* t (+ z (/ (* a b) t)))>
#<alt (* t (+ z (/ (* a b) t)))>
#<alt (* t z)>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))>
#<alt (* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))>
#<alt (* a b)>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (* t z)>
#<alt (* z (+ t (/ (* a b) z)))>
#<alt (* z (+ t (/ (* a b) z)))>
#<alt (* z (+ t (/ (* a b) z)))>
#<alt (* t z)>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))>
#<alt (* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))>
#<alt (* t z)>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (* a b)>
#<alt (* a (+ b (/ (* t z) a)))>
#<alt (* a (+ b (/ (* t z) a)))>
#<alt (* a (+ b (/ (* t z) a)))>
#<alt (* a b)>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))>
#<alt (* t z)>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (+ (* a b) (* t z))>
#<alt (* a b)>
#<alt (* b (+ a (/ (* t z) b)))>
#<alt (* b (+ a (/ (* t z) b)))>
#<alt (* b (+ a (/ (* t z) b)))>
#<alt (* a b)>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))>
Calls

42 calls:

TimeVariablePointExpression
0.0ms
a
@inf
(+ (* t z) (* a b))
0.0ms
t
@-inf
(+ (* t z) (* a b))
0.0ms
z
@inf
(+ (* t z) (* x y))
0.0ms
z
@-inf
(+ (* t z) (* a b))
0.0ms
a
@-inf
(+ (* t z) (* a b))

rewrite307.0ms (7%)

Algorithm
batch-egg-rewrite
Rules
4432×*-lowering-*.f32
4432×*-lowering-*.f64
1672×pow-lowering-pow.f64
1672×pow-lowering-pow.f32
1452×+-lowering-+.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01121
14121
237921
3507621
0843021
Stop Event
iter limit
node limit
Counts
5 → 143
Calls
Call 1
Inputs
(+ (* t z) (* x y))
(* t z)
(* x y)
(* a b)
(+ (* t z) (* a b))
Outputs
(+.f64 (*.f64 t z) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (neg.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y)))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 x y)))) #s(literal -1 binary64)))
(-.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y))))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 t z))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 x y) (*.f64 t z))))
(fma.f64 t z (*.f64 x y))
(fma.f64 z t (*.f64 x y))
(fma.f64 x y (*.f64 t z))
(fma.f64 y x (*.f64 t z))
(neg.f64 (/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))))
(neg.f64 (/.f64 (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 x y)))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))) (-.f64 (*.f64 t z) (*.f64 x y))))
(/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))
(/.f64 (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 t z) (*.f64 x y)))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 x y))))
(/.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))) (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 x y))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 x y))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 x y) (*.f64 t z)) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 t (*.f64 t (*.f64 z z))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (*.f64 (-.f64 (*.f64 t z) (*.f64 x y)) (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))))))
(/.f64 (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (-.f64 (*.f64 t z) (*.f64 x y)) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 t (*.f64 t (*.f64 z z)))) (-.f64 (*.f64 x y) (*.f64 t z)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 x y)))))
(/.f64 (-.f64 (*.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (*.f64 (-.f64 (*.f64 t z) (*.f64 x y)) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (-.f64 (*.f64 t z) (*.f64 x y)) (-.f64 (*.f64 t z) (*.f64 x y))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))))) (-.f64 (*.f64 t z) (*.f64 x y))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 t z) (*.f64 x y))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 x y)))))
(/.f64 (neg.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 t (*.f64 t (*.f64 z z))))) (neg.f64 (-.f64 (*.f64 x y) (*.f64 t z))))
(/.f64 (-.f64 (*.f64 (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y)))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y)))) (*.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y)))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y))))) (+.f64 (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y)))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y)))) (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y)))) (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y))))) (+.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 t z) (*.f64 x y)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) #s(literal 1 binary64)) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))) (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 x y)))) (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 x y)))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 x y))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 x y))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 t z)) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 t (*.f64 t (*.f64 z z))))) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 t z) (*.f64 x y)) (*.f64 (-.f64 (*.f64 t z) (*.f64 x y)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 x y)))))
(*.f64 (+.f64 (*.f64 t z) (*.f64 x y)) (/.f64 (-.f64 (*.f64 t z) (*.f64 x y)) (-.f64 (*.f64 t z) (*.f64 x y))))
(*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))))
(*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))) (*.f64 (+.f64 (*.f64 t z) (*.f64 x y)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))))
(*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))) (/.f64 (+.f64 (*.f64 t z) (*.f64 x y)) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))))
(*.f64 (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 x y))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))))
(*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 x y)))))
(*.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 x y)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 x y))) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))))
(*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 t (*.f64 t (*.f64 z z)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 t z))))
(*.f64 (/.f64 (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y))))) (+.f64 (*.f64 t z) (*.f64 x y)))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))) (*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 t z)) (-.f64 (*.f64 x y) (*.f64 t z))) (-.f64 (*.f64 x y) (*.f64 t z)))))) (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))) (-.f64 (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))) (*.f64 t (*.f64 t (*.f64 z z)))))))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y))))) (-.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 x y) (*.f64 (-.f64 (*.f64 x y) (*.f64 t z)) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z))))))) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 t z)))))
(*.f64 (/.f64 (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 x y) (*.f64 x (*.f64 x (*.f64 y y)))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 x y) (+.f64 (*.f64 t z) (*.f64 x y)))))
(exp.f64 (log.f64 (*.f64 t z)))
(exp.f64 (*.f64 (log.f64 (*.f64 t z)) #s(literal 1 binary64)))
(pow.f64 (*.f64 t z) #s(literal 1 binary64))
(*.f64 t z)
(*.f64 z t)
(*.f64 (exp.f64 (log.f64 z)) (exp.f64 (log.f64 t)))
(*.f64 (exp.f64 (log.f64 t)) (exp.f64 (log.f64 z)))
(exp.f64 (log.f64 (*.f64 x y)))
(exp.f64 (*.f64 (log.f64 (*.f64 x y)) #s(literal 1 binary64)))
(pow.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 x y)
(*.f64 y x)
(*.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 x)))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 y)))
(exp.f64 (log.f64 (*.f64 a b)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 1 binary64)))
(pow.f64 (*.f64 a b) #s(literal 1 binary64))
(*.f64 a b)
(*.f64 b a)
(*.f64 (exp.f64 (log.f64 a)) (exp.f64 (log.f64 b)))
(*.f64 (exp.f64 (log.f64 b)) (exp.f64 (log.f64 a)))
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 t z))
(+.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (neg.f64 (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b))))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 a b)))) #s(literal -1 binary64)))
(-.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b)))))
(-.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 a b) (*.f64 t z))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 a b) (*.f64 t z))))
(fma.f64 t z (*.f64 a b))
(fma.f64 z t (*.f64 a b))
(fma.f64 a b (*.f64 t z))
(fma.f64 b a (*.f64 t z))
(neg.f64 (/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))))
(neg.f64 (/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 a b)))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b)))) (-.f64 (*.f64 t z) (*.f64 a b))))
(/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))
(/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))) (-.f64 (*.f64 t z) (*.f64 a b)))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))))
(/.f64 (-.f64 #s(literal 0 binary64) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b)))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 a b))))
(/.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))) (*.f64 (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a a))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 b (*.f64 b b))))) (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))) (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 a b))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 a b))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 a b) (*.f64 t z)) (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 t (*.f64 t (*.f64 z z))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (*.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b))))))))
(/.f64 (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b)))) (*.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b))))))
(/.f64 (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 t (*.f64 t (*.f64 z z)))) (-.f64 (*.f64 a b) (*.f64 t z)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 a b)))))
(/.f64 (-.f64 (*.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (*.f64 a (*.f64 a (*.f64 b b))))) (*.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))) (*.f64 (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a a))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 b (*.f64 b b))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b)))))) (-.f64 (*.f64 t z) (*.f64 a b))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b)))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 t z) (*.f64 a b))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))))) (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 a b)))))
(/.f64 (neg.f64 (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 t (*.f64 t (*.f64 z z))))) (neg.f64 (-.f64 (*.f64 a b) (*.f64 t z))))
(/.f64 (-.f64 (*.f64 (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b)))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b)))) (*.f64 (*.f64 (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b)))) (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b))))) (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b)))))) (+.f64 (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b)))) (+.f64 (*.f64 (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b)))) (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b))))) (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b))))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b)))) (*.f64 (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b)))) (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b)))))) (+.f64 (/.f64 (*.f64 t (*.f64 t (*.f64 z z))) (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 (*.f64 a b) (/.f64 (*.f64 a b) (-.f64 (*.f64 t z) (*.f64 a b))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) #s(literal 1 binary64)) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))))) (*.f64 (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 a (*.f64 a a))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 b (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))) (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 a b)))) (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b)))))))
(/.f64 (*.f64 (*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 a b)))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 a (*.f64 a (*.f64 b b)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 a b))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 a b))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (*.f64 a b) (*.f64 t z)) (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 t (*.f64 t (*.f64 z z))))) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 a b)))))
(*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (/.f64 (-.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))))
(*.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))))
(*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))))
(*.f64 (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))) (/.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))))
(*.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))))
(*.f64 (-.f64 #s(literal 0 binary64) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b)))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 t z) (*.f64 a b)))))
(*.f64 #s(literal 1 binary64) (+.f64 (*.f64 t z) (*.f64 a b)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))) (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))))
(*.f64 (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 t (*.f64 t (*.f64 z z)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 a b) (*.f64 t z))))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))) (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b)))) (+.f64 (*.f64 t z) (*.f64 a b)))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))) (*.f64 (*.f64 (-.f64 (*.f64 a b) (*.f64 t z)) (-.f64 (*.f64 a b) (*.f64 t z))) (-.f64 (*.f64 a b) (*.f64 t z)))))) (+.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))) (-.f64 (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))) (*.f64 t (*.f64 t (*.f64 z z)))))))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 (*.f64 t z) (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z)))) (*.f64 (*.f64 a b) (*.f64 (-.f64 (*.f64 a b) (*.f64 t z)) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z))))))) (-.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (-.f64 (*.f64 a b) (*.f64 t z)))))
(*.f64 (/.f64 (*.f64 (+.f64 (*.f64 t z) (*.f64 a b)) (-.f64 (*.f64 t z) (*.f64 a b))) (-.f64 (*.f64 (*.f64 t (*.f64 t t)) (*.f64 z (*.f64 z z))) (*.f64 (*.f64 a b) (*.f64 a (*.f64 a (*.f64 b b)))))) (+.f64 (*.f64 t (*.f64 t (*.f64 z z))) (*.f64 (*.f64 a b) (+.f64 (*.f64 t z) (*.f64 a b)))))

simplify228.0ms (5.2%)

Algorithm
egg-herbie
Rules
3900×*-lowering-*.f32
3900×*-lowering-*.f64
1584×fnmadd-define
1424×fmsub-define
1200×fma-lowering-fma.f32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
074720
1292720
21020720
33026720
08833720
Stop Event
iter limit
node limit
Counts
168 → 168
Calls
Call 1
Inputs
(* x y)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* t z)
(* t (+ z (/ (* x y) t)))
(* t (+ z (/ (* x y) t)))
(* t (+ z (/ (* x y) t)))
(* t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(* x y)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* t z)
(* z (+ t (/ (* x y) z)))
(* z (+ t (/ (* x y) z)))
(* z (+ t (/ (* x y) z)))
(* t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(* t z)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* x y)
(* x (+ y (/ (* t z) x)))
(* x (+ y (/ (* t z) x)))
(* x (+ y (/ (* t z) x)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(* t z)
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(+ (* t z) (* x y))
(* x y)
(* y (+ x (/ (* t z) y)))
(* y (+ x (/ (* t z) y)))
(* y (+ x (/ (* t z) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* t z)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(* t z)
(* t (+ z (/ (* a b) t)))
(* t (+ z (/ (* a b) t)))
(* t (+ z (/ (* a b) t)))
(* t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))
(* a b)
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(* t z)
(* z (+ t (/ (* a b) z)))
(* z (+ t (/ (* a b) z)))
(* z (+ t (/ (* a b) z)))
(* t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))
(* t z)
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(* a b)
(* a (+ b (/ (* t z) a)))
(* a (+ b (/ (* t z) a)))
(* a (+ b (/ (* t z) a)))
(* a b)
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))
(* t z)
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(+ (* a b) (* t z))
(* a b)
(* b (+ a (/ (* t z) b)))
(* b (+ a (/ (* t z) b)))
(* b (+ a (/ (* t z) b)))
(* a b)
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))
Outputs
(* x y)
(*.f64 x y)
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t z)
(*.f64 t z)
(* t (+ z (/ (* x y) t)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t (+ z (/ (* x y) t)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t (+ z (/ (* x y) t)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t z)
(*.f64 t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* x y) t)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* x y)
(*.f64 x y)
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t z)
(*.f64 t z)
(* z (+ t (/ (* x y) z)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* z (+ t (/ (* x y) z)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* z (+ t (/ (* x y) z)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t z)
(*.f64 t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* x y) z)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t z)
(*.f64 t z)
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(* x y)
(*.f64 x y)
(* x (+ y (/ (* t z) x)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* x (+ y (/ (* t z) x)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* x (+ y (/ (* t z) x)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* x y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* t z) x)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t z)
(*.f64 t z)
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(+ (* t z) (* x y))
(+.f64 (*.f64 x y) (*.f64 t z))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* t z) y)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* y (+ x (/ (* t z) y)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* y (+ x (/ (* t z) y)))
(+.f64 (*.f64 x y) (*.f64 t z))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* t z) y)))))
(+.f64 (*.f64 x y) (*.f64 t z))
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* t z)
(*.f64 t z)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t z)
(*.f64 t z)
(* t (+ z (/ (* a b) t)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t (+ z (/ (* a b) t)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t (+ z (/ (* a b) t)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t z)
(*.f64 t z)
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* t (+ (* -1 z) (* -1 (/ (* a b) t)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* a b)
(*.f64 a b)
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t z)
(*.f64 t z)
(* z (+ t (/ (* a b) z)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* z (+ t (/ (* a b) z)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* z (+ t (/ (* a b) z)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t z)
(*.f64 t z)
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* z (+ (* -1 t) (* -1 (/ (* a b) z)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t z)
(*.f64 t z)
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(* a b)
(*.f64 a b)
(* a (+ b (/ (* t z) a)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* a (+ b (/ (* t z) a)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* a (+ b (/ (* t z) a)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* a b)
(*.f64 a b)
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* t z) a)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* t z)
(*.f64 t z)
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(+ (* a b) (* t z))
(+.f64 (*.f64 t z) (*.f64 a b))
(* a b)
(*.f64 a b)
(* b (+ a (/ (* t z) b)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* b (+ a (/ (* t z) b)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* b (+ a (/ (* t z) b)))
(+.f64 (*.f64 t z) (*.f64 a b))
(* a b)
(*.f64 a b)
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))
(+.f64 (*.f64 t z) (*.f64 a b))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* t z) b)))))
(+.f64 (*.f64 t z) (*.f64 a b))

eval59.0ms (1.3%)

Compiler

Compiled 7727 to 417 computations (94.6% saved)

prune34.0ms (0.8%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New4350435
Fresh011
Picked055
Done000
Total4356441
Accuracy
100.0%
Counts
441 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
(+.f64 (*.f64 x y) (*.f64 a b))
70.8%
(+.f64 (*.f64 t z) (*.f64 x y))
65.9%
(+.f64 (*.f64 t z) (*.f64 a b))
36.2%
(*.f64 x y)
37.3%
(*.f64 t z)
31.9%
(*.f64 a b)
Compiler

Compiled 66 to 48 computations (27.3% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 a b)
cost-diff0
(*.f64 x y)
cost-diff0
(+.f64 (*.f64 x y) (*.f64 a b))
Rules
fma-lowering-fma.f32
fma-define
*-lowering-*.f32
*-lowering-*.f64
fma-lowering-fma.f64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
11116
21416
01416
Stop Event
iter limit
saturated
Calls
Call 1
Inputs
(+ (* x y) (* a b))
(* x y)
x
y
(* a b)
a
b
Outputs
(+ (* x y) (* a b))
(+.f64 (*.f64 x y) (*.f64 a b))
(* x y)
(*.f64 x y)
x
y
(* a b)
(*.f64 a b)
a
b

localize72.0ms (1.6%)

Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy100.0%
(*.f64 x y)
accuracy100.0%
(*.f64 a b)
accuracy99.6%
(+.f64 (*.f64 x y) (*.f64 a b))
Results
65.0ms256×0valid
Compiler

Compiled 24 to 10 computations (58.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 51.0ms
ival-mult: 50.0ms (97.5% of total)
ival-add: 1.0ms (1.9% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

series14.0ms (0.3%)

Counts
3 → 96
Calls
Call 1
Inputs
#<alt (+ (* x y) (* a b))>
#<alt (* x y)>
#<alt (* a b)>
Outputs
#<alt (* a b)>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (* x y)>
#<alt (* x (+ y (/ (* a b) x)))>
#<alt (* x (+ y (/ (* a b) x)))>
#<alt (* x (+ y (/ (* a b) x)))>
#<alt (* x y)>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))>
#<alt (* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))>
#<alt (* a b)>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (* x y)>
#<alt (* y (+ x (/ (* a b) y)))>
#<alt (* y (+ x (/ (* a b) y)))>
#<alt (* y (+ x (/ (* a b) y)))>
#<alt (* x y)>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))>
#<alt (* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))>
#<alt (* x y)>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (* a b)>
#<alt (* a (+ b (/ (* x y) a)))>
#<alt (* a (+ b (/ (* x y) a)))>
#<alt (* a (+ b (/ (* x y) a)))>
#<alt (* a b)>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))>
#<alt (* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))>
#<alt (* x y)>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (+ (* a b) (* x y))>
#<alt (* a b)>
#<alt (* b (+ a (/ (* x y) b)))>
#<alt (* b (+ a (/ (* x y) b)))>
#<alt (* b (+ a (/ (* x y) b)))>
#<alt (* a b)>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))>
#<alt (* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* x y)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
#<alt (* a b)>
Calls

24 calls:

TimeVariablePointExpression
0.0ms
a
@-inf
(+ (* x y) (* a b))
0.0ms
y
@-inf
(+ (* x y) (* a b))
0.0ms
x
@0
(+ (* x y) (* a b))
0.0ms
y
@inf
(+ (* x y) (* a b))
0.0ms
x
@inf
(+ (* x y) (* a b))

rewrite704.0ms (16%)

Algorithm
batch-egg-rewrite
Rules
2704×*-lowering-*.f32
2704×*-lowering-*.f64
1858×sum5-define
1440×fmsub-define
1440×fmm-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
12412
221012
3269212
0811112
Stop Event
iter limit
node limit
Counts
3 → 95
Calls
Call 1
Inputs
(+ (* x y) (* a b))
(* x y)
(* a b)
Outputs
(+.f64 (*.f64 x y) (*.f64 a b))
(+.f64 (*.f64 a b) (*.f64 x y))
(+.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 a b)))) #s(literal -1 binary64)))
(-.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b))))
(-.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 a b) (*.f64 x y))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 a b) (*.f64 x y))))
(fma.f64 x y (*.f64 a b))
(fma.f64 x (/.f64 (*.f64 x (*.f64 y y)) (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 y x (*.f64 a b))
(fma.f64 y (/.f64 (*.f64 x (*.f64 x y)) (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 (*.f64 x y) (/.f64 (*.f64 x y) (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 a b (*.f64 x y))
(fma.f64 b a (*.f64 x y))
(fma.f64 (*.f64 x (*.f64 x (*.f64 y y))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 (*.f64 x x) (/.f64 (*.f64 y y) (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 (*.f64 y y) (/.f64 (*.f64 x x) (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 (*.f64 x (*.f64 y y)) (/.f64 x (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 (*.f64 x (*.f64 x y)) (/.f64 y (-.f64 (*.f64 x y) (*.f64 a b))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 x y) (*.f64 a b)) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(fma.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 a b)))) (neg.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(neg.f64 (/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))))
(neg.f64 (/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 a b)))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))))
(neg.f64 (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 (*.f64 x y) (*.f64 a b))))
(/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))
(/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 x y) (*.f64 a b)))
(/.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))))
(/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 a b))))
(/.f64 (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 a (*.f64 a a))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 b (*.f64 b b))))) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (-.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))))))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 a b))))
(/.f64 #s(literal 1 binary64) (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 a b))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (-.f64 (*.f64 a b) (*.f64 x y)) (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 x (*.f64 x (*.f64 y y))))))
(/.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))) (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))))
(/.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (*.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))))))
(/.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (*.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))))
(/.f64 (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 x (*.f64 x (*.f64 y y)))) (-.f64 (*.f64 a b) (*.f64 x y)))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 a b)))))
(/.f64 (-.f64 (*.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (*.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (*.f64 a (*.f64 a (*.f64 b b))))) (*.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (-.f64 (*.f64 x y) (*.f64 a b))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 a (*.f64 a a))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 b (*.f64 b b))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (-.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) #s(literal 1 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))))) (-.f64 (*.f64 x y) (*.f64 a b))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) #s(literal 1 binary64)) (*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 x y) (*.f64 a b))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))))
(/.f64 (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))))) (neg.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 a b)))))
(/.f64 (neg.f64 (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 x (*.f64 x (*.f64 y y))))) (neg.f64 (-.f64 (*.f64 a b) (*.f64 x y))))
(/.f64 (-.f64 (*.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b)))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b)))) (/.f64 (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) (*.f64 (*.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (-.f64 (*.f64 x y) (*.f64 a b))) (-.f64 (*.f64 x y) (*.f64 a b))))) (+.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b)))) (+.f64 (*.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))) (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b)))) (*.f64 (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b))))) (+.f64 (/.f64 (*.f64 x (*.f64 x (*.f64 y y))) (-.f64 (*.f64 x y) (*.f64 a b))) (/.f64 (*.f64 a (*.f64 a (*.f64 b b))) (-.f64 (*.f64 x y) (*.f64 a b)))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) #s(literal 1 binary64)) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))
(/.f64 (*.f64 (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 a (*.f64 a a))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 b (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (-.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))) (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 a b)))) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 a b)))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))))
(pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 a b))) #s(literal -1 binary64))
(pow.f64 (/.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 a b))) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 (-.f64 (*.f64 a b) (*.f64 x y)) (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 x (*.f64 x (*.f64 y y))))) #s(literal -1 binary64))
(*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (*.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 a b)))))
(*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (/.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (-.f64 (*.f64 x y) (*.f64 a b))))
(*.f64 (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))))
(*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))) (*.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))))
(*.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))) (/.f64 (+.f64 (*.f64 x y) (*.f64 a b)) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))))
(*.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 a b))))
(*.f64 (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))))
(*.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))) (/.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x y) (*.f64 a b)))))
(*.f64 #s(literal 1 binary64) (+.f64 (*.f64 x y) (*.f64 a b)))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))) (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))))
(*.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))) (pow.f64 (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 a b))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))))
(*.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x y) (*.f64 a b))) (pow.f64 (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))) #s(literal -1 binary64)))
(*.f64 (-.f64 (*.f64 a (*.f64 a (*.f64 b b))) (*.f64 x (*.f64 x (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 a b) (*.f64 x y))))
(*.f64 (/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 x y) (*.f64 a b)))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 (-.f64 (*.f64 a b) (*.f64 x y)) (-.f64 (*.f64 a b) (*.f64 x y))) (-.f64 (*.f64 a b) (*.f64 x y)))))) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))) (-.f64 (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))) (*.f64 x (*.f64 x (*.f64 y y)))))))
(*.f64 (/.f64 (+.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a b) (*.f64 (-.f64 (*.f64 a b) (*.f64 x y)) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y)))))))) (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))))
(*.f64 (/.f64 (-.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b)))) (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 a b)))))
(*.f64 (pow.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a (*.f64 a (*.f64 b b))) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))))))
(*.f64 (pow.f64 (/.f64 (-.f64 (*.f64 x y) (*.f64 a b)) (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y)))) (*.f64 (*.f64 a b) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 a (*.f64 b b))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))) (+.f64 (*.f64 (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 y (*.f64 y y))) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x x)))) (*.f64 (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 a (*.f64 a a))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 b (*.f64 b b)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (+.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (-.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))))))))
(*.f64 (pow.f64 (/.f64 (+.f64 (*.f64 x (*.f64 x (*.f64 y y))) (*.f64 a (*.f64 b (-.f64 (*.f64 a b) (*.f64 x y))))) (-.f64 (*.f64 (*.f64 x y) (*.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 x (*.f64 x (*.f64 y y))))) (*.f64 (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b)))))) #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (-.f64 (*.f64 (*.f64 x (*.f64 y y)) (*.f64 x (*.f64 x y))) (*.f64 (*.f64 a (*.f64 a b)) (*.f64 a (*.f64 b b))))))
(exp.f64 (log.f64 (*.f64 x y)))
(exp.f64 (*.f64 (log.f64 (*.f64 x y)) #s(literal 1 binary64)))
(pow.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 x y)
(*.f64 y x)
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal 1 binary64)))
(*.f64 (pow.f64 y #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 y)))
(*.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 x)))
(exp.f64 (log.f64 (*.f64 a b)))
(exp.f64 (*.f64 (log.f64 (*.f64 a b)) #s(literal 1 binary64)))
(pow.f64 (*.f64 a b) #s(literal 1 binary64))
(*.f64 a b)
(*.f64 b a)
(*.f64 (pow.f64 a #s(literal 1 binary64)) (pow.f64 b #s(literal 1 binary64)))
(*.f64 (pow.f64 b #s(literal 1 binary64)) (pow.f64 a #s(literal 1 binary64)))
(*.f64 (exp.f64 (log.f64 a)) (exp.f64 (log.f64 b)))
(*.f64 (exp.f64 (log.f64 b)) (exp.f64 (log.f64 a)))

simplify118.0ms (2.7%)

Algorithm
egg-herbie
Rules
2690×*-lowering-*.f32
2690×*-lowering-*.f64
1656×sum4-define
1032×distribute-lft-neg-in
832×distribute-rgt-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040396
1154396
2524396
31542396
45192396
08088396
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
(* a b)
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(* x y)
(* x (+ y (/ (* a b) x)))
(* x (+ y (/ (* a b) x)))
(* x (+ y (/ (* a b) x)))
(* x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))
(* a b)
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(* x y)
(* y (+ x (/ (* a b) y)))
(* y (+ x (/ (* a b) y)))
(* y (+ x (/ (* a b) y)))
(* x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))
(* x y)
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(* a b)
(* a (+ b (/ (* x y) a)))
(* a (+ b (/ (* x y) a)))
(* a (+ b (/ (* x y) a)))
(* a b)
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))
(* x y)
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(+ (* a b) (* x y))
(* a b)
(* b (+ a (/ (* x y) b)))
(* b (+ a (/ (* x y) b)))
(* b (+ a (/ (* x y) b)))
(* a b)
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* x y)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
(* a b)
Outputs
(* a b)
(*.f64 a b)
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x y)
(*.f64 x y)
(* x (+ y (/ (* a b) x)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x (+ y (/ (* a b) x)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x (+ y (/ (* a b) x)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x y)
(*.f64 x y)
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* x (+ (* -1 y) (* -1 (/ (* a b) x)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* a b)
(*.f64 a b)
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x y)
(*.f64 x y)
(* y (+ x (/ (* a b) y)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* y (+ x (/ (* a b) y)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* y (+ x (/ (* a b) y)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x y)
(*.f64 x y)
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* y (+ (* -1 x) (* -1 (/ (* a b) y)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x y)
(*.f64 x y)
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(* a b)
(*.f64 a b)
(* a (+ b (/ (* x y) a)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* a (+ b (/ (* x y) a)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* a (+ b (/ (* x y) a)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* a b)
(*.f64 a b)
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* a (+ (* -1 b) (* -1 (/ (* x y) a)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x y)
(*.f64 x y)
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(+ (* a b) (* x y))
(+.f64 (*.f64 a b) (*.f64 x y))
(* a b)
(*.f64 a b)
(* b (+ a (/ (* x y) b)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* b (+ a (/ (* x y) b)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* b (+ a (/ (* x y) b)))
(+.f64 (*.f64 a b) (*.f64 x y))
(* a b)
(*.f64 a b)
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* -1 (* b (+ (* -1 a) (* -1 (/ (* x y) b)))))
(+.f64 (*.f64 a b) (*.f64 x y))
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* x y)
(*.f64 x y)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)
(* a b)
(*.f64 a b)

eval38.0ms (0.9%)

Compiler

Compiled 4597 to 288 computations (93.7% saved)

prune22.0ms (0.5%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New1910191
Fresh000
Picked011
Done055
Total1916197
Accuracy
100.0%
Counts
197 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
65.3%
(+.f64 (*.f64 x y) (*.f64 a b))
70.8%
(+.f64 (*.f64 t z) (*.f64 x y))
65.9%
(+.f64 (*.f64 t z) (*.f64 a b))
36.2%
(*.f64 x y)
37.3%
(*.f64 t z)
31.9%
(*.f64 a b)
Compiler

Compiled 113 to 63 computations (44.2% saved)

regimes41.0ms (0.9%)

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

11 calls:

7.0ms
(*.f64 z t)
5.0ms
x
5.0ms
b
3.0ms
a
3.0ms
z
Results
AccuracySegmentsBranch
98.8%1x
98.8%1y
98.8%1z
98.8%1t
98.8%1a
98.8%1b
98.8%1(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
98.8%1(+.f64 (*.f64 x y) (*.f64 z t))
98.8%1(*.f64 x y)
98.8%1(*.f64 z t)
98.8%1(*.f64 a b)
Compiler

Compiled 99 to 77 computations (22.2% saved)

regimes25.0ms (0.6%)

Counts
6 → 3
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 x y)
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 t z) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 a b))
Outputs
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 t z) (*.f64 x y))
(+.f64 (*.f64 x y) (*.f64 a b))
Calls

8 calls:

5.0ms
t
3.0ms
z
3.0ms
b
3.0ms
x
3.0ms
a
Results
AccuracySegmentsBranch
86.8%4x
83.4%3y
87.5%3z
84.3%3t
86.6%3a
86.6%3b
90.0%4(*.f64 x y)
93.4%3(*.f64 a b)
Compiler

Compiled 60 to 50 computations (16.7% saved)

regimes5.0ms (0.1%)

Counts
5 → 3
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 x y)
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 t z) (*.f64 x y))
Outputs
(+.f64 (*.f64 t z) (*.f64 a b))
(+.f64 (*.f64 t z) (*.f64 x y))
(+.f64 (*.f64 t z) (*.f64 a b))
Calls

1 calls:

5.0ms
(*.f64 a b)
Results
AccuracySegmentsBranch
91.1%3(*.f64 a b)
Compiler

Compiled 9 to 7 computations (22.2% saved)

regimes20.0ms (0.5%)

Counts
4 → 3
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 x y)
(+.f64 (*.f64 t z) (*.f64 a b))
Outputs
(*.f64 x y)
(+.f64 (*.f64 t z) (*.f64 a b))
(*.f64 x y)
Calls

8 calls:

4.0ms
x
2.0ms
t
2.0ms
b
2.0ms
y
2.0ms
a
Results
AccuracySegmentsBranch
76.8%3y
71.0%3t
75.2%3x
70.8%3b
65.9%1a
70.4%3z
82.2%3(*.f64 x y)
69.7%3(*.f64 a b)
Compiler

Compiled 60 to 50 computations (16.7% saved)

regimes17.0ms (0.4%)

Counts
3 → 4
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
(*.f64 x y)
Outputs
(*.f64 a b)
(*.f64 x y)
(*.f64 t z)
(*.f64 a b)
Calls

8 calls:

3.0ms
x
2.0ms
y
2.0ms
a
2.0ms
b
2.0ms
t
Results
AccuracySegmentsBranch
53.8%3a
62.3%4(*.f64 a b)
60.3%4z
56.5%5b
62.7%6t
58.1%5x
54.4%3y
58.9%3(*.f64 x y)
Compiler

Compiled 60 to 50 computations (16.7% saved)

regimes5.0ms (0.1%)

Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 a b)
(*.f64 t z)
Outputs
(*.f64 a b)
(*.f64 t z)
(*.f64 a b)
Calls

2 calls:

3.0ms
z
2.0ms
(*.f64 a b)
Results
AccuracySegmentsBranch
54.5%3z
58.1%3(*.f64 a b)
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes9.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 a b)
Outputs
(*.f64 a b)
Calls

7 calls:

1.0ms
t
1.0ms
x
1.0ms
a
1.0ms
y
1.0ms
z
Results
AccuracySegmentsBranch
31.9%1b
31.9%1a
31.9%1y
31.9%1z
31.9%1x
31.9%1t
31.9%1(*.f64 a b)
Compiler

Compiled 51 to 43 computations (15.7% saved)

bsearch22.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
1.1201599878266815e+77
1.373793312086035e+77
16.0ms
-2.5845777677600577e+92
-2.569446836394539e+89
Results
15.0ms176×0valid
Compiler

Compiled 312 to 228 computations (26.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-add: 5.0ms (66.1% of total)
ival-mult: 3.0ms (39.7% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

bsearch30.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.8487443856277818e+82
1.451604018778277e+86
15.0ms
-2.5845777677600577e+92
-2.569446836394539e+89
Results
20.0ms256×0valid
Compiler

Compiled 442 to 323 computations (26.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 7.0ms (73.5% of total)
ival-add: 2.0ms (21% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

bsearch36.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
15.0ms
1.9584074275038158e+181
2.5280337943935206e+183
19.0ms
-1.0897909859033596e+198
-3.888205716981407e+180
Results
25.0ms272×0valid
Compiler

Compiled 400 to 308 computations (23% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-add: 5.0ms (49.8% of total)
ival-mult: 4.0ms (39.8% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

bsearch53.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.8487443856277818e+82
1.451604018778277e+86
25.0ms
1.0161936037436414e-198
3.25662910963132e-191
12.0ms
-2.5845777677600577e+92
-2.569446836394539e+89
Results
37.0ms400×0valid
Compiler

Compiled 494 to 403 computations (18.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 6.0ms (57.2% of total)
ival-add: 4.0ms (38.1% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

bsearch29.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.8487443856277818e+82
1.451604018778277e+86
15.0ms
-1.0151752942024812e+184
-1.6668150544302103e+183
Results
20.0ms224×0valid
Compiler

Compiled 278 to 229 computations (17.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 4.0ms (67.5% of total)
ival-add: 2.0ms (33.7% of total)
const: 0.0ms (0% of total)
backward-pass: 0.0ms (0% of total)

simplify15.0ms (0.3%)

Algorithm
egg-herbie
Rules
10×+-commutative_binary64
*-commutative_binary64
if-if-or-not_binary32
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
046146
164146
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(if (<=.f64 (*.f64 a b) #s(literal -8200000000000000833336203295806631923210718425443522251431231818323484528457919142360514560 binary64)) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 (*.f64 a b) #s(literal 132000000000000002355286447237945324467877716965049280035191780781954089091072 binary64)) (+.f64 (*.f64 t z) (*.f64 x y)) (+.f64 (*.f64 x y) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) #s(literal -340000000000000018004933481170041261206633683853006774382421407095420579992236127942606848 binary64)) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 (*.f64 a b) #s(literal 229999999999999994953556542904221181187001180058745893459291421216394549673437691904 binary64)) (+.f64 (*.f64 t z) (*.f64 x y)) (+.f64 (*.f64 t z) (*.f64 a b))))
(if (<=.f64 (*.f64 x y) #s(literal -2500000000000000181397928993296945902575856071952843206142085995993025431230172268613017045435810487935156494217168930290333688290909353442872591445009830448053156129563173080200802748858368 binary64)) (*.f64 x y) (if (<=.f64 (*.f64 x y) #s(literal 38000000000000001272822293878327360093114279357075856100999782596301973675943240064625623049935799689710643841761805131764166825021368308063260163371163007391541817890032738264678400 binary64)) (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 x y)))
(if (<=.f64 (*.f64 a b) #s(literal -8200000000000000833336203295806631923210718425443522251431231818323484528457919142360514560 binary64)) (*.f64 a b) (if (<=.f64 (*.f64 a b) #s(literal 4039784372389151/673297395398191808926846705008656469190443494761366254015779955592797715750026345230549316643531321757053820013590811867266487328023526894480360290643440748794268629904440908568532961009193307810725536222180016128 binary64)) (*.f64 x y) (if (<=.f64 (*.f64 a b) #s(literal 1850000000000000009812420309772105638707689871857048228537657525838156885958313639936 binary64)) (*.f64 t z) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) #s(literal -1699999999999999991766712060632105256573002135091513044933423145142745371768897988780860595132715139236511345609381645392380591805198760742976213535337682827557364813430233589606252544 binary64)) (*.f64 a b) (if (<=.f64 (*.f64 a b) #s(literal 179999999999999986673236714568298387131734806300016551876960443546544436751869411328 binary64)) (*.f64 t z) (*.f64 a b)))
(*.f64 a b)
Outputs
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 x y) (*.f64 z t)))
(if (<=.f64 (*.f64 a b) #s(literal -8200000000000000833336203295806631923210718425443522251431231818323484528457919142360514560 binary64)) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 (*.f64 a b) #s(literal 132000000000000002355286447237945324467877716965049280035191780781954089091072 binary64)) (+.f64 (*.f64 t z) (*.f64 x y)) (+.f64 (*.f64 x y) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) #s(literal -8200000000000000833336203295806631923210718425443522251431231818323484528457919142360514560 binary64)) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 a b) #s(literal 132000000000000002355286447237945324467877716965049280035191780781954089091072 binary64)) (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) #s(literal -340000000000000018004933481170041261206633683853006774382421407095420579992236127942606848 binary64)) (+.f64 (*.f64 t z) (*.f64 a b)) (if (<=.f64 (*.f64 a b) #s(literal 229999999999999994953556542904221181187001180058745893459291421216394549673437691904 binary64)) (+.f64 (*.f64 t z) (*.f64 x y)) (+.f64 (*.f64 t z) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) #s(literal -340000000000000018004933481170041261206633683853006774382421407095420579992236127942606848 binary64)) (+.f64 (*.f64 a b) (*.f64 z t)) (if (<=.f64 (*.f64 a b) #s(literal 229999999999999994953556542904221181187001180058745893459291421216394549673437691904 binary64)) (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 a b) (*.f64 z t))))
(if (<=.f64 (*.f64 x y) #s(literal -2500000000000000181397928993296945902575856071952843206142085995993025431230172268613017045435810487935156494217168930290333688290909353442872591445009830448053156129563173080200802748858368 binary64)) (*.f64 x y) (if (<=.f64 (*.f64 x y) #s(literal 38000000000000001272822293878327360093114279357075856100999782596301973675943240064625623049935799689710643841761805131764166825021368308063260163371163007391541817890032738264678400 binary64)) (+.f64 (*.f64 t z) (*.f64 a b)) (*.f64 x y)))
(if (<=.f64 (*.f64 x y) #s(literal -2500000000000000181397928993296945902575856071952843206142085995993025431230172268613017045435810487935156494217168930290333688290909353442872591445009830448053156129563173080200802748858368 binary64)) (*.f64 x y) (if (<=.f64 (*.f64 x y) #s(literal 38000000000000001272822293878327360093114279357075856100999782596301973675943240064625623049935799689710643841761805131764166825021368308063260163371163007391541817890032738264678400 binary64)) (+.f64 (*.f64 a b) (*.f64 z t)) (*.f64 x y)))
(if (<=.f64 (*.f64 a b) #s(literal -8200000000000000833336203295806631923210718425443522251431231818323484528457919142360514560 binary64)) (*.f64 a b) (if (<=.f64 (*.f64 a b) #s(literal 4039784372389151/673297395398191808926846705008656469190443494761366254015779955592797715750026345230549316643531321757053820013590811867266487328023526894480360290643440748794268629904440908568532961009193307810725536222180016128 binary64)) (*.f64 x y) (if (<=.f64 (*.f64 a b) #s(literal 1850000000000000009812420309772105638707689871857048228537657525838156885958313639936 binary64)) (*.f64 t z) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) #s(literal -8200000000000000833336203295806631923210718425443522251431231818323484528457919142360514560 binary64)) (*.f64 a b) (if (<=.f64 (*.f64 a b) #s(literal 4039784372389151/673297395398191808926846705008656469190443494761366254015779955592797715750026345230549316643531321757053820013590811867266487328023526894480360290643440748794268629904440908568532961009193307810725536222180016128 binary64)) (*.f64 x y) (if (<=.f64 (*.f64 a b) #s(literal 1850000000000000009812420309772105638707689871857048228537657525838156885958313639936 binary64)) (*.f64 z t) (*.f64 a b))))
(if (<=.f64 (*.f64 a b) #s(literal -1699999999999999991766712060632105256573002135091513044933423145142745371768897988780860595132715139236511345609381645392380591805198760742976213535337682827557364813430233589606252544 binary64)) (*.f64 a b) (if (<=.f64 (*.f64 a b) #s(literal 179999999999999986673236714568298387131734806300016551876960443546544436751869411328 binary64)) (*.f64 t z) (*.f64 a b)))
(if (<=.f64 (*.f64 a b) #s(literal -1699999999999999991766712060632105256573002135091513044933423145142745371768897988780860595132715139236511345609381645392380591805198760742976213535337682827557364813430233589606252544 binary64)) (*.f64 a b) (if (<=.f64 (*.f64 a b) #s(literal 179999999999999986673236714568298387131734806300016551876960443546544436751869411328 binary64)) (*.f64 z t) (*.f64 a b)))
(*.f64 a b)

soundness471.0ms (10.7%)

Rules
3546×*-lowering-*.f32
3546×*-lowering-*.f64
1472×+-lowering-+.f64
1472×+-lowering-+.f32
1336×fmsub-define
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01041206
14031176
214181134
339551098
085911098
Stop Event
done
iter limit
node limit
Compiler

Compiled 303 to 147 computations (51.5% saved)

preprocess51.0ms (1.2%)

Remove

(sort a b)

(sort z t)

(sort x y)

Compiler

Compiled 562 to 242 computations (56.9% saved)

end0.0ms (0%)

Profiling

Loading profile data...