Index: doc/theses/andrew_beach_MMath/code/CondCatch.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/CondCatch.java	(revision acb38ce9307e682cf9e2f5b10a27e1f8de69a4ed)
+++ doc/theses/andrew_beach_MMath/code/CondCatch.java	(revision 11d4fa560844b8618282ae3c124ef600ad20a493)
@@ -20,4 +20,17 @@
 	}
 
+	private static long loop(int times) {
+		long startTime = System.nanoTime();
+		for (int count = 0 ; count < times ; ++count) {
+			try {
+				cond_catch();
+			} catch (EmptyException exc) {
+				// ...
+			}
+		}
+		long endTime = System.nanoTime();
+		return endTime - startTime;
+	}
+
 	public static void main(String[] args) {
 		int times = 1;
@@ -29,14 +42,9 @@
 		}
 
-		long startTime = System.nanoTime();
-		for (int count = 0 ; count < times ; ++count) {
-			try {
-				cond_catch();
-			} catch (EmptyException exc) {
-				// ...
-			}
-		}
-		long endTime = System.nanoTime();
-		System.out.println("Run-Time (ns) " + (endTime - startTime));
+		// Warm-Up:
+		loop(1000);
+
+		long time = loop(times);
+		System.out.println("Run-Time (ns): " + time);
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/CrossCatch.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/CrossCatch.java	(revision acb38ce9307e682cf9e2f5b10a27e1f8de69a4ed)
+++ doc/theses/andrew_beach_MMath/code/CrossCatch.java	(revision 11d4fa560844b8618282ae3c124ef600ad20a493)
@@ -4,11 +4,7 @@
 
 public class CrossCatch {
-	public static void main(String[] args) {
-		int times = 1;
-		boolean shouldThrow = false;
-		if (0 < args.length) {
-			times = Integer.parseInt(args[0]);
-		}
+	private static boolean shouldThrow = false;
 
+	private static long loop(int times) {
 		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
@@ -22,5 +18,18 @@
 		}
 		long endTime = System.nanoTime();
-		System.out.println("Run-Time (ns) " + (endTime - startTime));
+		return endTime - startTime;
+	}
+
+	public static void main(String[] args) {
+		int times = 1;
+		if (0 < args.length) {
+			times = Integer.parseInt(args[0]);
+		}
+
+		// Warm-Up:
+		loop(1000);
+
+		long time = loop(times);
+		System.out.println("Run-Time (ns): " + time);
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/CrossFinally.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/CrossFinally.java	(revision acb38ce9307e682cf9e2f5b10a27e1f8de69a4ed)
+++ doc/theses/andrew_beach_MMath/code/CrossFinally.java	(revision 11d4fa560844b8618282ae3c124ef600ad20a493)
@@ -2,11 +2,7 @@
 
 public class CrossFinally {
-	public static void main(String[] args) {
-		int times = 1;
-		boolean shouldThrow = false;
-		if (0 < args.length) {
-			times = Integer.parseInt(args[0]);
-		}
+	private static boolean shouldThrow = false;
 
+	private static long loop(int times) {
 		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
@@ -18,5 +14,18 @@
 		}
 		long endTime = System.nanoTime();
-		System.out.println("Run-Time (ns) " + (endTime - startTime));
+		return endTime - startTime;
+	}
+
+	public static void main(String[] args) {
+		int times = 1;
+		if (0 < args.length) {
+			times = Integer.parseInt(args[0]);
+		}
+
+		// Warm-Up:
+		loop(1000);
+
+		long time = loop(times);
+		System.out.println("Run-Time (ns): " + time);
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/ThrowEmpty.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/ThrowEmpty.java	(revision acb38ce9307e682cf9e2f5b10a27e1f8de69a4ed)
+++ doc/theses/andrew_beach_MMath/code/ThrowEmpty.java	(revision 11d4fa560844b8618282ae3c124ef600ad20a493)
@@ -12,4 +12,17 @@
 	}
 
+	private static long loop(int times, int total_frames) {
+		long startTime = System.nanoTime();
+		for (int count = 0 ; count < times ; ++count) {
+			try {
+				unwind_empty(total_frames);
+			} catch (EmptyException e) {
+				// ...
+			}
+		}
+		long endTime = System.nanoTime();
+		return endTime - startTime;
+	}
+
 	public static void main(String[] args) {
 		int times = 1;
@@ -22,14 +35,9 @@
 		}
 
-		long startTime = System.nanoTime();
-		for (int count = 0 ; count < times ; ++count) {
-			try {
-				unwind_empty(total_frames);
-			} catch (EmptyException e) {
-				// ...
-			}
-		}
-		long endTime = System.nanoTime();
-		System.out.println("Run-Time (ns) " + (endTime - startTime));
+		// Warm-Up:
+		loop(1000, total_frames);
+
+		long time = loop(times, total_frames);
+		System.out.println("Run-Time (ns): " + time);
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/ThrowFinally.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/ThrowFinally.java	(revision acb38ce9307e682cf9e2f5b10a27e1f8de69a4ed)
+++ doc/theses/andrew_beach_MMath/code/ThrowFinally.java	(revision 11d4fa560844b8618282ae3c124ef600ad20a493)
@@ -13,4 +13,17 @@
 	}
 
+	private static long loop(int times, int total_frames) {
+		long startTime = System.nanoTime();
+		for (int count = 0 ; count < times ; ++count) {
+			try {
+				unwind_finally(total_frames);
+			} catch (EmptyException e) {
+				// ...
+			}
+		}
+		long endTime = System.nanoTime();
+		return endTime - startTime;
+	}
+
 	public static void main(String[] args) {
 		int times = 1;
@@ -23,14 +36,9 @@
 		}
 
-		long startTime = System.nanoTime();
-		for (int count = 0 ; count < times ; ++count) {
-			try {
-				unwind_finally(total_frames);
-			} catch (EmptyException e) {
-				// ...
-			}
-		}
-		long endTime = System.nanoTime();
-		System.out.println("Run-Time (ns) " + (endTime - startTime));
+		// Warm-Up:
+		loop(1000, total_frames);
+
+		long time = loop(times, total_frames);
+		System.out.println("Run-Time (ns): " + time);
 	}
 }
