SIRFilter adder = (SIRFilter)Namer.getStream("FloatSubtract_2_3_2"); SIRFilter printer = (SIRFilter)Namer.getStream("FloatAdder_2_3_3");  FusePipe.fuse(adder, printer);  /*
    private static void doFM16_2(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();	*/	StreamItDot.printGraph(str, "before.dot");	// fizzzzz the low-pass filter	SIRFilter lowPass = (SIRFilter)Namer.getStream("LowPassFilter_2_1");	StatelessDuplicate.doit(lowPass, 2);	// 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("FloatAdder_2_3_3");	//	SIRFilter printer = (SIRFilter)Namer.getStream("FloatPrinter_2_3_4");	FusePipe.fuse(adder, printer);	/*	// fuse the splitjoin in each stream	SIRSplitJoin split1 = (SIRSplitJoin)Namer.getStream("BandPassSplitJoin_2_3_1_2_1");	SIRSplitJoin split2 = (SIRSplitJoin)Namer.getStream("BandPassSplitJoin_2_3_1_3_1");	SIRPipeline pipe1 = (SIRPipeline)split1.getParent();	SIRPipeline pipe2 = (SIRPipeline)split2.getParent();	// fuse the splits	FuseSplit.fuse(split1);	FuseSplit.fuse(split2);		// fuse the results	FusePipe.fuse(pipe1);	FusePipe.fuse(pipe2);	// then fizz it three times	StatelessDuplicate.doit((SIRFilter)pipe1.get(0), 3);	StatelessDuplicate.doit((SIRFilter)pipe2.get(0), 3);	*/	/* this fizzes the lpf's 2 ways each *	   StatelessDuplicate.doit((SIRFilter)Namer.getStream("LowPassFilter_2_3_1_2_1_2"), 2);	   StatelessDuplicate.doit((SIRFilter)Namer.getStream("LowPassFilter_2_3_1_2_1_3"), 2);	   StatelessDuplicate.doit((SIRFilter)Namer.getStream("LowPassFilter_2_3_1_3_1_2"), 2);	   StatelessDuplicate.doit((SIRFilter)Namer.getStream("LowPassFilter_2_3_1_3_1_3"), 2);	   /**/		ConstantProp.propagateAndUnroll(str);	FieldProp.doPropagate(str);		/*	ConstantProp.propagateAndUnroll(pipe2);	FieldProp.doPropagate(pipe2);	*/	Namer.assignNames(str);	StreamItDot.printGraph(str, "after.dot");	/*	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();	*/    }