anchor.diff:      let private evaluateWigner (xValue:float) =
           System.Math.PI*0.5*xValue*System.Math.E**(-System.Math.PI*0.25*xValue*xValue)    
   
  -    let private nearesNeighbourSpacing egvLength (uEgv:seq<float>) = 
  +    let private nearestNeighbourSpacing egvLength (uEgv:seq<float>) = 
           uEgv
           |> Seq.map (fun x -> x * float egvLength)
           |> Seq.sort
  
positive.code: 
      open FSharp.Stats
  
      let spectralUnfolding egvalues =  
          let x = [0. .. 0.01 .. 1.] 
          let y = 
              egvalues
              |> Quantile.computePercentiles (Quantile.OfSorted.compute) x
          
          Interpolation.Approximation.approx x y egvalues (Seq.min)
          
  
negative.code:     // bwQuantile uses % data to calculate a more robust histogram
      let compute (bwQuantile : float) accuracy (sigCriterion : float) (m:float[,]) =
  
          let rec stepSearch previousChi left right =
              let thr = (left + right) / 2.
              let chi =
                  m
                  |> Array2D.map (fun v -> if abs v > thr then v else 0.)
                  |> computeChiSquared bwQuantile
  
              if right - left > accuracy then 
                  if chi.PValue <= sigCriterion  then
                      // jump left
                      stepSearch chi left thr
                  else
                      stepSearch previousChi thr right
              else
                  if chi.PValue <= sigCriterion  then
                      thr,chi
                  else 
                      right,previousChi
                  
          stepSearch (TestStatistics.createChiSquare 0. 1.) 0. 1.
  
  
  
  