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