anchor.diff:          elif extremaCount = 2 then
               if fst extrema.[0] = 1. && fst extrema.[1] = -1. then In2
               else De2
  +        elif extremaCount = 3 then
  +            if fst extrema.[0] = 1. && fst extrema.[1] = -1. then In3
  +            else De3
  +        elif extremaCount = 4 then
  +            if fst extrema.[0] = 1. && fst extrema.[1] = -1. then In4
  +            else De4
           else Complex
   
       //check the spline for the predefined condition
  
positive.code:         let trd1 =(In2,splineIncreasing x_values (vector y_values) wMat 2) |> fun (shapeClass,(constraintMatrices,result)) -> shapeClass,result //(cl, createTempClassResultSimple x.TraceA x.TraceC x.Error (x.GCV*1.08) x.Lambda x.Ctemp x.AICc x.SplineFunction)
          let trd2 =(De2,splineDecreasing x_values (vector y_values) wMat 2) |> fun (shapeClass,(constraintMatrices,result)) -> shapeClass,result //(cl, createTempClassResultSimple x.TraceA x.TraceC x.Error (x.GCV*1.08) x.Lambda x.Ctemp x.AICc x.SplineFunction)
          let besttrd = [trd1;trd2] |> List.minBy (fun (cl,x) -> x.AICc)
  
          //selection of optimal shape possibility by model selection via AICc 
          [bestfst;bestsnd;besttrd]
          |> List.minBy (fun (cl,result) -> result.AICc)
          |> fun (cl,result) -> if result.AICc < initialSelectionCriterion then (cl,result) else Complex,result        
  
  
negative.code:                 [|Ctemp|]
  
              elif (con=1) then
                  //for j = 3 to (n - 1) do 
                  for j = 2 to (n - 1) do 
                      for i = 1 to (j-1) do
                          let temp = 
                              (List.init (i-1) (fun x -> 0.))@((-3./h.[i-1])::(3./h.[i-1])::(List.init (n-i-1) (fun x -> 0.)))
  