// @(#)root/hist:$Id$
// Author: Marian Ivanov, 2005

/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
* All rights reserved.                                                  *
*                                                                       *
* For the licensing terms see $ROOTSYS/LICENSE.                         *
* For the list of contributors see $ROOTSYS/README/CREDITS.             *
*************************************************************************/

#include <math.h>

#include "v5/TFormulaPrimitive.h"
#include "TMath.h"
#include "TVirtualMutex.h"
#ifdef WIN32
#pragma optimize("",off)
#endif

static TVirtualMutex* gTFormulaPrimativeListMutex = 0;


ClassImp(ROOT::v5::TFormulaPrimitive)

namespace ROOT  {
   namespace v5 {

      void TMath_GenerInterface();


//______________________________________________________________________________
// The Formula Primitive class
//
//    Helper class for TFormula to speed up TFormula evaluation
//    TFormula can use all functions registered in the list of TFormulaPrimitives
//    User can add new function to the list of primitives
//    if FormulaPrimitive with given name is already defined new primitive is ignored
//    Example:
//      TFormulaPrimitive::AddFormula(new TFormulaPrimitive("Pow2","Pow2",TFastFun::Pow2));
//      TF1 f1("f1","Pow2(x)");
//
//
//
//    TFormulaPrimitive is used to get direct acces to the function pointers
//    GenFunc     -  pointers  to the static function
//    TFunc       -  pointers  to the data member functions
//
//    The following sufixes are currently used, to describe function arguments:
//    ------------------------------------------------------------------------
//    G     - generic layout - pointer to double (arguments), pointer to double (parameters)
//    10    - double
//    110   - double, double
//    1110  - double, double, double


//______________________________________________________________________________
// TFormula primitive
//
TObjArray * TFormulaPrimitive::fgListOfFunction = 0;
#ifdef R__COMPLETE_MEM_TERMINATION
namespace {
   class TFormulaPrimitiveCleanup {
      TObjArray **fListOfFunctions;
   public:
      TFormulaPrimitiveCleanup(TObjArray **functions) : fListOfFunctions(functions) {}
      ~TFormulaPrimitiveCleanup() {
         delete *fListOfFunctions;
      }
   };

}
#endif

//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive() : TNamed(),
                                         fFuncG(0),
                                         fType(0),fNArguments(0),fNParameters(0),fIsStatic(kTRUE)
{
   // Default constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     GenFunc0 fpointer) : TNamed(name,formula),
                                                          fFunc0(fpointer),
                                                          fType(0),fNArguments(0),fNParameters(0),fIsStatic(kTRUE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     GenFunc10 fpointer) : TNamed(name,formula),
                                                           fFunc10(fpointer),
                                                           fType(10),fNArguments(1),fNParameters(0),fIsStatic(kTRUE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     GenFunc110 fpointer) : TNamed(name,formula),
                                                            fFunc110(fpointer),
                                                            fType(110),fNArguments(2),fNParameters(0),fIsStatic(kTRUE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     GenFunc1110 fpointer) : TNamed(name,formula),
                                                             fFunc1110(fpointer),
                                                             fType(1110),fNArguments(3),fNParameters(0),fIsStatic(kTRUE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     GenFuncG fpointer,Int_t npar) : TNamed(name,formula),
                                                                     fFuncG(fpointer),
                                                                     fType(-1),fNArguments(2),fNParameters(npar),fIsStatic(kTRUE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     TFuncG fpointer) : TNamed(name,formula),
                                                        fTFuncG(fpointer),
                                                        fType(0),fNArguments(0),fNParameters(0),fIsStatic(kFALSE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     TFunc0 fpointer) : TNamed(name,formula),
                                                        fTFunc0(fpointer),
                                                        fType(0),fNArguments(0),fNParameters(0),fIsStatic(kFALSE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     TFunc10 fpointer) : TNamed(name,formula),
                                                         fTFunc10(fpointer),
                                                         fType(-10),fNArguments(1),fNParameters(0),fIsStatic(kFALSE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     TFunc110 fpointer) : TNamed(name,formula),
                                                          fTFunc110(fpointer),
                                                          fType(-110),fNArguments(2),fNParameters(0),fIsStatic(kFALSE)
{
   // Constructor.

}


//______________________________________________________________________________
TFormulaPrimitive::TFormulaPrimitive(const char *name,const char *formula,
                                     TFunc1110 fpointer) :TNamed(name,formula),
                                                          fTFunc1110(fpointer),
                                                          fType(-1110),fNArguments(3),fNParameters(0),fIsStatic(kFALSE)
{
   // Constructor.

}


//______________________________________________________________________________
Int_t TFormulaPrimitive::AddFormula(TFormulaPrimitive * formula)
{
   // Add formula to the list of primitive formulas.
   // If primitive formula already defined do nothing.
   R__LOCKGUARD2(gTFormulaPrimativeListMutex);
   if (fgListOfFunction == 0) BuildBasicFormulas();
   if (FindFormula(formula->GetName(),formula->fNArguments)){
      delete formula;
      return 0;
   }
   fgListOfFunction->AddLast(formula);
   return 1;
}


//______________________________________________________________________________
Double_t TFormulaPrimitive::Eval(Double_t* x)
{
   // Eval primitive function at point x.

   if (fIsStatic == kFALSE) return 0;

   if (fType==0) return  fFunc0();
   if (fType==10) {
      return fFunc10(x[0]);
   }
   if (fType==110) {
      return fFunc110(x[0],x[1]);
   }
   if (fType==1110) {
      return fFunc1110(x[0],x[1],x[2]);
   }
   return 0;
}


//______________________________________________________________________________
Double_t  TFormulaPrimitive::Eval(TObject *o, Double_t *x)
{
   // Eval member function of object o at point x.

   if (fIsStatic == kTRUE) return 0;
   if (fType== 0)    return (*o.*fTFunc0)();
   if (fType==-10)   return (*o.*fTFunc10)(*x);
   if (fType==-110)  return (*o.*fTFunc110)(x[0],x[1]);
   if (fType==-1110) return (*o.*fTFunc1110)(x[0],x[1],x[2]);
   return 0;
}


//______________________________________________________________________________
Double_t TFormulaPrimitive::Eval(Double_t *x, Double_t *param)
{
   // Eval primitive parametric function.

   return fFuncG(x,param);
}


#define RTFastFun__POLY(var)                                          \
{                                                                     \
   Double_t res= param[var-1]+param[var]*x[0];                        \
   for (Int_t j=var-1 ;j>0;j--) res      = param[j-1]+x[0]*res;       \
   return res;                                                        \
}

namespace TFastFun {
   //
   // Namespace with basic primitive functions registered by TFormulaPrimitive
   // all function registered by TFormulaPrimitive can be used in TFormula
   //
   Double_t Pow2(Double_t x){return x*x;}
   Double_t Pow3(Double_t x){return x*x*x;}
   Double_t Pow4(Double_t x){return x*x*x*x;}
   Double_t Pow5(Double_t x){return x*x*x*x*x;}
   inline   Double_t FPoln(Double_t *x, Double_t *param, Int_t npar);
   Double_t FPol0(Double_t * /*x*/, Double_t *param){ return param[0];}
   Double_t FPol1(Double_t *x, Double_t *param){ return param[0]+param[1]*x[0];}
   Double_t FPol2(Double_t *x, Double_t *param){ return param[0]+x[0]*(param[1]+param[2]*x[0]);}
   Double_t FPol3(Double_t *x, Double_t *param){ return param[0]+x[0]*(param[1]+x[0]*(param[2]+param[3]*x[0]));}
   Double_t FPol4(Double_t *x, Double_t *param){ RTFastFun__POLY(4)}
   Double_t FPol5(Double_t *x, Double_t *param){ RTFastFun__POLY(5)}
   Double_t FPol6(Double_t *x, Double_t *param){ RTFastFun__POLY(6)}
   Double_t FPol7(Double_t *x, Double_t *param){ RTFastFun__POLY(7)}
   Double_t FPol8(Double_t *x, Double_t *param){ RTFastFun__POLY(8)}
   Double_t FPol9(Double_t *x, Double_t *param){ RTFastFun__POLY(9)}
   Double_t FPol10(Double_t *x, Double_t *param){ RTFastFun__POLY(10)}
   //
   //
   Double_t PlusXY(Double_t x,Double_t y){return x+y;}
   Double_t MinusXY(Double_t x,Double_t y){return x-y;}
   Double_t MultXY(Double_t x,Double_t y){return x*y;}
   Double_t DivXY(Double_t x, Double_t y){return TMath::Abs(y)>0 ? x/y:0;}
   Double_t XpYpZ(Double_t x, Double_t y, Double_t z){ return x+y+z;}
   Double_t XxYxZ(Double_t x, Double_t y, Double_t z){ return x*y*z;}
   Double_t XxYpZ(Double_t x, Double_t y, Double_t z){ return x*(y+z);}
   Double_t XpYxZ(Double_t x, Double_t y, Double_t z){ return x+(y*z);}
   Double_t Gaus(Double_t x, Double_t mean, Double_t sigma);
   Double_t Gausn(Double_t x, Double_t mean, Double_t sigma);
   Double_t Landau(Double_t x, Double_t mean, Double_t sigma){return TMath::Landau(x,mean,sigma,kFALSE);}
   Double_t Landaun(Double_t x, Double_t mean, Double_t sigma){return TMath::Landau(x,mean,sigma,kTRUE);}
   Double_t Sqrt(Double_t x) {return x>0?sqrt(x):0;}
   //
   Double_t Sign(Double_t x){return (x<0)? -1:1;}
   Double_t Nint(Double_t x){return TMath::Nint(x);}
   Double_t Abs(Double_t x){return TMath::Abs(x);}
   //logical
   Double_t XandY(Double_t x, Double_t y){ return (x*y>0.1);}
   Double_t XorY(Double_t x, Double_t y) { return (x+y>0.1);}
   Double_t XgY(Double_t x, Double_t y) {return (x>y);}
   Double_t XgeY(Double_t x, Double_t y) {return (x>=y);}
   Double_t XlY(Double_t x, Double_t y) {return (x<y);}
   Double_t XleY(Double_t x, Double_t y) {return (x<=y);}
   Double_t XeY(Double_t x,Double_t y) {return (x==y);}
   Double_t XneY(Double_t x,Double_t y) {return (x!=y);}
   Double_t XNot(Double_t x){ return (x<0.1);}
};


//______________________________________________________________________________
TFormulaPrimitive* TFormulaPrimitive::FindFormula(const char* name)
{
   // Find the formula in the list of formulas.
   R__LOCKGUARD2(gTFormulaPrimativeListMutex);
   if (!fgListOfFunction) {
      BuildBasicFormulas();
   }
   Int_t nobjects = fgListOfFunction->GetEntries();
   for (Int_t i = 0; i < nobjects; ++i) {
      TFormulaPrimitive *formula = (TFormulaPrimitive*)fgListOfFunction->At(i);
      if (formula && 0==strcmp(name, formula->GetName())) return formula;
   }
   return 0;
}


//______________________________________________________________________________
TFormulaPrimitive* TFormulaPrimitive::FindFormula(const char* name, UInt_t nargs)
{
   // Find the formula in the list of formulas.

   R__LOCKGUARD2(gTFormulaPrimativeListMutex);
   if (!fgListOfFunction) {
      BuildBasicFormulas();
   }
   Int_t nobjects = fgListOfFunction->GetEntries();
   for (Int_t i = 0; i < nobjects; ++i) {
      TFormulaPrimitive *prim = (TFormulaPrimitive*)fgListOfFunction->At(i);
      if (prim) {
         bool match = ( ((UInt_t)prim->fNArguments) == nargs );
         if (match && 0==strcmp(name, prim->GetName())) return prim;
      }
   }
   return 0;
}


//______________________________________________________________________________
TFormulaPrimitive* TFormulaPrimitive::FindFormula(const char* name, const char *args)
{
   // Find the formula in the list of formulas.

   // let's count the argument(s)
   if (args) {
      Int_t nargs = 0;
      if (args[0]!=')') {
         nargs = 1;
         int nest = 0;
         for(UInt_t c = 0; c < strlen(args); ++c ) {
            switch (args[c]) {
               case '(': ++nest; break;
               case ')': --nest; break;
               case '<': ++nest; break;
               case '>': --nest; break;
               case ',': nargs += (nest==0); break;
            }
         }
      }
      return FindFormula(name,nargs);
   } else {
      return FindFormula(name);
   }
   return 0;
}


//______________________________________________________________________________
Double_t TFastFun::FPoln(Double_t *x, Double_t *param, Int_t npar)
{
   // FPoln.

   Double_t res = 0; Double_t temp=1;
   for (Int_t j=npar ;j>=0;j--) {
      res  += temp*param[j];
      temp *= *x;
   }
   return res;
}


//______________________________________________________________________________
Double_t TFastFun::Gaus(Double_t x, Double_t mean, Double_t sigma)
{
   // Gauss.

   if (sigma == 0) return 1.e30;
   Double_t arg = (x-mean)/sigma;
   return TMath::Exp(-0.5*arg*arg);
}


//______________________________________________________________________________
Double_t TFastFun::Gausn(Double_t x, Double_t mean, Double_t sigma)
{
   // Normalize gauss.

   if (sigma == 0)  return 0;
   Double_t arg = (x-mean)/sigma;
   return TMath::Exp(-0.5*arg*arg)/(2.50662827463100024*sigma);  //sqrt(2*Pi)=2.50662827463100024
}


//______________________________________________________________________________
Int_t TFormulaPrimitive::BuildBasicFormulas()
{
   // Built-in functions.
   R__LOCKGUARD2(gTFormulaPrimativeListMutex);
   if (fgListOfFunction==0) {
      fgListOfFunction = new TObjArray(1000);
      fgListOfFunction->SetOwner(kTRUE);
   }
#ifdef R__COMPLETE_MEM_TERMINATION
   static TFormulaPrimitiveCleanup gCleanup(&fgListOfFunction);
#endif

   //
   // logical
   //
   AddFormula(new TFormulaPrimitive("XandY","XandY",TFastFun::XandY));
   AddFormula(new TFormulaPrimitive("XorY","XorY",TFastFun::XorY));
   AddFormula(new TFormulaPrimitive("XNot","XNot",TFastFun::XNot));
   AddFormula(new TFormulaPrimitive("XlY","XlY",TFastFun::XlY));
   AddFormula(new TFormulaPrimitive("XleY","XleY",TFastFun::XleY));
   AddFormula(new TFormulaPrimitive("XgY","XgY",TFastFun::XgY));
   AddFormula(new TFormulaPrimitive("XgeY","XgeY",TFastFun::XgeY));
   AddFormula(new TFormulaPrimitive("XeY","XeY",TFastFun::XeY));
   AddFormula(new TFormulaPrimitive("XneY","XneY",TFastFun::XneY));
   // addition  + multiplication
   AddFormula(new TFormulaPrimitive("PlusXY","PlusXY",TFastFun::PlusXY));
   AddFormula(new TFormulaPrimitive("MinusXY","MinusXY",TFastFun::MinusXY));
   AddFormula(new TFormulaPrimitive("MultXY","MultXY",TFastFun::MultXY));
   AddFormula(new TFormulaPrimitive("DivXY","DivXY",TFastFun::DivXY));
   AddFormula(new TFormulaPrimitive("XpYpZ","XpYpZ",TFastFun::XpYpZ));
   AddFormula(new TFormulaPrimitive("XxYxZ","XxYxZ",TFastFun::XxYxZ));
   AddFormula(new TFormulaPrimitive("XxYpZ","XxYpZ",TFastFun::XxYpZ));
   AddFormula(new TFormulaPrimitive("XpYxZ","XpYxZ",TFastFun::XpYxZ));
   //
   //
   AddFormula(new TFormulaPrimitive("Gaus","Gaus",TFastFun::Gaus));
   AddFormula(new TFormulaPrimitive("Gausn","Gausn",TFastFun::Gausn));
   AddFormula(new TFormulaPrimitive("Landau","Landau",TFastFun::Landau));
   AddFormula(new TFormulaPrimitive("Landaun","Landaun",TFastFun::Landaun));
   //
   //
   // polynoms
   //
   //
   AddFormula(new TFormulaPrimitive("Pol0","Pol0",(GenFuncG)TFastFun::FPol0,1));
   AddFormula(new TFormulaPrimitive("Pol1","Pol1",(GenFuncG)TFastFun::FPol1,2));
   AddFormula(new TFormulaPrimitive("Pol2","Pol2",(GenFuncG)TFastFun::FPol2,3));
   AddFormula(new TFormulaPrimitive("Pol3","Pol3",(GenFuncG)TFastFun::FPol3,4));
   AddFormula(new TFormulaPrimitive("Pol4","Pol4",(GenFuncG)TFastFun::FPol4,5));
   AddFormula(new TFormulaPrimitive("Pol5","Pol5",(GenFuncG)TFastFun::FPol5,6));
   AddFormula(new TFormulaPrimitive("Pol6","Pol6",(GenFuncG)TFastFun::FPol6,7));
   AddFormula(new TFormulaPrimitive("Pol7","Pol7",(GenFuncG)TFastFun::FPol7,8));
   AddFormula(new TFormulaPrimitive("Pol8","Pol8",(GenFuncG)TFastFun::FPol8,9));
   AddFormula(new TFormulaPrimitive("Pol9","Pol9",(GenFuncG)TFastFun::FPol9,10));
   AddFormula(new TFormulaPrimitive("Pol10","Pol10",(GenFuncG)TFastFun::FPol10,11));
   //
   // pows
   AddFormula(new TFormulaPrimitive("Pow2","Pow2",TFastFun::Pow2));
   AddFormula(new TFormulaPrimitive("Pow3","Pow3",TFastFun::Pow3));
   AddFormula(new TFormulaPrimitive("Pow4","Pow4",TFastFun::Pow4));
   AddFormula(new TFormulaPrimitive("Pow5","Pow5",TFastFun::Pow5));
   //
   //
   AddFormula(new TFormulaPrimitive("TMath::Cos","TMath::Cos",cos));              // 10
   AddFormula(new TFormulaPrimitive("cos","cos",cos));                            // 10
   AddFormula(new TFormulaPrimitive("TMath::Sin","TMath::Sin",sin));              // 11
   AddFormula(new TFormulaPrimitive("sin","sin",sin));                            // 11
   AddFormula(new TFormulaPrimitive("TMath::Tan","TMath::Tan",tan));              // 12
   AddFormula(new TFormulaPrimitive("tan","tan",tan));                            // 12
   AddFormula(new TFormulaPrimitive("TMath::ACos","TMath::ACos",acos));           // 13
   AddFormula(new TFormulaPrimitive("acos","acos",acos));                         // 13
   AddFormula(new TFormulaPrimitive("TMath::ASin","TMath::ASin",asin));           // 14
   AddFormula(new TFormulaPrimitive("asin","asin",asin));                         // 14
   AddFormula(new TFormulaPrimitive("TMath::ATan","TMath::ATan",atan));           // 15
   AddFormula(new TFormulaPrimitive("atan","atan",atan));                         // 15
   AddFormula(new TFormulaPrimitive("TMath::ATan2","TMath::ATan2",atan2));        // 16
   AddFormula(new TFormulaPrimitive("atan2","atan2",atan2));                      // 16
   //   kpow      = 20, ksq = 21, ksqrt     = 22,
   AddFormula(new TFormulaPrimitive("pow","pow",TMath::Power));                 //20
   AddFormula(new TFormulaPrimitive("sq","sq",TFastFun::Pow2));                 //21
   AddFormula(new TFormulaPrimitive("sqrt","sqrt",TFastFun::Sqrt));             //22
   // kmin      = 24, kmax = 25,
   AddFormula(new TFormulaPrimitive("min","min",(GenFunc110)TMath::Min));       //24
   AddFormula(new TFormulaPrimitive("max","max",(GenFunc110)TMath::Max));       //25
   // klog      = 30, kexp = 31, klog10 = 32,
   AddFormula(new TFormulaPrimitive("log","log",TMath::Log));                           //30
   AddFormula(new TFormulaPrimitive("exp","exp",TMath::Exp));                           //31
   AddFormula(new TFormulaPrimitive("log10","log10",TMath::Log10));                     //32
   //
   //    cosh        70                  acosh        73
   //    sinh        71                  asinh        74
   //    tanh        72                  atanh        75
   //
   AddFormula(new TFormulaPrimitive("TMath::CosH","TMath::Cosh",cosh));                     // 70
   AddFormula(new TFormulaPrimitive("cosh","cosh",cosh));                                   // 70
   AddFormula(new TFormulaPrimitive("TMath::SinH","TMath::SinH",sinh));                     // 71
   AddFormula(new TFormulaPrimitive("sinh","sinh",sinh));                                   // 71
   AddFormula(new TFormulaPrimitive("TMath::TanH","TMath::Tanh",tanh));                     // 72
   AddFormula(new TFormulaPrimitive("tanh","tanh",tanh));                                   // 72
   AddFormula(new TFormulaPrimitive("TMath::ACosH","TMath::ACosh",TMath::ACosH));           // 73
   AddFormula(new TFormulaPrimitive("acosh","acosH",TMath::ACosH));                         // 73
   AddFormula(new TFormulaPrimitive("TMath::ASinH","TMath::ASinh",TMath::ASinH));           // 74
   AddFormula(new TFormulaPrimitive("acosh","acosH",TMath::ASinH));                         // 74
   AddFormula(new TFormulaPrimitive("TMath::ATanH","TMath::ATanh",TMath::ATanH));           // 75
   AddFormula(new TFormulaPrimitive("atanh","atanh",TMath::ATanH));                         // 75
   //
   AddFormula(new TFormulaPrimitive("TMath::Abs","TMath::Abs",TMath::Abs));
   AddFormula(new TFormulaPrimitive("TMath::BreitWigner","TMath::BreitWigner",TMath::BreitWigner));

   //Disable direct access to TMath::Landau for now because of the default parameter.
   //AddFormula(new TFormulaPrimitive("TMath::Landau","TMath::Landau",(TFormulaPrimitive::GenFunc1110)TMath::Landau));

   TMath_GenerInterface();
   return 1;
}

   } // end namespace v5

} // end namespace ROOT
      