Index: doc/theses/andrew_beach_MMath/code/ThrowOther.java
===================================================================
--- doc/theses/andrew_beach_MMath/code/ThrowOther.java	(revision acb38ce9307e682cf9e2f5b10a27e1f8de69a4ed)
+++ doc/theses/andrew_beach_MMath/code/ThrowOther.java	(revision 11d4fa560844b8618282ae3c124ef600ad20a493)
@@ -24,14 +24,5 @@
 	}
 
-	public static void main(String[] args) {
-		int times = 1;
-		int total_frames = 1;
-		if (0 < args.length) {
-			times = Integer.parseInt(args[0]);
-		}
-		if (1 < args.length) {
-			total_frames = Integer.parseInt(args[1]);
-		}
-
+	private static long loop(int times, int total_frames) {
 		long startTime = System.nanoTime();
 		for (int count = 0 ; count < times ; ++count) {
@@ -45,5 +36,22 @@
 		}
 		long endTime = System.nanoTime();
-		System.out.println("Run-Time (ns) " + (endTime - startTime));
+		return endTime - startTime;
+	}
+
+	public static void main(String[] args) {
+		int times = 1;
+		int total_frames = 1;
+		if (0 < args.length) {
+			times = Integer.parseInt(args[0]);
+		}
+		if (1 < args.length) {
+			total_frames = Integer.parseInt(args[1]);
+		}
+
+		// Warm-Up:
+		loop(1000, total_frames);
+
+		long time = loop(times, total_frames);
+		System.out.println("Run-Time (ns): " + time);
 	}
 }
