public static void computeExpression(String factorType, String factorTailType, String operator) throws Exception {
		// fixed acts the same as a float, so convert so we can compare
		if(factorType.equals("MP_FIXED")){ 
			factorType = "MP_FLOAT";
		}
		
		if(factorTailType.equals("MP_FIXED")){
			factorTailType = "MP_FLOAT";
		}
		
		// check for type compatibility
		if(factorType.equals(factorTailType)) {
			// do nothing
		} else if(factorType.equals("MP_FLOAT") && factorTailType.equals("MP_INTEGER")) {
			bw.write("CASTSF\n");
		} else if (factorType.equals("MP_INTEGER") && factorTailType.equals("MP_FLOAT")) {
			bw.write("CASTSI\n");
		} else {
			throw new Exception("incompatible types");
		}
		
		// add F to the instruction to deal with a float
		if(factorType.equals("MP_FLOAT")) {
			operator += "F";
		}
		
		bw.write(operator + "\n");
	}