diff --git a/src/backend/utils/adt/numeric.c b/src/backend/utils/adt/numeric.c
index 5b34bad..64d131f 100644
--- a/src/backend/utils/adt/numeric.c
+++ b/src/backend/utils/adt/numeric.c
@@ -3953,6 +3953,8 @@ makeInt128AggState(FunctionCallInfo fcinfo, bool calcSumX2)
 	MemoryContext agg_context;
 	MemoryContext old_context;
 
+	fprintf(stderr, "makeInt128AggState\n");
+
 	if (!AggCheckCallContext(fcinfo, &agg_context))
 		elog(ERROR, "aggregate function called in non-aggregate context");
 
@@ -3987,6 +3989,18 @@ makeInt128AggStateCurrentContext(bool calcSumX2)
 static void
 do_int128_accum(Int128AggState *state, int128 newval)
 {
+	fprintf(stderr, "do_int128_accum int128 newval as 2 x int64: %ld %ld\n",
+			(int64) (newval >> 64), (int64) newval);
+
+	fprintf(stderr, "do_int128_accum int128 newval bytes: ");
+	unsigned char* byte_array = (void *) &newval;
+	for (int index = 0; index < 16; ++index)
+		fprintf(stderr, "%02X", (unsigned)byte_array[index]);
+	fprintf(stderr, "\n");
+
+	fprintf(stderr, "do_int128_accum state %p\n", state);
+	fprintf(stderr, "do_int128_accum %p\n", &do_int128_accum);
+
 	if (state->calcSumX2)
 		state->sumX2 += newval * newval;
 
@@ -4307,10 +4321,27 @@ int8_avg_accum(PG_FUNCTION_ARGS)
 	if (state == NULL)
 		state = makePolyNumAggState(fcinfo, false);
 
+	int64 val = PG_GETARG_INT64(1);
+	fprintf(stderr, "int8_avg_accum val %ld\n", val);
+
+	int128 val_int128 = (int128) val;
+
+	fprintf(stderr, "int8_avg_accum val_int128 as 2 x int64: %ld %ld\n",
+			(int64) (val_int128 >> 64), (int64) val_int128);
+
+	fprintf(stderr, "int8_avg_accum val_int128 bytes: ");
+	unsigned char* byte_array = (void *) &val_int128;
+	for (int index = 0; index < 16; ++index)
+		fprintf(stderr, "%02X", (unsigned)byte_array[index]);
+	fprintf(stderr, "\n");
+
+	fprintf(stderr, "int8_avg_accum state %p\n", state);
+	fprintf(stderr, "int8_avg_accum %p\n", &int8_avg_accum);
+
 	if (!PG_ARGISNULL(1))
 	{
 #ifdef HAVE_INT128
-		do_int128_accum(state, (int128) PG_GETARG_INT64(1));
+		do_int128_accum(state, val_int128);
 #else
 		Numeric		newval;
 
@@ -4640,6 +4671,7 @@ numeric_poly_sum(PG_FUNCTION_ARGS)
 Datum
 numeric_poly_avg(PG_FUNCTION_ARGS)
 {
+	fprintf(stderr, "numeric_poly_avg\n");
 #ifdef HAVE_INT128
 	PolyNumAggState *state;
 	NumericVar	result;
@@ -6365,6 +6397,17 @@ int128_to_numericvar(int128 val, NumericVar *var)
 	NumericDigit *ptr;
 	int			ndigits;
 
+	fprintf(stderr, "int128_to_numericvar\n");
+
+	fprintf(stderr, "int128_to_numericvar int128 val as 2 x int64: %ld %ld\n",
+			(int64) (val >> 64), (int64) val);
+
+	fprintf(stderr, "int128_to_numericvar int128 val bytes: ");
+	unsigned char* byte_array = (void *) &val;
+	for (int index = 0; index < 16; ++index)
+		fprintf(stderr, "%02X", (unsigned)byte_array[index]);
+	fprintf(stderr, "\n");
+
 	/* int128 can require at most 39 decimal digits; add one for safety */
 	alloc_var(var, 40 / DEC_DIGITS);
 	if (val < 0)
