*/
    private static void doFM16(SIRStream str) {	RawFlattener rawFlattener;	System.err.println("Working on FM 16...");	rawFlattener = new RawFlattener(str);	rawFlattener.dumpGraph("before-adjust.dot");	System.err.println("\nBEFORE: " + rawFlattener.getNumTiles() + 			   " tiles");	WorkEstimate.getWorkEstimate(str).printWork();	// fizzzzz the low-pass filter	SIRFilter lowPass = (SIRFilter)Namer.getStream("LowPassFilter_2_1");	StatelessDuplicate.doit(lowPass, 4);	// constant-prop through new filters	ConstantProp.propagateAndUnroll(lowPass.getParent());	FieldProp.doPropagate((lowPass.getParent()));	// fuse the last three filters	SIRFilter adder = (SIRFilter)Namer.getStream("FloatSubtract_2_3_2");	SIRFilter printer = (SIRFilter)Namer.getStream("FloatPrinter_2_3_4");	FusePipe.fuse(adder, printer);	Namer.assignNames(str);	rawFlattener = new RawFlattener(str);	rawFlattener.dumpGraph("after-adjust.dot");	System.err.println("\nAFTER: " + rawFlattener.getNumTiles() + 			   " tiles");	WorkEstimate.getWorkEstimate(str).printWork();	System.out.println("Here's the new IR: ");	SIRPrinter printer1 = new SIRPrinter();	str.accept(printer1);	printer1.close();    }