-var88 = ((val* (*)(val*))(var_opt_global->class->vft[COLOR_opts__Option__value]))(var_opt_global) /* value on <var_opt_global:OptionBool>*/;
-var89 = ((struct instance_kernel__Bool*)var88)->value; /* autounbox from nullable Object to Bool */;
-if (var89){
-var90 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_rapid_type_analysis__ModelBuilder__do_rapid_type_analysis]))(var_modelbuilder, var_mainmodule) /* do_rapid_type_analysis on <var_modelbuilder:ModelBuilder>*/;
-var_analysis = var90;
+var87 = 1; /* arg is null and recv is not */
+}
+var_ = var87;
+if (var87){
+var88 = ((short int (*)(val*))(var_platform->class->vft[COLOR_platform__Platform__supports_libunwind]))(var_platform) /* supports_libunwind on <var_platform:nullable Platform(Platform)>*/;
+var89 = !var88;
+var85 = var89;
+} else {
+var85 = var_;
+}
+if (var85){
+var90 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace]))(var_toolcontext) /* opt_no_stacktrace on <var_toolcontext:ToolContext>*/;
+var91 = 1;
+var92 = BOX_kernel__Bool(var91); /* autobox from Bool to nullable Object */
+((void (*)(val*, val*))(var90->class->vft[COLOR_opts__Option__value_61d]))(var90, var92) /* value= on <var90:OptionBool>*/;
+var93 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_abstract_compiler__ToolContext__opt_stacktrace]))(var_toolcontext) /* opt_stacktrace on <var_toolcontext:ToolContext>*/;
+var94 = 0;
+var95 = BOX_kernel__Bool(var94); /* autobox from Bool to nullable Object */
+((void (*)(val*, val*))(var93->class->vft[COLOR_opts__Option__value_61d]))(var93, var95) /* value= on <var93:OptionBool>*/;
+} else {
+}
+var96 = ((val* (*)(val*))(var_toolcontext->class->vft[COLOR_separate_erasure_compiler__ToolContext__opt_erasure]))(var_toolcontext) /* opt_erasure on <var_toolcontext:ToolContext>*/;
+var97 = ((val* (*)(val*))(var96->class->vft[COLOR_opts__Option__value]))(var96) /* value on <var96:OptionBool>*/;
+var98 = ((struct instance_kernel__Bool*)var97)->value; /* autounbox from nullable Object to Bool */;
+if (var98){
+var99 = NULL;
+((void (*)(val*, val*, val*))(var_modelbuilder->class->vft[COLOR_separate_erasure_compiler__ModelBuilder__run_separate_erasure_compiler]))(var_modelbuilder, var_mainmodule, var99) /* run_separate_erasure_compiler on <var_modelbuilder:ModelBuilder>*/;
+} else {
+var100 = ((val* (*)(val*))(var_opt_global->class->vft[COLOR_opts__Option__value]))(var_opt_global) /* value on <var_opt_global:OptionBool>*/;
+var101 = ((struct instance_kernel__Bool*)var100)->value; /* autounbox from nullable Object to Bool */;
+if (var101){
+var102 = ((val* (*)(val*, val*))(var_modelbuilder->class->vft[COLOR_rapid_type_analysis__ModelBuilder__do_rapid_type_analysis]))(var_modelbuilder, var_mainmodule) /* do_rapid_type_analysis on <var_modelbuilder:ModelBuilder>*/;
+var_analysis = var102;