anchor.diff:                                  let u = parameterVector.[5]
                                   b0+b1*((1.-exp(-m/t))/(m/t)) + b2*((1.-exp(-m/t))/(m/t)-exp(-m/t)) + b3*((1.-exp(-m/u))/(m/u)-exp(-m/u))
   
  -                    let fittingFunction =  getFunctionValueNSS coefficients 
  -                    //let n =  Array.length xData |> float
  +                    let fittingFunction =  getFunctionValueNSS coefficients                    
                       let interpoletedYields = Vector.map(fun x -> fittingFunction x)xFit
                       interpoletedYields
   
  
positive.code:                     if  xData.Length <> yData.Length then 
                           raise(ArgumentException("Inputs have unequal length - Both inputs must have the same length."))
  
                      // 1.1 define parameter names
                      let parameterNames = [|"b0";"b1";"b2";"t"|]
                      //function defining the model
                      let getFunctionValue =                 
                                  fun (parameterVector: Vector<float>) m -> 
  
negative.code:                                 let b3 = parameterVector.[3]
                                  let t = parameterVector.[4]
                                  let u = parameterVector.[5]
                                  b0+b1*((1.-exp(-m/t))/(m/t)) + b2*((1.-exp(-m/t))/(m/t)-exp(-m/t)) + b3*((1.-exp(-m/u))/(m/u)-exp(-m/u))                       
  
                          let getGradientValuesNSS =
                              fun (parameterVector:Vector<float>) (gradientVector: Vector<float>) m -> 
  