anchor.diff:  
   open System.Collections.Generic
   
  -
  -
  +#if BUILDING_PROTO
   let verboseOptimizationInfo = 
  -#if BUILDING_PROTO
       try not (System.String.IsNullOrEmpty (System.Environment.GetEnvironmentVariable "FSHARP_verboseOptimizationInfo"))  with _ -> false
  -#else
  -    false
  -#endif
   let verboseOptimizations = 
  -#if BUILDING_PROTO
       try not (System.String.IsNullOrEmpty (System.Environment.GetEnvironmentVariable "FSHARP_verboseOptimizations")) with _ -> false
   #else
  -    false
  +let [<Literal>] verboseOptimizationInfo = false
  +let [<Literal>] verboseOptimizations = false
   #endif
   
   let i_ldlen = [ I_ldlen; (AI_conv DT_I4)  ] 
   
  -let callSize = 1  // size of a function call 
  -let forAndWhileLoopSize = 5 // size of a for/while loop
  -let tryCatchSize = 5  // size of a try/catch 
  -let tryFinallySize = 5 // size of a try/finally
  -let closureTotalSize = 10 // Total cost of a closure. Each closure adds a class definition
  -let methodDefnTotalSize = 1  // Total cost of a method definition
  +let [<Literal>] callSize = 1  // size of a function call 
  +let [<Literal>] forAndWhileLoopSize = 5 // size of a for/while loop
  +let [<Literal>] tryCatchSize = 5  // size of a try/catch 
  +let [<Literal>] tryFinallySize = 5 // size of a try/finally
  +let [<Literal>] closureTotalSize = 10 // Total cost of a closure. Each closure adds a class definition
  +let [<Literal>] methodDefnTotalSize = 1  // Total cost of a method definition
   
   //-------------------------------------------------------------------------
   // Partial information about an expression.
  
positive.code: // What we know about the world 
  //------------------------------------------------------------------------- 
  
  let jitOptDefault = true
  let localOptDefault = true
  let crossModuleOptDefault = true
  
  type OptimizationSettings = 
      { abstractBigTargets : bool;
  
negative.code: //------------------------------------------------------------------------- 
  
  // Mark some variables (the ones we introduce via abstractBigTargets) as don't-eliminate 
  let [<Literal>] suffixForVariablesThatMayNotBeEliminated = "$cont"
  
  /// Type applications of F# "type functions" may cause side effects, e.g. 
  /// let x<'a> = printfn "hello"; typeof<'a> 
  