Optimisation.CirclePacking:place from circle-packing-0.1.0.4, G

Time bar (total: 3.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 9 to 9 computations (0% saved)

sample1.6s (43.9%)

Memory
-56.4MiB live, 1 401.3MiB allocated; 1.1s collecting garbage
Samples
1.3s8 255×0valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 834.0ms
ival-mult: 569.0ms (68.3% of total)
ival-add: 248.0ms (29.8% of total)
ival-true: 6.0ms (0.7% of total)
exact: 5.0ms (0.6% of total)
adjust: 3.0ms (0.4% of total)
ival-assert: 3.0ms (0.4% of total)
Bogosity

explain104.0ms (2.8%)

Memory
12.5MiB live, 112.7MiB allocated; 18ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
00-0-(+.f64 z #s(literal 1 binary64))
00-0-y
00-0-#s(literal 1 binary64)
00-0-(+.f64 x y)
00-0-z
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
24.0ms512×0valid
Compiler

Compiled 45 to 25 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-add: 5.0ms (51% of total)
ival-mult: 3.0ms (30.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess195.0ms (5.2%)

Memory
3.7MiB live, 141.3MiB allocated; 31ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02670
19470
234364
3184163
4548163
077
0107
1217
2627
33277
412017
550317
080287
Stop Event
iter limit
node limit
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Outputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
Symmetry

(sort x y)

Compiler

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Compiler

Compiled 7 to 7 computations (0% saved)

series5.0ms (0.1%)

Memory
4.9MiB live, 4.9MiB allocated; 0ms collecting garbage
Counts
7 → 22
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(+.f64 x y)
x
y
(+.f64 z #s(literal 1 binary64))
z
#s(literal 1 binary64)
Outputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
y
(+ x y)
x
(* x (+ 1 z))
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x (+ 1 (/ y x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ 1 (/ x y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+ x (+ y (* z (+ x y))))
1
(+ 1 z)
z
(* z (+ x y))
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* z (+ 1 (/ 1 z)))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
y
@inf
((* (+ x y) (+ z 1)) (+ x y) x y (+ z 1) z 1)
1.0ms
x
@inf
((* (+ x y) (+ z 1)) (+ x y) x y (+ z 1) z 1)
1.0ms
x
@-inf
((* (+ x y) (+ z 1)) (+ x y) x y (+ z 1) z 1)
1.0ms
y
@-inf
((* (+ x y) (+ z 1)) (+ x y) x y (+ z 1) z 1)
1.0ms
z
@-inf
((* (+ x y) (+ z 1)) (+ x y) x y (+ z 1) z 1)

simplify338.0ms (9.1%)

Memory
-9.7MiB live, 187.4MiB allocated; 144ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059136
1231136
21076132
34159128
08369118
Stop Event
iter limit
node limit
Counts
22 → 19
Calls
Call 1
Inputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
y
(+ x y)
x
(* x (+ 1 z))
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x (+ 1 (/ y x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ 1 (/ x y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+ x (+ y (* z (+ x y))))
1
(+ 1 z)
z
(* z (+ x y))
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* z (+ 1 (/ 1 z)))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
Outputs
(* y (+ 1 z))
(fma.f64 z y y)
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(*.f64 (+.f64 y x) (-.f64 z #s(literal -1 binary64)))
y
(+ x y)
(+.f64 y x)
x
(* x (+ 1 z))
(fma.f64 z x x)
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(*.f64 (fma.f64 z x x) (-.f64 (/.f64 y x) #s(literal -1 binary64)))
(* x (+ 1 (/ y x)))
(fma.f64 (/.f64 y x) x x)
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(*.f64 (fma.f64 z x x) (-.f64 (/.f64 y x) #s(literal -1 binary64)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(fma.f64 (/.f64 y x) x x)
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(*.f64 (fma.f64 z y y) (-.f64 (/.f64 x y) #s(literal -1 binary64)))
(* y (+ 1 (/ x y)))
(fma.f64 (/.f64 x y) y y)
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(*.f64 (fma.f64 z y y) (-.f64 (/.f64 x y) #s(literal -1 binary64)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(fma.f64 (/.f64 x y) y y)
(+ x (+ y (* z (+ x y))))
(*.f64 (+.f64 y x) (-.f64 z #s(literal -1 binary64)))
1
#s(literal 1 binary64)
(+ 1 z)
(-.f64 z #s(literal -1 binary64))
z
(* z (+ x y))
(*.f64 (+.f64 y x) z)
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(*.f64 (+.f64 y x) (-.f64 z #s(literal -1 binary64)))
(* z (+ 1 (/ 1 z)))
(-.f64 z #s(literal -1 binary64))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(*.f64 (+.f64 y x) (-.f64 z #s(literal -1 binary64)))

rewrite45.0ms (1.2%)

Memory
-29.0MiB live, 21.4MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
01017
14717
040217
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
7 → 75
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(+.f64 x y)
x
y
(+.f64 z #s(literal 1 binary64))
z
#s(literal 1 binary64)
Outputs
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(*.f64 (+.f64 y x) (-.f64 z #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 y x)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 y x)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 z #s(literal -1 binary64))) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 z #s(literal -1 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (+.f64 y x) (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (+.f64 y x) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (-.f64 (*.f64 (*.f64 z (+.f64 y x)) (*.f64 z (+.f64 y x))) (*.f64 (+.f64 y x) (+.f64 y x))) (-.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (+.f64 y x)) #s(literal 3 binary64)) (pow.f64 (+.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 z (+.f64 y x)) (*.f64 z (+.f64 y x)) (-.f64 (*.f64 (+.f64 y x) (+.f64 y x)) (*.f64 (*.f64 z (+.f64 y x)) (+.f64 y x)))))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 (+.f64 y x) (-.f64 x y))) (*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 x y)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 y x) (-.f64 x y))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (-.f64 x y)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (-.f64 x y) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 x y) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) x (*.f64 (-.f64 z #s(literal -1 binary64)) y))
(fma.f64 #s(literal 1 binary64) (+.f64 y x) (*.f64 z (+.f64 y x)))
(fma.f64 z (+.f64 y x) (+.f64 y x))
(fma.f64 (+.f64 y x) #s(literal 1 binary64) (*.f64 z (+.f64 y x)))
(fma.f64 (+.f64 y x) z (+.f64 y x))
(fma.f64 y (-.f64 z #s(literal -1 binary64)) (*.f64 x (-.f64 z #s(literal -1 binary64))))
(fma.f64 x (-.f64 z #s(literal -1 binary64)) (*.f64 y (-.f64 z #s(literal -1 binary64))))
(-.f64 (*.f64 z (+.f64 y x)) (*.f64 #s(literal -1 binary64) (+.f64 y x)))
(-.f64 (*.f64 z (+.f64 y x)) (*.f64 (neg.f64 (+.f64 y x)) #s(literal 1 binary64)))
(+.f64 (*.f64 y (-.f64 z #s(literal -1 binary64))) (*.f64 x (-.f64 z #s(literal -1 binary64))))
(+.f64 (*.f64 x (-.f64 z #s(literal -1 binary64))) (*.f64 y (-.f64 z #s(literal -1 binary64))))
(+.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) y) (*.f64 (-.f64 z #s(literal -1 binary64)) x))
(+.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) x) (*.f64 (-.f64 z #s(literal -1 binary64)) y))
(+.f64 (*.f64 z (+.f64 y x)) (+.f64 y x))
(+.f64 (+.f64 y x) (*.f64 z (+.f64 y x)))
(*.f64 #s(literal 1 binary64) (+.f64 y x))
(*.f64 (+.f64 y x) #s(literal 1 binary64))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) #s(literal 1 binary64)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (*.f64 y y) (*.f64 x x)) (-.f64 y x))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y y (-.f64 (*.f64 x x) (*.f64 y x))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) x))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) y))
(fma.f64 y #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(fma.f64 x #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) x))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) y))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 y x)
(+.f64 x y)
x
y
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 z z)) (-.f64 #s(literal 1 binary64) z))
(/.f64 (neg.f64 (fma.f64 z z #s(literal -1 binary64))) (neg.f64 (-.f64 z #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (fma.f64 z z #s(literal -1 binary64)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 z z) z)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 z #s(literal 1 binary64))))
(-.f64 z #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(+.f64 #s(literal 1 binary64) z)
(+.f64 z #s(literal 1 binary64))
z
#s(literal 1 binary64)

eval8.0ms (0.2%)

Memory
11.3MiB live, 11.3MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 247 to 231 computations (81.5% saved)

prune5.0ms (0.1%)

Memory
7.2MiB live, 7.2MiB allocated; 0ms collecting garbage
Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New81586
Fresh000
Picked101
Done000
Total82587
Accuracy
100.0%
Counts
87 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
51.2%
(*.f64 (+.f64 x y) #s(approx (+ z 1) #s(literal 1 binary64)))
53.4%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
51.5%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
51.0%
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
Compiler

Compiled 112 to 88 computations (21.4% saved)

series13.0ms (0.4%)

Memory
13.8MiB live, 13.8MiB allocated; 0ms collecting garbage
Counts
18 → 39
Calls
Call 1
Inputs
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
(-.f64 z #s(literal -1 binary64))
z
#s(literal -1 binary64)
y
(*.f64 (-.f64 z #s(literal -1 binary64)) x)
x
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
(fma.f64 z x x)
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
(fma.f64 z y y)
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 y x) z)
(+.f64 y x)
(*.f64 (+.f64 x y) #s(approx (+ z 1) #s(literal 1 binary64)))
(+.f64 x y)
#s(approx (+ z 1) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(* x (+ 1 z))
x
(* y z)
(+ (* x z) (* y z))
y
(+ x y)
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x z)
(* x (+ z (/ (* y z) x)))
(* x (+ 1 (/ y x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (- (* -1 z) 1)))
(* -1 (* x (+ (* -1 z) (* -1 (/ (* y z) x)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ z (/ (* x z) y)))
(* y (+ 1 (/ x y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (- (* -1 z) 1)))
(* -1 (* y (+ (* -1 z) (* -1 (/ (* x z) y)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+ x (+ y (* z (+ x y))))
1
(+ 1 z)
z
(+ x (* x z))
(+ y (* y z))
(* z (+ x y))
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* z (+ 1 (/ 1 z)))
(* z (+ x (/ x z)))
(* z (+ y (/ y z)))
(* -1 (* z (+ (* -1 x) (* -1 y))))
(* -1 (* z (+ (* -1 x) (+ (* -1 y) (* -1 (/ (+ x y) z))))))
(* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ y z)))))
Calls

9 calls:

TimeVariablePointExpression
2.0ms
z
@inf
((+ (* (- z -1) y) (* (- z -1) x)) (- z -1) z -1 y (* (- z -1) x) x (* (+ x y) (+ z 1)) (+ (* z x) x) (* (+ x y) (+ z 1)) (+ (* z y) y) (* (+ x y) (+ z 1)) (* (+ y x) z) (+ y x) (* (+ x y) (+ z 1)) (+ x y) (+ z 1) 1)
2.0ms
x
@0
((+ (* (- z -1) y) (* (- z -1) x)) (- z -1) z -1 y (* (- z -1) x) x (* (+ x y) (+ z 1)) (+ (* z x) x) (* (+ x y) (+ z 1)) (+ (* z y) y) (* (+ x y) (+ z 1)) (* (+ y x) z) (+ y x) (* (+ x y) (+ z 1)) (+ x y) (+ z 1) 1)
2.0ms
z
@-inf
((+ (* (- z -1) y) (* (- z -1) x)) (- z -1) z -1 y (* (- z -1) x) x (* (+ x y) (+ z 1)) (+ (* z x) x) (* (+ x y) (+ z 1)) (+ (* z y) y) (* (+ x y) (+ z 1)) (* (+ y x) z) (+ y x) (* (+ x y) (+ z 1)) (+ x y) (+ z 1) 1)
2.0ms
x
@-inf
((+ (* (- z -1) y) (* (- z -1) x)) (- z -1) z -1 y (* (- z -1) x) x (* (+ x y) (+ z 1)) (+ (* z x) x) (* (+ x y) (+ z 1)) (+ (* z y) y) (* (+ x y) (+ z 1)) (* (+ y x) z) (+ y x) (* (+ x y) (+ z 1)) (+ x y) (+ z 1) 1)
1.0ms
y
@-inf
((+ (* (- z -1) y) (* (- z -1) x)) (- z -1) z -1 y (* (- z -1) x) x (* (+ x y) (+ z 1)) (+ (* z x) x) (* (+ x y) (+ z 1)) (+ (* z y) y) (* (+ x y) (+ z 1)) (* (+ y x) z) (+ y x) (* (+ x y) (+ z 1)) (+ x y) (+ z 1) 1)

simplify218.0ms (5.8%)

Memory
-29.1MiB live, 300.7MiB allocated; 59ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0105235
1419235
21560231
35366227
08190209
Stop Event
iter limit
node limit
Counts
39 → 36
Calls
Call 1
Inputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(* x (+ 1 z))
x
(* y z)
(+ (* x z) (* y z))
y
(+ x y)
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x z)
(* x (+ z (/ (* y z) x)))
(* x (+ 1 (/ y x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (- (* -1 z) 1)))
(* -1 (* x (+ (* -1 z) (* -1 (/ (* y z) x)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ z (/ (* x z) y)))
(* y (+ 1 (/ x y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (- (* -1 z) 1)))
(* -1 (* y (+ (* -1 z) (* -1 (/ (* x z) y)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+ x (+ y (* z (+ x y))))
1
(+ 1 z)
z
(+ x (* x z))
(+ y (* y z))
(* z (+ x y))
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* z (+ 1 (/ 1 z)))
(* z (+ x (/ x z)))
(* z (+ y (/ y z)))
(* -1 (* z (+ (* -1 x) (* -1 y))))
(* -1 (* z (+ (* -1 x) (+ (* -1 y) (* -1 (/ (+ x y) z))))))
(* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ (* -1 y) (* -1 (/ y z)))))
Outputs
(* y (+ 1 z))
(fma.f64 y z y)
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y))
(* x (+ 1 z))
(fma.f64 x z x)
x
(* y z)
(*.f64 y z)
(+ (* x z) (* y z))
(*.f64 (+.f64 x y) z)
y
(+ x y)
(+.f64 x y)
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 y x))) x)
(* x z)
(*.f64 x z)
(* x (+ z (/ (* y z) x)))
(*.f64 (fma.f64 (/.f64 z x) y z) x)
(* x (+ 1 (/ y x)))
(fma.f64 (/.f64 y x) x x)
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 y x))) x)
(* -1 (* x (- (* -1 z) 1)))
(fma.f64 x z x)
(* -1 (* x (+ (* -1 z) (* -1 (/ (* y z) x)))))
(*.f64 (fma.f64 (/.f64 z x) y z) x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(fma.f64 (/.f64 y x) x x)
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 x y))) y)
(* y (+ z (/ (* x z) y)))
(*.f64 (fma.f64 (/.f64 z y) x z) y)
(* y (+ 1 (/ x y)))
(fma.f64 (/.f64 x y) y y)
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(*.f64 (*.f64 (-.f64 #s(literal -1 binary64) z) (-.f64 #s(literal -1 binary64) (/.f64 x y))) y)
(* -1 (* y (- (* -1 z) 1)))
(fma.f64 y z y)
(* -1 (* y (+ (* -1 z) (* -1 (/ (* x z) y)))))
(*.f64 (fma.f64 (/.f64 z y) x z) y)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(fma.f64 (/.f64 x y) y y)
(+ x (+ y (* z (+ x y))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y))
1
#s(literal 1 binary64)
(+ 1 z)
(-.f64 z #s(literal -1 binary64))
z
(+ x (* x z))
(fma.f64 x z x)
(+ y (* y z))
(fma.f64 y z y)
(* z (+ x y))
(*.f64 (+.f64 x y) z)
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y))
(* z (+ 1 (/ 1 z)))
(-.f64 z #s(literal -1 binary64))
(* z (+ x (/ x z)))
(fma.f64 x z x)
(* z (+ y (/ y z)))
(fma.f64 y z y)
(* -1 (* z (+ (* -1 x) (* -1 y))))
(*.f64 (+.f64 x y) z)
(* -1 (* z (+ (* -1 x) (+ (* -1 y) (* -1 (/ (+ x y) z))))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y))
(* -1 (* z (+ (* -1 x) (* -1 (/ x z)))))
(fma.f64 x z x)
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y))
(* -1 (* z (+ (* -1 y) (* -1 (/ y z)))))
(fma.f64 y z y)

rewrite51.0ms (1.4%)

Memory
28.9MiB live, 122.5MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02193
03391
113689
0110889
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
18 → 257
Calls
Call 1
Inputs
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
(-.f64 z #s(literal -1 binary64))
z
#s(literal -1 binary64)
y
(*.f64 (-.f64 z #s(literal -1 binary64)) x)
x
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
(fma.f64 z x x)
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
(fma.f64 z y y)
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 y x) z)
(+.f64 y x)
(*.f64 (+.f64 x y) #s(approx (+ z 1) #s(literal 1 binary64)))
(+.f64 x y)
#s(approx (+ z 1) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
(*.f64 (+.f64 x y) (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 x y))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 z #s(literal -1 binary64))) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 z #s(literal -1 binary64))) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (-.f64 z #s(literal -1 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (-.f64 z #s(literal -1 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 x y)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 x y)) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 x y)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 (+.f64 x y) (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (+.f64 x y) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (*.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 x y) z)) (*.f64 (+.f64 x y) (+.f64 x y))) (-.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64))) (-.f64 (fma.f64 x z x) (fma.f64 y z y)))
(/.f64 (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 3 binary64)) (pow.f64 (neg.f64 (fma.f64 x z x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (*.f64 (fma.f64 y z y) (neg.f64 (fma.f64 x z x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 x y) z) #s(literal 3 binary64)) (pow.f64 (+.f64 x y) #s(literal 3 binary64))) (fma.f64 (*.f64 (+.f64 x y) z) (*.f64 (+.f64 x y) z) (-.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (*.f64 (*.f64 (+.f64 x y) z) (+.f64 x y)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)))) (neg.f64 (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (-.f64 y x) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 y x) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (-.f64 x y) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (-.f64 x y) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (fma.f64 x (-.f64 x y) (*.f64 y y)) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 z z #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (-.f64 z #s(literal 1 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 x (-.f64 x y) (*.f64 y y)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (*.f64 (fma.f64 y (-.f64 y x) (*.f64 x x)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 y x)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (-.f64 z #s(literal 1 binary64)) (-.f64 x y)))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (*.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (*.f64 (-.f64 z #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (-.f64 y x)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (-.f64 y x)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (-.f64 x y)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (-.f64 x y)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (*.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (pow.f64 (fma.f64 x z x) #s(literal 2 binary64))) (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x)))
(/.f64 (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 3 binary64))) (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (-.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (*.f64 (fma.f64 y z y) (fma.f64 x z x)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (pow.f64 (fma.f64 y z y) #s(literal 3 binary64))) (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (+.f64 x y) #s(literal -1 binary64)) #s(literal -1 binary64) (*.f64 (+.f64 x y) z))
(fma.f64 (+.f64 x y) #s(literal 1 binary64) (*.f64 (+.f64 x y) z))
(fma.f64 (+.f64 x y) z (+.f64 x y))
(fma.f64 #s(literal 1 binary64) (+.f64 x y) (*.f64 (+.f64 x y) z))
(fma.f64 x (-.f64 z #s(literal -1 binary64)) (fma.f64 y z y))
(fma.f64 y (-.f64 z #s(literal -1 binary64)) (*.f64 (neg.f64 (neg.f64 (-.f64 z #s(literal -1 binary64)))) x))
(fma.f64 y (-.f64 z #s(literal -1 binary64)) (fma.f64 x z x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) x (fma.f64 y z y))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (neg.f64 (neg.f64 (-.f64 z #s(literal -1 binary64)))) x))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (fma.f64 x z x))
(fma.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x y)) (*.f64 (+.f64 x y) z))
(fma.f64 z (+.f64 x y) (+.f64 x y))
(-.f64 (/.f64 (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)) (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x))) (/.f64 (pow.f64 (fma.f64 x z x) #s(literal 2 binary64)) (*.f64 (-.f64 z #s(literal -1 binary64)) (-.f64 y x))))
(-.f64 (*.f64 (+.f64 x y) z) (*.f64 #s(literal -1 binary64) (+.f64 x y)))
(-.f64 (*.f64 (+.f64 x y) z) (*.f64 (neg.f64 (+.f64 x y)) #s(literal 1 binary64)))
(-.f64 (fma.f64 y z y) (*.f64 (neg.f64 x) (-.f64 z #s(literal -1 binary64))))
(-.f64 (fma.f64 y z y) (neg.f64 (fma.f64 x z x)))
(-.f64 (fma.f64 x z x) (*.f64 (neg.f64 y) (-.f64 z #s(literal -1 binary64))))
(-.f64 (fma.f64 x z x) (*.f64 (neg.f64 (-.f64 z #s(literal -1 binary64))) y))
(+.f64 (/.f64 (pow.f64 (fma.f64 y z y) #s(literal 3 binary64)) (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 x z x) #s(literal 3 binary64)) (fma.f64 (fma.f64 x z x) (-.f64 (fma.f64 x z x) (fma.f64 y z y)) (pow.f64 (fma.f64 y z y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (+.f64 x y) z) (+.f64 x y))
(+.f64 (fma.f64 y z y) (*.f64 (neg.f64 (neg.f64 (-.f64 z #s(literal -1 binary64)))) x))
(+.f64 (fma.f64 y z y) (fma.f64 x z x))
(+.f64 (+.f64 x y) (*.f64 (+.f64 x y) z))
(+.f64 (fma.f64 x z x) (fma.f64 y z y))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 z z)) (-.f64 #s(literal 1 binary64) z))
(/.f64 (neg.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(/.f64 (neg.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64)))))
(/.f64 (neg.f64 (fma.f64 z z #s(literal -1 binary64))) (neg.f64 (-.f64 z #s(literal 1 binary64))))
(/.f64 (fma.f64 z z #s(literal -1 binary64)) (-.f64 z #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 z z) z)))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(-.f64 (/.f64 (*.f64 z z) (-.f64 z #s(literal 1 binary64))) (/.f64 #s(literal 1 binary64) (-.f64 z #s(literal 1 binary64))))
(-.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64)))) (/.f64 #s(literal -1 binary64) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64)))))
(-.f64 z #s(literal -1 binary64))
(+.f64 (/.f64 (pow.f64 z #s(literal 3 binary64)) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))) (/.f64 #s(literal 1 binary64) (fma.f64 z z (-.f64 #s(literal 1 binary64) z))))
(+.f64 #s(literal 1 binary64) z)
(+.f64 z #s(literal 1 binary64))
z
#s(literal -1 binary64)
y
(*.f64 x (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) x)
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) x) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 x (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x z) #s(literal 2 binary64))) (-.f64 x (*.f64 x z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 x z) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 x z) x))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 (*.f64 x z) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64))))
(fma.f64 x z x)
(fma.f64 z x x)
(-.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (-.f64 (*.f64 x z) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 x z) x)))
(-.f64 x (*.f64 (neg.f64 x) z))
(-.f64 x (*.f64 (neg.f64 z) x))
(+.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(+.f64 (*.f64 x z) x)
(+.f64 x (*.f64 x z))
x
#s(approx (* (+ x y) (+ z 1)) (fma.f64 x z x))
(*.f64 x (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) x)
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) x) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) x) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 x (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 x (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 x z) #s(literal 2 binary64))) (-.f64 x (*.f64 x z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 x z) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 x z) x))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (*.f64 (*.f64 x z) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64))))
(fma.f64 x z x)
(fma.f64 z x x)
(-.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 2 binary64)) (-.f64 (*.f64 x z) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 x z) x)))
(-.f64 x (*.f64 (neg.f64 x) z))
(-.f64 x (*.f64 (neg.f64 z) x))
(+.f64 (/.f64 (pow.f64 (*.f64 x z) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 x z)) (pow.f64 (*.f64 x z) #s(literal 2 binary64)))))
(+.f64 (*.f64 x z) x)
(+.f64 x (*.f64 x z))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 y z y))
(*.f64 y (-.f64 z #s(literal -1 binary64)))
(*.f64 (-.f64 z #s(literal -1 binary64)) y)
(/.f64 (*.f64 (fma.f64 z z #s(literal -1 binary64)) y) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) y) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64)) y) (fma.f64 z z (-.f64 #s(literal 1 binary64) z)))
(/.f64 (*.f64 y (fma.f64 z z #s(literal -1 binary64))) (-.f64 z #s(literal 1 binary64)))
(/.f64 (*.f64 y (-.f64 (pow.f64 z #s(literal 3 binary64)) #s(literal -1 binary64))) (fma.f64 z z (fma.f64 #s(literal -1 binary64) z #s(literal 1 binary64))))
(/.f64 (-.f64 (*.f64 y y) (pow.f64 (*.f64 y z) #s(literal 2 binary64))) (-.f64 y (*.f64 y z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 y y))) (neg.f64 (-.f64 (*.f64 y z) y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y z) #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 y y)) (-.f64 (*.f64 y z) y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y z) #s(literal 3 binary64))) (fma.f64 y y (-.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (*.f64 (*.f64 y z) y))))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y z) #s(literal 3 binary64))) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64))))
(fma.f64 y z y)
(fma.f64 z y y)
(-.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 2 binary64)) (-.f64 (*.f64 y z) y)) (/.f64 (*.f64 y y) (-.f64 (*.f64 y z) y)))
(-.f64 y (*.f64 (neg.f64 y) z))
(-.f64 y (*.f64 (neg.f64 z) y))
(+.f64 (/.f64 (pow.f64 (*.f64 y z) #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y (*.f64 y z)) (pow.f64 (*.f64 y z) #s(literal 2 binary64)))))
(+.f64 (*.f64 y z) y)
(+.f64 y (*.f64 y z))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 x y) z))
(*.f64 (+.f64 x y) z)
(*.f64 z (+.f64 x y))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) z) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) z) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) z) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) z) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 z (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 z (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 z (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 z (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 x z (*.f64 y z))
(fma.f64 y z (*.f64 x z))
(fma.f64 z x (*.f64 y z))
(fma.f64 z y (*.f64 x z))
(+.f64 (*.f64 x z) (*.f64 y z))
(+.f64 (*.f64 y z) (*.f64 x z))
(*.f64 (*.f64 (+.f64 x y) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 x y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 x y))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x y)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) #s(literal 1 binary64)) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) #s(literal 1 binary64)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 y x))
(/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) y))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) x))
(fma.f64 x #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(fma.f64 y #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) y))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) x))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 x y)
(+.f64 y x)
(*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) (+.f64 x y))
(*.f64 (+.f64 x y) #s(approx (+ z 1) #s(literal 1 binary64)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) #s(approx (+ z 1) #s(literal 1 binary64))) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) #s(approx (+ z 1) #s(literal 1 binary64))) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) #s(approx (+ z 1) #s(literal 1 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) #s(approx (+ z 1) #s(literal 1 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(approx (+ z 1) #s(literal 1 binary64)) x (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) y))
(fma.f64 #s(approx (+ z 1) #s(literal 1 binary64)) y (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) x))
(fma.f64 x #s(approx (+ z 1) #s(literal 1 binary64)) (*.f64 y #s(approx (+ z 1) #s(literal 1 binary64))))
(fma.f64 y #s(approx (+ z 1) #s(literal 1 binary64)) (*.f64 x #s(approx (+ z 1) #s(literal 1 binary64))))
(+.f64 (*.f64 x #s(approx (+ z 1) #s(literal 1 binary64))) (*.f64 y #s(approx (+ z 1) #s(literal 1 binary64))))
(+.f64 (*.f64 y #s(approx (+ z 1) #s(literal 1 binary64))) (*.f64 x #s(approx (+ z 1) #s(literal 1 binary64))))
(+.f64 (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) x) (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) y))
(+.f64 (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) y) (*.f64 #s(approx (+ z 1) #s(literal 1 binary64)) x))
(*.f64 (*.f64 (+.f64 x y) #s(literal -1 binary64)) #s(literal -1 binary64))
(*.f64 (+.f64 x y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (+.f64 x y))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x y)))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 y x)) #s(literal 1 binary64)) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 x y) (-.f64 x y)) #s(literal 1 binary64)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 x y) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.f64 (neg.f64 (*.f64 (+.f64 x y) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 x y) (-.f64 y x)) (-.f64 y x))
(/.f64 (*.f64 (+.f64 x y) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) y))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) x))
(fma.f64 x #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(fma.f64 y #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) y))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) x))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 x y)
(+.f64 y x)
#s(approx (+ z 1) #s(literal 1 binary64))
#s(literal 1 binary64)

eval29.0ms (0.8%)

Memory
-4.9MiB live, 92.3MiB allocated; 7ms collecting garbage
Compiler

Compiled 4 612 to 655 computations (85.8% saved)

prune7.0ms (0.2%)

Memory
-25.3MiB live, 22.0MiB allocated; 1ms collecting garbage
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New2473250
Fresh000
Picked145
Done000
Total2487255
Accuracy
100.0%
Counts
255 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.2%
(*.f64 (+.f64 x y) #s(approx (+ z 1) #s(literal 1 binary64)))
50.6%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y (*.f64 x z)))
53.4%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
51.5%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
51.0%
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
28.2%
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
28.1%
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
Compiler

Compiled 94 to 71 computations (24.5% saved)

series7.0ms (0.2%)

Memory
18.1MiB live, 18.1MiB allocated; 0ms collecting garbage
Counts
11 → 23
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ y x) z) (*.f64 x z))
(*.f64 x z)
x
z
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
#s(approx (* (+ y x) z) (*.f64 y z))
(*.f64 y z)
y
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y (*.f64 x z)))
(fma.f64 z y (*.f64 x z))
Outputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(* y z)
(+ (* x z) (* y z))
(* x z)
x
(* x (+ 1 z))
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x (+ z (/ (* y z) x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (+ (* -1 z) (* -1 (/ (* y z) x)))))
y
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ z (/ (* x z) y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (+ (* -1 z) (* -1 (/ (* x z) y)))))
(+ x y)
(+ x (+ y (* z (+ x y))))
(* z (+ x y))
z
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ (* -1 x) (* -1 y))))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@-inf
((* (+ x y) (+ z 1)) (* (+ y x) z) (* x z) x z (* (+ x y) (+ z 1)) (* (+ y x) z) (* y z) y (* (+ x y) (+ z 1)) (+ (* z y) (* x z)))
1.0ms
z
@inf
((* (+ x y) (+ z 1)) (* (+ y x) z) (* x z) x z (* (+ x y) (+ z 1)) (* (+ y x) z) (* y z) y (* (+ x y) (+ z 1)) (+ (* z y) (* x z)))
1.0ms
x
@-inf
((* (+ x y) (+ z 1)) (* (+ y x) z) (* x z) x z (* (+ x y) (+ z 1)) (* (+ y x) z) (* y z) y (* (+ x y) (+ z 1)) (+ (* z y) (* x z)))
1.0ms
y
@-inf
((* (+ x y) (+ z 1)) (* (+ y x) z) (* x z) x z (* (+ x y) (+ z 1)) (* (+ y x) z) (* y z) y (* (+ x y) (+ z 1)) (+ (* z y) (* x z)))
1.0ms
x
@inf
((* (+ x y) (+ z 1)) (* (+ y x) z) (* x z) x z (* (+ x y) (+ z 1)) (* (+ y x) z) (* y z) y (* (+ x y) (+ z 1)) (+ (* z y) (* x z)))

simplify127.0ms (3.4%)

Memory
-9.7MiB live, 145.1MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065113
1275113
21128113
34399113
08323111
Stop Event
iter limit
node limit
Counts
23 → 20
Calls
Call 1
Inputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(* y z)
(+ (* x z) (* y z))
(* x z)
x
(* x (+ 1 z))
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x (+ z (/ (* y z) x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (+ (* -1 z) (* -1 (/ (* y z) x)))))
y
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ z (/ (* x z) y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (+ (* -1 z) (* -1 (/ (* x z) y)))))
(+ x y)
(+ x (+ y (* z (+ x y))))
(* z (+ x y))
z
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(* -1 (* z (+ (* -1 x) (* -1 y))))
Outputs
(* y (+ 1 z))
(fma.f64 z y y)
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* y z)
(*.f64 z y)
(+ (* x z) (* y z))
(*.f64 z (+.f64 y x))
(* x z)
(*.f64 z x)
x
(* x (+ 1 z))
(fma.f64 z x x)
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* x (+ z (/ (* y z) x)))
(*.f64 z (+.f64 y x))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* -1 (* x (+ (* -1 z) (* -1 (/ (* y z) x)))))
(*.f64 z (+.f64 y x))
y
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* y (+ z (/ (* x z) y)))
(*.f64 z (+.f64 y x))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* -1 (* y (+ (* -1 z) (* -1 (/ (* x z) y)))))
(*.f64 z (+.f64 y x))
(+ x y)
(+.f64 y x)
(+ x (+ y (* z (+ x y))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* z (+ x y))
(*.f64 z (+.f64 y x))
z
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* -1 (* z (+ (* -1 x) (* -1 y))))
(*.f64 z (+.f64 y x))

rewrite37.0ms (1%)

Memory
7.5MiB live, 53.7MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01781
02181
18679
070479
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
11 → 45
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ y x) z) (*.f64 x z))
(*.f64 x z)
x
z
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
#s(approx (* (+ y x) z) (*.f64 y z))
(*.f64 y z)
y
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y (*.f64 x z)))
(fma.f64 z y (*.f64 x z))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 z x)))
#s(approx (* (+ y x) z) (*.f64 z x))
(*.f64 z x)
(*.f64 x z)
x
z
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 z y)))
#s(approx (* (+ y x) z) (*.f64 z y))
(*.f64 z y)
(*.f64 y z)
y
#s(approx (* (+ x y) (+ z 1)) (*.f64 z (+.f64 y x)))
(*.f64 z (-.f64 y (neg.f64 x)))
(*.f64 z (+.f64 y x))
(*.f64 (+.f64 y x) z)
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 y x)) z) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) z) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) z) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) z) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 z (*.f64 (+.f64 y x) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 z (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 z (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 z (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))) (-.f64 (*.f64 z x) (*.f64 z y)))
(/.f64 (-.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) z) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 (*.f64 z y) (*.f64 (neg.f64 x) z)))))
(/.f64 (neg.f64 (*.f64 (*.f64 z (+.f64 y x)) (*.f64 z (-.f64 y x)))) (neg.f64 (*.f64 z (-.f64 y x))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))))
(/.f64 (*.f64 (*.f64 z (+.f64 y x)) (*.f64 z (-.f64 y x))) (*.f64 z (-.f64 y x)))
(/.f64 (+.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 z y) x) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (pow.f64 (*.f64 z y) #s(literal 3 binary64))) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64))))
(fma.f64 z y (*.f64 (neg.f64 (neg.f64 x)) z))
(fma.f64 z y (*.f64 z x))
(fma.f64 z x (*.f64 z y))
(fma.f64 y z (*.f64 (neg.f64 (neg.f64 x)) z))
(fma.f64 y z (*.f64 z x))
(fma.f64 x z (*.f64 z y))
(-.f64 (/.f64 (pow.f64 (*.f64 z y) #s(literal 2 binary64)) (*.f64 z (-.f64 y x))) (/.f64 (pow.f64 (*.f64 z x) #s(literal 2 binary64)) (*.f64 z (-.f64 y x))))
(-.f64 (*.f64 z y) (*.f64 (neg.f64 z) x))
(-.f64 (*.f64 z y) (*.f64 (neg.f64 x) z))
(-.f64 (*.f64 z x) (*.f64 (neg.f64 z) y))
(-.f64 (*.f64 z x) (*.f64 (neg.f64 y) z))
(+.f64 (/.f64 (pow.f64 (*.f64 z y) #s(literal 3 binary64)) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 z x) #s(literal 3 binary64)) (fma.f64 (*.f64 z x) (-.f64 (*.f64 z x) (*.f64 z y)) (pow.f64 (*.f64 z y) #s(literal 2 binary64)))))
(+.f64 (*.f64 z y) (*.f64 (neg.f64 (neg.f64 x)) z))
(+.f64 (*.f64 z y) (*.f64 z x))
(+.f64 (*.f64 z x) (*.f64 z y))

eval6.0ms (0.2%)

Memory
11.8MiB live, 11.8MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 174 to 167 computations (85.8% saved)

prune6.0ms (0.2%)

Memory
-34.1MiB live, 11.1MiB allocated; 3ms collecting garbage
Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New59160
Fresh000
Picked033
Done134
Total60767
Accuracy
100.0%
Counts
67 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
50.6%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y (*.f64 x z)))
53.4%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
51.5%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
51.2%
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
51.0%
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
28.2%
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
28.1%
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
Compiler

Compiled 96 to 71 computations (26% saved)

series2.0ms (0.1%)

Memory
6.9MiB live, 6.9MiB allocated; 0ms collecting garbage
Counts
4 → 18
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
(+.f64 y x)
y
x
Outputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
y
(+ x y)
x
(* x (+ 1 z))
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x (+ 1 (/ y x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ 1 (/ x y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+ x (+ y (* z (+ x y))))
(* z (+ x y))
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
((* (+ x y) (+ z 1)) (+ y x) y x)
0.0ms
y
@-inf
((* (+ x y) (+ z 1)) (+ y x) y x)
0.0ms
x
@inf
((* (+ x y) (+ z 1)) (+ y x) y x)
0.0ms
y
@inf
((* (+ x y) (+ z 1)) (+ y x) y x)
0.0ms
z
@-inf
((* (+ x y) (+ z 1)) (+ y x) y x)

simplify140.0ms (3.8%)

Memory
28.5MiB live, 126.6MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05688
122088
2106088
3416488
0871686
Stop Event
iter limit
node limit
Counts
18 → 16
Calls
Call 1
Inputs
(* y (+ 1 z))
(+ (* x (+ 1 z)) (* y (+ 1 z)))
y
(+ x y)
x
(* x (+ 1 z))
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(* x (+ 1 (/ y x)))
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(* y (+ 1 (/ x y)))
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+ x (+ y (* z (+ x y))))
(* z (+ x y))
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
Outputs
(* y (+ 1 z))
(fma.f64 z y y)
(+ (* x (+ 1 z)) (* y (+ 1 z)))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
y
(+ x y)
(+.f64 y x)
x
(* x (+ 1 z))
(fma.f64 z x x)
(* x (+ 1 (+ z (/ (* y (+ 1 z)) x))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* -1 (* x (+ (* -1 (+ 1 z)) (* -1 (/ (* y (+ 1 z)) x)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* y (+ 1 (+ z (/ (* x (+ 1 z)) y))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* -1 (* y (+ (* -1 (+ 1 z)) (* -1 (/ (* x (+ 1 z)) y)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(+ x (+ y (* z (+ x y))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* z (+ x y))
(*.f64 z (+.f64 y x))
(* z (+ x (+ y (+ (/ x z) (/ y z)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))
(* -1 (* z (+ (* -1 (+ x y)) (* -1 (/ (+ x y) z)))))
(*.f64 (-.f64 z #s(literal -1 binary64)) (+.f64 y x))

rewrite33.0ms (0.9%)

Memory
-20.3MiB live, 24.9MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
01016
15516
052716
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
4 → 35
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
(+.f64 y x)
y
x
Outputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
(*.f64 #s(literal 1 binary64) (+.f64 y x))
(*.f64 (+.f64 y x) #s(literal 1 binary64))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 y x)) #s(literal 1 binary64)) (-.f64 y x))
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) #s(literal 1 binary64)) (-.f64 x y))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 y x) (-.f64 y x))) (-.f64 y x))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 y x))) (neg.f64 (-.f64 y x)))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (-.f64 x y))) (neg.f64 (-.f64 x y)))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x y) (*.f64 y y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 y (-.f64 y x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 y x)) (-.f64 y x))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (-.f64 x y))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x y) (*.f64 y y)))
(/.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(fma.f64 #s(literal 1 binary64) y (*.f64 #s(literal 1 binary64) x))
(fma.f64 #s(literal 1 binary64) x (*.f64 #s(literal 1 binary64) y))
(fma.f64 y #s(literal 1 binary64) (*.f64 x #s(literal 1 binary64)))
(fma.f64 x #s(literal 1 binary64) (*.f64 y #s(literal 1 binary64)))
(-.f64 (/.f64 (*.f64 y y) (-.f64 y x)) (/.f64 (*.f64 x x) (-.f64 y x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x y)) (/.f64 (*.f64 y y) (-.f64 x y)))
(+.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 x #s(literal 1 binary64)))
(+.f64 (*.f64 x #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) x))
(+.f64 (*.f64 #s(literal 1 binary64) x) (*.f64 #s(literal 1 binary64) y))
(+.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x y) (*.f64 y y))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 y (-.f64 y x) (*.f64 x x))))
(+.f64 y x)
(+.f64 x y)
y
x

eval4.0ms (0.1%)

Memory
7.8MiB live, 7.8MiB allocated; 0ms collecting garbage
Compiler

Compiled 744 to 122 computations (83.6% saved)

prune5.0ms (0.1%)

Memory
9.7MiB live, 9.7MiB allocated; 0ms collecting garbage
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New40040
Fresh000
Picked011
Done066
Total40747
Accuracy
100.0%
Counts
47 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
50.6%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y (*.f64 x z)))
53.4%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
51.5%
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
51.2%
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
51.0%
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
28.2%
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
28.1%
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
Compiler

Compiled 218 to 106 computations (51.4% saved)

regimes31.0ms (0.8%)

Memory
0.1MiB live, 44.9MiB allocated; 4ms collecting garbage
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 x y) #s(approx (+ z 1) #s(literal 1 binary64)))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y (*.f64 x z)))
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(fma.f64 (-.f64 z #s(literal -1 binary64)) y (*.f64 (-.f64 z #s(literal -1 binary64)) x))
Outputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Calls

6 calls:

13.0ms
y
4.0ms
x
3.0ms
z
3.0ms
(+.f64 x y)
3.0ms
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
100.0%1(+.f64 z #s(literal 1 binary64))
100.0%1(+.f64 x y)
100.0%1(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
100.0%1x
100.0%1y
100.0%1z
Compiler

Compiled 16 to 25 computations (-56.3% saved)

regimes45.0ms (1.2%)

Memory
-6.3MiB live, 40.4MiB allocated; 2ms collecting garbage
Counts
8 → 2
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
#s(approx (* (+ x y) (+ z 1)) (*.f64 (+.f64 y x) z))
(*.f64 (+.f64 x y) #s(approx (+ z 1) #s(literal 1 binary64)))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y (*.f64 x z)))
Outputs
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y))
Calls

6 calls:

31.0ms
x
3.0ms
(+.f64 x y)
3.0ms
y
3.0ms
z
3.0ms
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
98.6%3(+.f64 z #s(literal 1 binary64))
98.9%2(+.f64 x y)
87.4%4(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
82.8%2x
84.1%2y
98.6%3z
Compiler

Compiled 16 to 25 computations (-56.3% saved)

regimes33.0ms (0.9%)

Memory
-28.7MiB live, 28.4MiB allocated; 3ms collecting garbage
Counts
4 → 4
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
Calls

6 calls:

21.0ms
x
2.0ms
(+.f64 x y)
2.0ms
y
2.0ms
z
2.0ms
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
Results
AccuracySegmentsBranch
68.5%3x
67.9%3y
70.8%3(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
79.1%4(+.f64 z #s(literal 1 binary64))
79.1%4z
80.3%5(+.f64 x y)
Compiler

Compiled 16 to 25 computations (-56.3% saved)

regimes3.0ms (0.1%)

Memory
7.5MiB live, 7.5MiB allocated; 0ms collecting garbage
Counts
3 → 5
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))
Calls

2 calls:

2.0ms
z
1.0ms
(+.f64 z #s(literal 1 binary64))
Results
AccuracySegmentsBranch
80.4%5(+.f64 z #s(literal 1 binary64))
80.4%5z
Compiler

Compiled 4 to 8 computations (-100% saved)

regimes4.0ms (0.1%)

Memory
10.3MiB live, 10.3MiB allocated; 0ms collecting garbage
Counts
2 → 3
Calls
Call 1
Inputs
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
Outputs
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
#s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))
Calls

3 calls:

1.0ms
z
1.0ms
(+.f64 x y)
1.0ms
(+.f64 z #s(literal 1 binary64))
Results
AccuracySegmentsBranch
55.8%3(+.f64 x y)
75.9%3(+.f64 z #s(literal 1 binary64))
75.9%3z
Compiler

Compiled 7 to 12 computations (-71.4% saved)

regimes6.0ms (0.2%)

Memory
15.0MiB live, 15.0MiB allocated; 0ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

6 calls:

1.0ms
(+.f64 x y)
1.0ms
z
1.0ms
x
1.0ms
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
1.0ms
y
Results
AccuracySegmentsBranch
51.2%1(+.f64 x y)
51.2%1y
51.2%1x
51.2%1(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
51.2%1(+.f64 z #s(literal 1 binary64))
51.2%1z
Compiler

Compiled 16 to 25 computations (-56.3% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-4.977974909714325e-282
2.206986105458025e-249
Compiler

Compiled 10 to 13 computations (-30% saved)

bsearch54.0ms (1.4%)

Memory
1.1MiB live, 48.0MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
1.457486445730957e+137
1.9537130701756832e+145
11.0ms
1.3439191183001415e-8
29.90618188265703
28.0ms
-11395102892733358000.0
-1.7208138457029379e-6
Samples
34.0ms464×0valid
Compiler

Compiled 786 to 653 computations (16.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-mult: 18.0ms (77.6% of total)
ival-add: 5.0ms (21.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch65.0ms (1.7%)

Memory
1.8MiB live, 49.0MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.457486445730957e+137
1.9537130701756832e+145
12.0ms
2.5536631338401553e+47
8.149447454868856e+57
49.0ms
29.90618188265703
133086.26309103277
1.0ms
-11395102892733358000.0
-1.7208138457029379e-6
Samples
12.0ms288×0valid
Compiler

Compiled 1 188 to 944 computations (20.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-add: 3.0ms (58.6% of total)
ival-mult: 2.0ms (39.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch15.0ms (0.4%)

Memory
-16.0MiB live, 28.6MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
19820119644369.758
23426178831128056.0
1.0ms
-11395102892733358000.0
-1.7208138457029379e-6
Samples
8.0ms128×0valid
Compiler

Compiled 542 to 450 computations (17% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-add: 1.0ms (43% of total)
ival-mult: 1.0ms (43% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify52.0ms (1.4%)

Memory
5.7MiB live, 53.4MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048233
167233
2104233
3374233
41697233
57318233
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(if (<=.f64 (+.f64 x y) #s(literal -653996952628337/163499238157084246970890052651977815332245607254872681799888670100456398181905536269103756533156716633238933245476249210386222120009203192687752953715493389952614864728152938620316690140722215910002962984513038253533659992483501702257775023591263777382983344691261934931342007929269781293292322816 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y)))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) (if (<=.f64 z #s(literal 3929008913747545/75557863725914323419136 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) (if (<=.f64 z #s(literal 1800000000000000064403260230890855733791945083709469370549401630979994366695008754174448698020400109432622792129502662822296979341767551746048 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z))))))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) (if (<=.f64 z #s(literal 102 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) (if (<=.f64 z #s(literal 2999999999999999979662846023084883929385125325832192 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z))) (if (<=.f64 z #s(literal 1800000000000000064403260230890855733791945083709469370549401630979994366695008754174448698020400109432622792129502662822296979341767551746048 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))))))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) (if (<=.f64 z #s(literal 20000000000000 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))
Outputs
(*.f64 (+.f64 x y) (+.f64 z #s(literal 1 binary64)))
(if (<=.f64 (+.f64 x y) #s(literal -653996952628337/163499238157084246970890052651977815332245607254872681799888670100456398181905536269103756533156716633238933245476249210386222120009203192687752953715493389952614864728152938620316690140722215910002962984513038253533659992483501702257775023591263777382983344691261934931342007929269781293292322816 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z y y)))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) (if (<=.f64 z #s(literal 3929008913747545/75557863725914323419136 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) (if (<=.f64 z #s(literal 1800000000000000064403260230890855733791945083709469370549401630979994366695008754174448698020400109432622792129502662822296979341767551746048 binary64)) #s(approx (* (+ x y) (+ z 1)) (fma.f64 z x x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z))))))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) (if (<=.f64 z #s(literal 102 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) (if (<=.f64 z #s(literal 2999999999999999979662846023084883929385125325832192 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z))) (if (<=.f64 z #s(literal 1800000000000000064403260230890855733791945083709469370549401630979994366695008754174448698020400109432622792129502662822296979341767551746048 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z)))))))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) (if (<=.f64 z #s(literal 102 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) (if (or (<=.f64 z #s(literal 2999999999999999979662846023084883929385125325832192 binary64)) (not (<=.f64 z #s(literal 1800000000000000064403260230890855733791945083709469370549401630979994366695008754174448698020400109432622792129502662822296979341767551746048 binary64)))) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 y z))) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))))))
(if (<=.f64 z #s(literal -1 binary64)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) (if (<=.f64 z #s(literal 20000000000000 binary64)) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z)))))
(if (or (<=.f64 z #s(literal -1 binary64)) (not (<=.f64 z #s(literal 20000000000000 binary64)))) #s(approx (* (+ x y) (+ z 1)) #s(approx (* (+ y x) z) (*.f64 x z))) #s(approx (* (+ x y) (+ z 1)) (+.f64 y x)))
#s(approx (* (+ x y) (+ z 1)) (+.f64 y x))

derivations338.0ms (9.1%)

Memory
15.0MiB live, 281.4MiB allocated; 68ms collecting garbage
Stop Event
done
Compiler

Compiled 233 to 51 computations (78.1% saved)

preprocess54.0ms (1.5%)

Memory
-22.2MiB live, 128.8MiB allocated; 33ms collecting garbage
Remove

(sort x y)

Compiler

Compiled 508 to 144 computations (71.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...