fw.write("  raw_init();\n"); fw.write("  raw_init2();\n");
if (!KjcOptions.magic_net) { fw.write("  raw_init();\n"); fw.write("  raw_init2();\n"); } else fw.write("  __asm__ volatile (\"magc $0, $0, 1\");\n");
    private static void joinerCode(FlatNode joiner)     {	try {	    FileWriter fw = 		new FileWriter("tile" + Layout.getTileNumber(Layout.getTile(joiner)) 			       + ".c");	    fw.write("/* " + joiner.contents.getName() + "*/\n");	    fw.write("#include <raw.h>\n");	    fw.write("#include <math.h>\n\n");	    //	    fw.write("static inline void static_send_from_mem(void *val) instr_one_input(\"lw $csto,0(%0)\");\n");	    //fw.write("static inline void static_receive_to_mem(void *val) instr_one_input(\"sw $csti,0(%0)\");\n");	    if (joiner.contents.getParent() instanceof SIRFeedbackLoop)		fw.write(createInitPath(joiner) + "\n");	    	    fw.write(createJoinerWork(joiner));	    //write the extern for the function to init the 	    //switch	    fw.write("void raw_init();\n\n");            fw.write("void raw_init2();\n\n");	    fw.write("void begin(void) {\n");	    fw.write("  raw_init();\n");            fw.write("  raw_init2();\n");	    fw.write("  work();\n");	    fw.write("}\n");	    fw.close();	    System.out.println("Code for " + joiner.contents.getName() +			       " written to tile" + Layout.getTileNumber(Layout.getTile(joiner)) +			       ".c");	}	catch (Exception e) {	    e.printStackTrace();	    	    Utils.fail("Error writing switch code for tile " +		       Layout.getTileNumber(Layout.getTile(joiner)));	}    }