DivideExpression div1 = new DivideExpression(plan, constant1, constant2) ;
CastExpression cast1 = new CastExpression(plan, constant3, createFS(DataType.DOUBLE));
NotEqualExpression notequal1 = new NotEqualExpression(plan, div1, cast1) ;
CompilationMessageCollector collector = new CompilationMessageCollector() ;
TypeCheckingExpVisitor expTypeChecker = new TypeCheckingExpVisitor(plan, collector, null);
expTypeChecker.visit();
printMessageCollector(collector) ;
//printTypeGraph(plan) ;
if (collector.hasError()) {
throw new Exception("Error during type checking") ;