 			try interpreter.interpret()
 			
 			if logDebug {
-
-				log("Stack at end of execution:\n\(interpreter.stack)\n")
-
-				log("Registers at end of execution:")
-
-				logRegisters(interpreter)
-
+				logInterpreter(interpreter)
 			}
 			
 		} catch {


	// MARK: -

	public init(logDebug: Bool = false) {
		self.logDebug = logDebug
		compiler = BytecodeCompiler()
	}
	


		interpret(fullBytecode)
		
		if logTime {
			
			let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
			
			let interpretTimeElapsed = CFAbsoluteTimeGetCurrent() - interpretStartTime
			
			log("\nTotal execution time: \(timeElapsed)s")

			log("\nInterpret execution time: \(interpretTimeElapsed)s")

		}
