Fix problems with benchmarks

Signed-off-by: Gavin Howard <gavin@yzena.com>
diff --git a/benchmarks/bc/add.bc b/benchmarks/bc/add.bc
index 094dac1..90a83e4 100644
--- a/benchmarks/bc/add.bc
+++ b/benchmarks/bc/add.bc
@@ -5,8 +5,13 @@
 print "len = length(x) + 1 + scale\n"
 print "len *= 2\n"
 
+scale = 20
+x = 1234567890 / scale
+len = length(x) + 1 + scale
+len *= 2
+
 for (i = 0; i <= len; ++i) {
-	print "a[", i, "] = x * (10^", i ")\n"
+	print "a[", i, "] = x * (10^", i, ")\n"
 }
 
 for (i = 1; i <= 10000; ++i) {
diff --git a/benchmarks/bc/divide.bc b/benchmarks/bc/divide.bc
index c266981..227794b 100644
--- a/benchmarks/bc/divide.bc
+++ b/benchmarks/bc/divide.bc
@@ -3,6 +3,11 @@
 print "scale = 20\n"
 print "x = 1234567890 * 10^(-scale)\n"
 print "len = 1 + 2 * scale\n"
+print "scale += 10\n"
+
+scale = 20
+x = 1234567890 * 10^(-scale)
+len = 1 + 2 * scale
 
 scale += 10
 
diff --git a/benchmarks/bc/multiply.bc b/benchmarks/bc/multiply.bc
index 6882ced..d4ed08e 100644
--- a/benchmarks/bc/multiply.bc
+++ b/benchmarks/bc/multiply.bc
@@ -4,6 +4,10 @@
 print "x = 1234567890 / scale\n"
 print "len = length(x) + 1 + scale\n"
 
+scale = 20
+x = 1234567890 / scale
+len = length(x) + 1 + scale
+
 for (i = 0; i <= len; ++i) {
 	print "a[", i, "] = x * (10^", i, ")\n"
 }
@@ -12,7 +16,7 @@
 	for (j = 0; j < len; ++j) {
 		print "v = a[0] * a[", j, "]\n"
 		print "v = a[", i, "] * a[", j, "]\n"
-		print "v = a[0] * ", i, ") * a[", j, "]\n"
+		print "v = (a[0] * ", i, ") * a[", j, "]\n"
 		print "v = a[0] * (a[", j, "] * ", i, ")\n"
 		print "v = (a[0] * ", i, ") * (a[", j, "] * ", i, ")\n"
 	}
diff --git a/benchmarks/bc/subtract.bc b/benchmarks/bc/subtract.bc
index 4214403..b88bd60 100644
--- a/benchmarks/bc/subtract.bc
+++ b/benchmarks/bc/subtract.bc
@@ -5,6 +5,11 @@
 print "len = length(x) + 1 + scale\n"
 print "len *= 2\n"
 
+scale = 20
+x = 1234567890 / scale
+len = length(x) + 1 + scale
+len *= 2
+
 for (i = 0; i <= len; ++i) {
 	print "a[", i, "] = x * (10^", i, ")\n"
 }