anchor.diff:          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)
  +        //splines with three extremum
  +        let qua1 =(In3,splineIncreasing x_values (vector y_values) wMat 3) |> fun (shapeClass,(constraintMatrices,result)) -> shapeClass,result //(cl, createTempClassResultSimple x.TraceA x.TraceC x.Error (x.GCV*1.06) x.Lambda x.Ctemp x.AICc x.SplineFunction)
  +        let qua2 =(De3,splineDecreasing x_values (vector y_values) wMat 3) |> fun (shapeClass,(constraintMatrices,result)) -> shapeClass,result //(cl, createTempClassResultSimple x.TraceA x.TraceC x.Error (x.GCV*1.06) x.Lambda x.Ctemp x.AICc x.SplineFunction)
  +        let bestqua = [qua1;qua2] |> List.minBy (fun (cl,x) -> x.AICc)                                                               
  +        //splines with four extrema                                                                                                                                             
  +        let qui1 =(In4,splineIncreasing x_values (vector y_values) wMat 4) |> 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 qui2 =(De4,splineDecreasing x_values (vector y_values) wMat 4) |> 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 bestqui = [qui1;qui2] |> List.minBy (fun (cl,x) -> x.AICc)
   
           //selection of optimal shape possibility by model selection via AICc 
  -        [bestfst;bestsnd;besttrd]
  +        [bestfst;bestsnd;besttrd;bestqua;bestqui]
           |> List.minBy (fun (cl,result) -> result.AICc)
           |> fun (cl,result) -> if result.AICc < initialSelectionCriterion then (cl,result) else Complex,result        
   
  
positive.code:                 |> Array.ofList 
  
              elif con = 3 then
                  for m = 3 to (n-1) do 
                      for j = (m+1) to (n-1) do
                          for k = (j+1) to (n-1) do
                              for i=1 to (m-1) do 
  
negative.code:                 |> Array.ofList 
                  
              elif con = 2 then
                  //for m = 3 to (n-1) do 
                  for m = 2 to (n-1) do 
                      for j = (m+1) to (n-1) do //from 7 to 6 do
                          for i=1 to (m-1) do 
                              let temp = 
  