anchor.diff:                                      + SonarConfig.CyclePeriodMargin
           min maxAllowedCyclePeriod unboundedCyclePeriod
   
  -    module private Native =
  -        open System.Runtime.InteropServices
  -
  -        // NOTE: We'll need to start preloading the appropriate flavor of target
  -        // DLL if we begin to support x64.
  -        [<DllImport(@"Aris.Model.Native.dll", CallingConvention = CallingConvention.StdCall)>]
  -        extern double CalculateSpeedOfSound(double _temperatureC, double _depthM, double _salinityPPT);
  -
   
       [<CompiledName("CalculateSpeedOfSound")>]
       let calculateSpeedOfSound (temperature: float<degC>) (depth: float<m>) (salinity: float) : float<m/s> =
  
positive.code: 
  open SoundMetrics.Aris.Config
  open Microsoft.FSharp.Data.UnitSystems.SI.UnitSymbols
  open System.Diagnostics
  
  module AcousticMath =
  
  
negative.code:         let Z = depth / 1.0<m>
          let S = salinity
  
          AcousticMathDetails.validateDouble T "temperature"
          AcousticMathDetails.validateDouble Z "depth"
          AcousticMathDetails.validateDouble S "salinity"
  
          1.0<m/s> * AcousticMathDetails.calculateSpeedOfSound(T, Z, S)
  
  
      type WindowSize = {
  