 TFormulaPrimitive_v5.cxx:1
 TFormulaPrimitive_v5.cxx:2
 TFormulaPrimitive_v5.cxx:3
 TFormulaPrimitive_v5.cxx:4
 TFormulaPrimitive_v5.cxx:5
 TFormulaPrimitive_v5.cxx:6
 TFormulaPrimitive_v5.cxx:7
 TFormulaPrimitive_v5.cxx:8
 TFormulaPrimitive_v5.cxx:9
 TFormulaPrimitive_v5.cxx:10
 TFormulaPrimitive_v5.cxx:11
 TFormulaPrimitive_v5.cxx:12
 TFormulaPrimitive_v5.cxx:13
 TFormulaPrimitive_v5.cxx:14
 TFormulaPrimitive_v5.cxx:15
 TFormulaPrimitive_v5.cxx:16
 TFormulaPrimitive_v5.cxx:17
 TFormulaPrimitive_v5.cxx:18
 TFormulaPrimitive_v5.cxx:19
 TFormulaPrimitive_v5.cxx:20
 TFormulaPrimitive_v5.cxx:21
 TFormulaPrimitive_v5.cxx:22
 TFormulaPrimitive_v5.cxx:23
 TFormulaPrimitive_v5.cxx:24
 TFormulaPrimitive_v5.cxx:25
 TFormulaPrimitive_v5.cxx:26
 TFormulaPrimitive_v5.cxx:27
 TFormulaPrimitive_v5.cxx:28
 TFormulaPrimitive_v5.cxx:29
 TFormulaPrimitive_v5.cxx:30
 TFormulaPrimitive_v5.cxx:31
 TFormulaPrimitive_v5.cxx:32
 TFormulaPrimitive_v5.cxx:33
 TFormulaPrimitive_v5.cxx:34
 TFormulaPrimitive_v5.cxx:35
 TFormulaPrimitive_v5.cxx:36
 TFormulaPrimitive_v5.cxx:37
 TFormulaPrimitive_v5.cxx:38
 TFormulaPrimitive_v5.cxx:39
 TFormulaPrimitive_v5.cxx:40
 TFormulaPrimitive_v5.cxx:41
 TFormulaPrimitive_v5.cxx:42
 TFormulaPrimitive_v5.cxx:43
 TFormulaPrimitive_v5.cxx:44
 TFormulaPrimitive_v5.cxx:45
 TFormulaPrimitive_v5.cxx:46
 TFormulaPrimitive_v5.cxx:47
 TFormulaPrimitive_v5.cxx:48
 TFormulaPrimitive_v5.cxx:49
 TFormulaPrimitive_v5.cxx:50
 TFormulaPrimitive_v5.cxx:51
 TFormulaPrimitive_v5.cxx:52
 TFormulaPrimitive_v5.cxx:53
 TFormulaPrimitive_v5.cxx:54
 TFormulaPrimitive_v5.cxx:55
 TFormulaPrimitive_v5.cxx:56
 TFormulaPrimitive_v5.cxx:57
 TFormulaPrimitive_v5.cxx:58
 TFormulaPrimitive_v5.cxx:59
 TFormulaPrimitive_v5.cxx:60
 TFormulaPrimitive_v5.cxx:61
 TFormulaPrimitive_v5.cxx:62
 TFormulaPrimitive_v5.cxx:63
 TFormulaPrimitive_v5.cxx:64
 TFormulaPrimitive_v5.cxx:65
 TFormulaPrimitive_v5.cxx:66
 TFormulaPrimitive_v5.cxx:67
 TFormulaPrimitive_v5.cxx:68
 TFormulaPrimitive_v5.cxx:69
 TFormulaPrimitive_v5.cxx:70
 TFormulaPrimitive_v5.cxx:71
 TFormulaPrimitive_v5.cxx:72
 TFormulaPrimitive_v5.cxx:73
 TFormulaPrimitive_v5.cxx:74
 TFormulaPrimitive_v5.cxx:75
 TFormulaPrimitive_v5.cxx:76
 TFormulaPrimitive_v5.cxx:77
 TFormulaPrimitive_v5.cxx:78
 TFormulaPrimitive_v5.cxx:79
 TFormulaPrimitive_v5.cxx:80
 TFormulaPrimitive_v5.cxx:81
 TFormulaPrimitive_v5.cxx:82
 TFormulaPrimitive_v5.cxx:83
 TFormulaPrimitive_v5.cxx:84
 TFormulaPrimitive_v5.cxx:85
 TFormulaPrimitive_v5.cxx:86
 TFormulaPrimitive_v5.cxx:87
 TFormulaPrimitive_v5.cxx:88
 TFormulaPrimitive_v5.cxx:89
 TFormulaPrimitive_v5.cxx:90
 TFormulaPrimitive_v5.cxx:91
 TFormulaPrimitive_v5.cxx:92
 TFormulaPrimitive_v5.cxx:93
 TFormulaPrimitive_v5.cxx:94
 TFormulaPrimitive_v5.cxx:95
 TFormulaPrimitive_v5.cxx:96
 TFormulaPrimitive_v5.cxx:97
 TFormulaPrimitive_v5.cxx:98
 TFormulaPrimitive_v5.cxx:99
 TFormulaPrimitive_v5.cxx:100
 TFormulaPrimitive_v5.cxx:101
 TFormulaPrimitive_v5.cxx:102
 TFormulaPrimitive_v5.cxx:103
 TFormulaPrimitive_v5.cxx:104
 TFormulaPrimitive_v5.cxx:105
 TFormulaPrimitive_v5.cxx:106
 TFormulaPrimitive_v5.cxx:107
 TFormulaPrimitive_v5.cxx:108
 TFormulaPrimitive_v5.cxx:109
 TFormulaPrimitive_v5.cxx:110
 TFormulaPrimitive_v5.cxx:111
 TFormulaPrimitive_v5.cxx:112
 TFormulaPrimitive_v5.cxx:113
 TFormulaPrimitive_v5.cxx:114
 TFormulaPrimitive_v5.cxx:115
 TFormulaPrimitive_v5.cxx:116
 TFormulaPrimitive_v5.cxx:117
 TFormulaPrimitive_v5.cxx:118
 TFormulaPrimitive_v5.cxx:119
 TFormulaPrimitive_v5.cxx:120
 TFormulaPrimitive_v5.cxx:121
 TFormulaPrimitive_v5.cxx:122
 TFormulaPrimitive_v5.cxx:123
 TFormulaPrimitive_v5.cxx:124
 TFormulaPrimitive_v5.cxx:125
 TFormulaPrimitive_v5.cxx:126
 TFormulaPrimitive_v5.cxx:127
 TFormulaPrimitive_v5.cxx:128
 TFormulaPrimitive_v5.cxx:129
 TFormulaPrimitive_v5.cxx:130
 TFormulaPrimitive_v5.cxx:131
 TFormulaPrimitive_v5.cxx:132
 TFormulaPrimitive_v5.cxx:133
 TFormulaPrimitive_v5.cxx:134
 TFormulaPrimitive_v5.cxx:135
 TFormulaPrimitive_v5.cxx:136
 TFormulaPrimitive_v5.cxx:137
 TFormulaPrimitive_v5.cxx:138
 TFormulaPrimitive_v5.cxx:139
 TFormulaPrimitive_v5.cxx:140
 TFormulaPrimitive_v5.cxx:141
 TFormulaPrimitive_v5.cxx:142
 TFormulaPrimitive_v5.cxx:143
 TFormulaPrimitive_v5.cxx:144
 TFormulaPrimitive_v5.cxx:145
 TFormulaPrimitive_v5.cxx:146
 TFormulaPrimitive_v5.cxx:147
 TFormulaPrimitive_v5.cxx:148
 TFormulaPrimitive_v5.cxx:149
 TFormulaPrimitive_v5.cxx:150
 TFormulaPrimitive_v5.cxx:151
 TFormulaPrimitive_v5.cxx:152
 TFormulaPrimitive_v5.cxx:153
 TFormulaPrimitive_v5.cxx:154
 TFormulaPrimitive_v5.cxx:155
 TFormulaPrimitive_v5.cxx:156
 TFormulaPrimitive_v5.cxx:157
 TFormulaPrimitive_v5.cxx:158
 TFormulaPrimitive_v5.cxx:159
 TFormulaPrimitive_v5.cxx:160
 TFormulaPrimitive_v5.cxx:161
 TFormulaPrimitive_v5.cxx:162
 TFormulaPrimitive_v5.cxx:163
 TFormulaPrimitive_v5.cxx:164
 TFormulaPrimitive_v5.cxx:165
 TFormulaPrimitive_v5.cxx:166
 TFormulaPrimitive_v5.cxx:167
 TFormulaPrimitive_v5.cxx:168
 TFormulaPrimitive_v5.cxx:169
 TFormulaPrimitive_v5.cxx:170
 TFormulaPrimitive_v5.cxx:171
 TFormulaPrimitive_v5.cxx:172
 TFormulaPrimitive_v5.cxx:173
 TFormulaPrimitive_v5.cxx:174
 TFormulaPrimitive_v5.cxx:175
 TFormulaPrimitive_v5.cxx:176
 TFormulaPrimitive_v5.cxx:177
 TFormulaPrimitive_v5.cxx:178
 TFormulaPrimitive_v5.cxx:179
 TFormulaPrimitive_v5.cxx:180
 TFormulaPrimitive_v5.cxx:181
 TFormulaPrimitive_v5.cxx:182
 TFormulaPrimitive_v5.cxx:183
 TFormulaPrimitive_v5.cxx:184
 TFormulaPrimitive_v5.cxx:185
 TFormulaPrimitive_v5.cxx:186
 TFormulaPrimitive_v5.cxx:187
 TFormulaPrimitive_v5.cxx:188
 TFormulaPrimitive_v5.cxx:189
 TFormulaPrimitive_v5.cxx:190
 TFormulaPrimitive_v5.cxx:191
 TFormulaPrimitive_v5.cxx:192
 TFormulaPrimitive_v5.cxx:193
 TFormulaPrimitive_v5.cxx:194
 TFormulaPrimitive_v5.cxx:195
 TFormulaPrimitive_v5.cxx:196
 TFormulaPrimitive_v5.cxx:197
 TFormulaPrimitive_v5.cxx:198
 TFormulaPrimitive_v5.cxx:199
 TFormulaPrimitive_v5.cxx:200
 TFormulaPrimitive_v5.cxx:201
 TFormulaPrimitive_v5.cxx:202
 TFormulaPrimitive_v5.cxx:203
 TFormulaPrimitive_v5.cxx:204
 TFormulaPrimitive_v5.cxx:205
 TFormulaPrimitive_v5.cxx:206
 TFormulaPrimitive_v5.cxx:207
 TFormulaPrimitive_v5.cxx:208
 TFormulaPrimitive_v5.cxx:209
 TFormulaPrimitive_v5.cxx:210
 TFormulaPrimitive_v5.cxx:211
 TFormulaPrimitive_v5.cxx:212
 TFormulaPrimitive_v5.cxx:213
 TFormulaPrimitive_v5.cxx:214
 TFormulaPrimitive_v5.cxx:215
 TFormulaPrimitive_v5.cxx:216
 TFormulaPrimitive_v5.cxx:217
 TFormulaPrimitive_v5.cxx:218
 TFormulaPrimitive_v5.cxx:219
 TFormulaPrimitive_v5.cxx:220
 TFormulaPrimitive_v5.cxx:221
 TFormulaPrimitive_v5.cxx:222
 TFormulaPrimitive_v5.cxx:223
 TFormulaPrimitive_v5.cxx:224
 TFormulaPrimitive_v5.cxx:225
 TFormulaPrimitive_v5.cxx:226
 TFormulaPrimitive_v5.cxx:227
 TFormulaPrimitive_v5.cxx:228
 TFormulaPrimitive_v5.cxx:229
 TFormulaPrimitive_v5.cxx:230
 TFormulaPrimitive_v5.cxx:231
 TFormulaPrimitive_v5.cxx:232
 TFormulaPrimitive_v5.cxx:233
 TFormulaPrimitive_v5.cxx:234
 TFormulaPrimitive_v5.cxx:235
 TFormulaPrimitive_v5.cxx:236
 TFormulaPrimitive_v5.cxx:237
 TFormulaPrimitive_v5.cxx:238
 TFormulaPrimitive_v5.cxx:239
 TFormulaPrimitive_v5.cxx:240
 TFormulaPrimitive_v5.cxx:241
 TFormulaPrimitive_v5.cxx:242
 TFormulaPrimitive_v5.cxx:243
 TFormulaPrimitive_v5.cxx:244
 TFormulaPrimitive_v5.cxx:245
 TFormulaPrimitive_v5.cxx:246
 TFormulaPrimitive_v5.cxx:247
 TFormulaPrimitive_v5.cxx:248
 TFormulaPrimitive_v5.cxx:249
 TFormulaPrimitive_v5.cxx:250
 TFormulaPrimitive_v5.cxx:251
 TFormulaPrimitive_v5.cxx:252
 TFormulaPrimitive_v5.cxx:253
 TFormulaPrimitive_v5.cxx:254
 TFormulaPrimitive_v5.cxx:255
 TFormulaPrimitive_v5.cxx:256
 TFormulaPrimitive_v5.cxx:257
 TFormulaPrimitive_v5.cxx:258
 TFormulaPrimitive_v5.cxx:259
 TFormulaPrimitive_v5.cxx:260
 TFormulaPrimitive_v5.cxx:261
 TFormulaPrimitive_v5.cxx:262
 TFormulaPrimitive_v5.cxx:263
 TFormulaPrimitive_v5.cxx:264
 TFormulaPrimitive_v5.cxx:265
 TFormulaPrimitive_v5.cxx:266
 TFormulaPrimitive_v5.cxx:267
 TFormulaPrimitive_v5.cxx:268
 TFormulaPrimitive_v5.cxx:269
 TFormulaPrimitive_v5.cxx:270
 TFormulaPrimitive_v5.cxx:271
 TFormulaPrimitive_v5.cxx:272
 TFormulaPrimitive_v5.cxx:273
 TFormulaPrimitive_v5.cxx:274
 TFormulaPrimitive_v5.cxx:275
 TFormulaPrimitive_v5.cxx:276
 TFormulaPrimitive_v5.cxx:277
 TFormulaPrimitive_v5.cxx:278
 TFormulaPrimitive_v5.cxx:279
 TFormulaPrimitive_v5.cxx:280
 TFormulaPrimitive_v5.cxx:281
 TFormulaPrimitive_v5.cxx:282
 TFormulaPrimitive_v5.cxx:283
 TFormulaPrimitive_v5.cxx:284
 TFormulaPrimitive_v5.cxx:285
 TFormulaPrimitive_v5.cxx:286
 TFormulaPrimitive_v5.cxx:287
 TFormulaPrimitive_v5.cxx:288
 TFormulaPrimitive_v5.cxx:289
 TFormulaPrimitive_v5.cxx:290
 TFormulaPrimitive_v5.cxx:291
 TFormulaPrimitive_v5.cxx:292
 TFormulaPrimitive_v5.cxx:293
 TFormulaPrimitive_v5.cxx:294
 TFormulaPrimitive_v5.cxx:295
 TFormulaPrimitive_v5.cxx:296
 TFormulaPrimitive_v5.cxx:297
 TFormulaPrimitive_v5.cxx:298
 TFormulaPrimitive_v5.cxx:299
 TFormulaPrimitive_v5.cxx:300
 TFormulaPrimitive_v5.cxx:301
 TFormulaPrimitive_v5.cxx:302
 TFormulaPrimitive_v5.cxx:303
 TFormulaPrimitive_v5.cxx:304
 TFormulaPrimitive_v5.cxx:305
 TFormulaPrimitive_v5.cxx:306
 TFormulaPrimitive_v5.cxx:307
 TFormulaPrimitive_v5.cxx:308
 TFormulaPrimitive_v5.cxx:309
 TFormulaPrimitive_v5.cxx:310
 TFormulaPrimitive_v5.cxx:311
 TFormulaPrimitive_v5.cxx:312
 TFormulaPrimitive_v5.cxx:313
 TFormulaPrimitive_v5.cxx:314
 TFormulaPrimitive_v5.cxx:315
 TFormulaPrimitive_v5.cxx:316
 TFormulaPrimitive_v5.cxx:317
 TFormulaPrimitive_v5.cxx:318
 TFormulaPrimitive_v5.cxx:319
 TFormulaPrimitive_v5.cxx:320
 TFormulaPrimitive_v5.cxx:321
 TFormulaPrimitive_v5.cxx:322
 TFormulaPrimitive_v5.cxx:323
 TFormulaPrimitive_v5.cxx:324
 TFormulaPrimitive_v5.cxx:325
 TFormulaPrimitive_v5.cxx:326
 TFormulaPrimitive_v5.cxx:327
 TFormulaPrimitive_v5.cxx:328
 TFormulaPrimitive_v5.cxx:329
 TFormulaPrimitive_v5.cxx:330
 TFormulaPrimitive_v5.cxx:331
 TFormulaPrimitive_v5.cxx:332
 TFormulaPrimitive_v5.cxx:333
 TFormulaPrimitive_v5.cxx:334
 TFormulaPrimitive_v5.cxx:335
 TFormulaPrimitive_v5.cxx:336
 TFormulaPrimitive_v5.cxx:337
 TFormulaPrimitive_v5.cxx:338
 TFormulaPrimitive_v5.cxx:339
 TFormulaPrimitive_v5.cxx:340
 TFormulaPrimitive_v5.cxx:341
 TFormulaPrimitive_v5.cxx:342
 TFormulaPrimitive_v5.cxx:343
 TFormulaPrimitive_v5.cxx:344
 TFormulaPrimitive_v5.cxx:345
 TFormulaPrimitive_v5.cxx:346
 TFormulaPrimitive_v5.cxx:347
 TFormulaPrimitive_v5.cxx:348
 TFormulaPrimitive_v5.cxx:349
 TFormulaPrimitive_v5.cxx:350
 TFormulaPrimitive_v5.cxx:351
 TFormulaPrimitive_v5.cxx:352
 TFormulaPrimitive_v5.cxx:353
 TFormulaPrimitive_v5.cxx:354
 TFormulaPrimitive_v5.cxx:355
 TFormulaPrimitive_v5.cxx:356
 TFormulaPrimitive_v5.cxx:357
 TFormulaPrimitive_v5.cxx:358
 TFormulaPrimitive_v5.cxx:359
 TFormulaPrimitive_v5.cxx:360
 TFormulaPrimitive_v5.cxx:361
 TFormulaPrimitive_v5.cxx:362
 TFormulaPrimitive_v5.cxx:363
 TFormulaPrimitive_v5.cxx:364
 TFormulaPrimitive_v5.cxx:365
 TFormulaPrimitive_v5.cxx:366
 TFormulaPrimitive_v5.cxx:367
 TFormulaPrimitive_v5.cxx:368
 TFormulaPrimitive_v5.cxx:369
 TFormulaPrimitive_v5.cxx:370
 TFormulaPrimitive_v5.cxx:371
 TFormulaPrimitive_v5.cxx:372
 TFormulaPrimitive_v5.cxx:373
 TFormulaPrimitive_v5.cxx:374
 TFormulaPrimitive_v5.cxx:375
 TFormulaPrimitive_v5.cxx:376
 TFormulaPrimitive_v5.cxx:377
 TFormulaPrimitive_v5.cxx:378
 TFormulaPrimitive_v5.cxx:379
 TFormulaPrimitive_v5.cxx:380
 TFormulaPrimitive_v5.cxx:381
 TFormulaPrimitive_v5.cxx:382
 TFormulaPrimitive_v5.cxx:383
 TFormulaPrimitive_v5.cxx:384
 TFormulaPrimitive_v5.cxx:385
 TFormulaPrimitive_v5.cxx:386
 TFormulaPrimitive_v5.cxx:387
 TFormulaPrimitive_v5.cxx:388
 TFormulaPrimitive_v5.cxx:389
 TFormulaPrimitive_v5.cxx:390
 TFormulaPrimitive_v5.cxx:391
 TFormulaPrimitive_v5.cxx:392
 TFormulaPrimitive_v5.cxx:393
 TFormulaPrimitive_v5.cxx:394
 TFormulaPrimitive_v5.cxx:395
 TFormulaPrimitive_v5.cxx:396
 TFormulaPrimitive_v5.cxx:397
 TFormulaPrimitive_v5.cxx:398
 TFormulaPrimitive_v5.cxx:399
 TFormulaPrimitive_v5.cxx:400
 TFormulaPrimitive_v5.cxx:401
 TFormulaPrimitive_v5.cxx:402
 TFormulaPrimitive_v5.cxx:403
 TFormulaPrimitive_v5.cxx:404
 TFormulaPrimitive_v5.cxx:405
 TFormulaPrimitive_v5.cxx:406
 TFormulaPrimitive_v5.cxx:407
 TFormulaPrimitive_v5.cxx:408
 TFormulaPrimitive_v5.cxx:409
 TFormulaPrimitive_v5.cxx:410
 TFormulaPrimitive_v5.cxx:411
 TFormulaPrimitive_v5.cxx:412
 TFormulaPrimitive_v5.cxx:413
 TFormulaPrimitive_v5.cxx:414
 TFormulaPrimitive_v5.cxx:415
 TFormulaPrimitive_v5.cxx:416
 TFormulaPrimitive_v5.cxx:417
 TFormulaPrimitive_v5.cxx:418
 TFormulaPrimitive_v5.cxx:419
 TFormulaPrimitive_v5.cxx:420
 TFormulaPrimitive_v5.cxx:421
 TFormulaPrimitive_v5.cxx:422
 TFormulaPrimitive_v5.cxx:423
 TFormulaPrimitive_v5.cxx:424
 TFormulaPrimitive_v5.cxx:425
 TFormulaPrimitive_v5.cxx:426
 TFormulaPrimitive_v5.cxx:427
 TFormulaPrimitive_v5.cxx:428
 TFormulaPrimitive_v5.cxx:429
 TFormulaPrimitive_v5.cxx:430
 TFormulaPrimitive_v5.cxx:431
 TFormulaPrimitive_v5.cxx:432
 TFormulaPrimitive_v5.cxx:433
 TFormulaPrimitive_v5.cxx:434
 TFormulaPrimitive_v5.cxx:435
 TFormulaPrimitive_v5.cxx:436
 TFormulaPrimitive_v5.cxx:437
 TFormulaPrimitive_v5.cxx:438
 TFormulaPrimitive_v5.cxx:439
 TFormulaPrimitive_v5.cxx:440
 TFormulaPrimitive_v5.cxx:441
 TFormulaPrimitive_v5.cxx:442
 TFormulaPrimitive_v5.cxx:443
 TFormulaPrimitive_v5.cxx:444
 TFormulaPrimitive_v5.cxx:445
 TFormulaPrimitive_v5.cxx:446
 TFormulaPrimitive_v5.cxx:447
 TFormulaPrimitive_v5.cxx:448
 TFormulaPrimitive_v5.cxx:449
 TFormulaPrimitive_v5.cxx:450
 TFormulaPrimitive_v5.cxx:451
 TFormulaPrimitive_v5.cxx:452
 TFormulaPrimitive_v5.cxx:453
 TFormulaPrimitive_v5.cxx:454
 TFormulaPrimitive_v5.cxx:455
 TFormulaPrimitive_v5.cxx:456
 TFormulaPrimitive_v5.cxx:457
 TFormulaPrimitive_v5.cxx:458
 TFormulaPrimitive_v5.cxx:459
 TFormulaPrimitive_v5.cxx:460
 TFormulaPrimitive_v5.cxx:461
 TFormulaPrimitive_v5.cxx:462
 TFormulaPrimitive_v5.cxx:463
 TFormulaPrimitive_v5.cxx:464
 TFormulaPrimitive_v5.cxx:465
 TFormulaPrimitive_v5.cxx:466
 TFormulaPrimitive_v5.cxx:467
 TFormulaPrimitive_v5.cxx:468
 TFormulaPrimitive_v5.cxx:469
 TFormulaPrimitive_v5.cxx:470
 TFormulaPrimitive_v5.cxx:471
 TFormulaPrimitive_v5.cxx:472
 TFormulaPrimitive_v5.cxx:473
 TFormulaPrimitive_v5.cxx:474
 TFormulaPrimitive_v5.cxx:475
 TFormulaPrimitive_v5.cxx:476
 TFormulaPrimitive_v5.cxx:477
 TFormulaPrimitive_v5.cxx:478
 TFormulaPrimitive_v5.cxx:479
 TFormulaPrimitive_v5.cxx:480
 TFormulaPrimitive_v5.cxx:481
 TFormulaPrimitive_v5.cxx:482
 TFormulaPrimitive_v5.cxx:483
 TFormulaPrimitive_v5.cxx:484
 TFormulaPrimitive_v5.cxx:485
 TFormulaPrimitive_v5.cxx:486
 TFormulaPrimitive_v5.cxx:487
 TFormulaPrimitive_v5.cxx:488
 TFormulaPrimitive_v5.cxx:489
 TFormulaPrimitive_v5.cxx:490
 TFormulaPrimitive_v5.cxx:491
 TFormulaPrimitive_v5.cxx:492
 TFormulaPrimitive_v5.cxx:493
 TFormulaPrimitive_v5.cxx:494
 TFormulaPrimitive_v5.cxx:495
 TFormulaPrimitive_v5.cxx:496
 TFormulaPrimitive_v5.cxx:497
 TFormulaPrimitive_v5.cxx:498
 TFormulaPrimitive_v5.cxx:499
 TFormulaPrimitive_v5.cxx:500
 TFormulaPrimitive_v5.cxx:501
 TFormulaPrimitive_v5.cxx:502
 TFormulaPrimitive_v5.cxx:503
 TFormulaPrimitive_v5.cxx:504
 TFormulaPrimitive_v5.cxx:505
 TFormulaPrimitive_v5.cxx:506
 TFormulaPrimitive_v5.cxx:507
 TFormulaPrimitive_v5.cxx:508
 TFormulaPrimitive_v5.cxx:509
 TFormulaPrimitive_v5.cxx:510
 TFormulaPrimitive_v5.cxx:511
 TFormulaPrimitive_v5.cxx:512
 TFormulaPrimitive_v5.cxx:513
 TFormulaPrimitive_v5.cxx:514
 TFormulaPrimitive_v5.cxx:515
 TFormulaPrimitive_v5.cxx:516
 TFormulaPrimitive_v5.cxx:517
 TFormulaPrimitive_v5.cxx:518
 TFormulaPrimitive_v5.cxx:519
 TFormulaPrimitive_v5.cxx:520
 TFormulaPrimitive_v5.cxx:521
 TFormulaPrimitive_v5.cxx:522
 TFormulaPrimitive_v5.cxx:523
 TFormulaPrimitive_v5.cxx:524
 TFormulaPrimitive_v5.cxx:525
 TFormulaPrimitive_v5.cxx:526
 TFormulaPrimitive_v5.cxx:527
 TFormulaPrimitive_v5.cxx:528
 TFormulaPrimitive_v5.cxx:529
 TFormulaPrimitive_v5.cxx:530
 TFormulaPrimitive_v5.cxx:531
 TFormulaPrimitive_v5.cxx:532
 TFormulaPrimitive_v5.cxx:533
 TFormulaPrimitive_v5.cxx:534
 TFormulaPrimitive_v5.cxx:535
 TFormulaPrimitive_v5.cxx:536
 TFormulaPrimitive_v5.cxx:537
 TFormulaPrimitive_v5.cxx:538