7 #define ADT_RAD Sacado::Rad:: 
   49 botch(
const char *what, 
double wanted, 
double got)
 
   53   printf(
"%s: expected %g, got %g, diff = %.2g\n", what, wanted, got, wanted-got);
 
   61  const double tol = 5e-16;
 
  105 #ifdef RAD_AUTO_AD_Const 
  131   double dx, dy, 
f, xd, yd;
 
  144   xd = 4.; yd = 3.; f = 0.; dx = 0.; dy = 0.;
 
  149   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,yAI)", f, fA.val());
 
  150   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,yAI)/dx", dx, xAI.adj());
 
  151   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xAI,yAI)/dy", dy, yAI.adj());
 
  158   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,yAI)", f, fA.val());
 
  159   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,yAI)/dx", dx, xcAI.adj());
 
  160   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xcAI,yAI)/dy", dy, yAI.adj());
 
  168   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,ycAI)", f, fA.val());
 
  169   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,ycAI)/dx", dx, xAI.adj());
 
  170   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xAI,ycAI)/dy", dy, ycAI.adj());
 
  178   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,ycAI)", f, fA.val());
 
  179   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,ycAI)/dx", dx, xcAI.adj());
 
  180   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xcAI,ycAI)/dy", dy, ycAI.adj());
 
  186   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,yA)", f, fA.val());
 
  187   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,yA)/dx", dx, xAI.adj());
 
  188   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xAI,yA)/dy", dy, yA.adj());
 
  195   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,yA)", f, fA.val());
 
  196   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,yA)/dx", dx, xcAI.adj());
 
  197   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xcAI,yA)/dy", dy, yA.adj());
 
  205   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,ycA)", f, fA.val());
 
  206   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,ycA)/dx", dx, xAI.adj());
 
  207   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xAI,ycA)/dy", dy, ycA.adj());
 
  215   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,ycA)", f, fA.val());
 
  216   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,ycA)/dx", dx, xcAI.adj());
 
  217   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xcAI,ycA)/dy", dy, ycA.adj());
 
  223   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,yC)", f, fA.val());
 
  224   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,yC)/dx", dx, xAI.adj());
 
  225   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xAI,yC)/dy", dy, yC.adj());
 
  232   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,yC)", f, fA.val());
 
  233   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,yC)/dx", dx, xcAI.adj());
 
  234   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xcAI,yC)/dy", dy, yC.adj());
 
  242   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,ycC)", f, fA.val());
 
  243   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,ycC)/dx", dx, xAI.adj());
 
  244   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xAI,ycC)/dy", dy, ycC.adj());
 
  252   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,ycC)", f, fA.val());
 
  253   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,ycC)/dx", dx, xcAI.adj());
 
  254   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xcAI,ycC)/dy", dy, ycC.adj());
 
  261   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,yAi)", f, fA.val());
 
  262   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,yAi)/dx", dx, xAI.adj());
 
  263   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xAI,yAi)/dy", dy, yAi.aval);
 
  271   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,yAi)", f, fA.val());
 
  272   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,yAi)/dx", dx, xcAI.adj());
 
  273   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xcAI,yAi)/dy", dy, yAi.aval);
 
  281   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,ycAi)", f, fA.val());
 
  282   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,ycAi)/dx", dx, xAI.adj());
 
  283   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xAI,ycAi)/dy", dy, ycAi.aval);
 
  291   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,ycAi)", f, fA.val());
 
  292   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,ycAi)/dx", dx, xcAI.adj());
 
  293   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xcAI,ycAi)/dy", dy, ycAi.aval);
 
  298   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,yd)", f, fA.val());
 
  299   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,yd)/dx", dx, xAI.adj());
 
  305   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,yd)", f, fA.val());
 
  306   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,yd)/dx", dx, xcAI.adj());
 
  312   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,yL)", f, fA.val());
 
  313   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,yL)/dx", dx, xAI.adj());
 
  320   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,yL)", f, fA.val());
 
  321   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,yL)/dx", dx, xcAI.adj());
 
  327   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAI,yi)", f, fA.val());
 
  328   else if (
differ(xAI.adj(), 
dx)) 
botch(
"d operator<=(xAI,yi)/dx", dx, xAI.adj());
 
  335   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAI,yi)", f, fA.val());
 
  336   else if (
differ(xcAI.adj(), 
dx)) 
botch(
"d operator<=(xcAI,yi)/dx", dx, xcAI.adj());
 
  342   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,yAI)", f, fA.val());
 
  343   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,yAI)/dx", dx, xA.adj());
 
  344   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xA,yAI)/dy", dy, yAI.adj());
 
  351   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,yAI)", f, fA.val());
 
  352   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,yAI)/dx", dx, xcA.adj());
 
  353   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xcA,yAI)/dy", dy, yAI.adj());
 
  361   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,ycAI)", f, fA.val());
 
  362   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,ycAI)/dx", dx, xA.adj());
 
  363   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xA,ycAI)/dy", dy, ycAI.adj());
 
  371   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,ycAI)", f, fA.val());
 
  372   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,ycAI)/dx", dx, xcA.adj());
 
  373   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xcA,ycAI)/dy", dy, ycAI.adj());
 
  379   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,yA)", f, fA.val());
 
  380   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,yA)/dx", dx, xA.adj());
 
  381   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xA,yA)/dy", dy, yA.adj());
 
  388   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,yA)", f, fA.val());
 
  389   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,yA)/dx", dx, xcA.adj());
 
  390   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xcA,yA)/dy", dy, yA.adj());
 
  398   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,ycA)", f, fA.val());
 
  399   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,ycA)/dx", dx, xA.adj());
 
  400   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xA,ycA)/dy", dy, ycA.adj());
 
  408   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,ycA)", f, fA.val());
 
  409   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,ycA)/dx", dx, xcA.adj());
 
  410   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xcA,ycA)/dy", dy, ycA.adj());
 
  416   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,yC)", f, fA.val());
 
  417   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,yC)/dx", dx, xA.adj());
 
  418   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xA,yC)/dy", dy, yC.adj());
 
  425   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,yC)", f, fA.val());
 
  426   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,yC)/dx", dx, xcA.adj());
 
  427   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xcA,yC)/dy", dy, yC.adj());
 
  435   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,ycC)", f, fA.val());
 
  436   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,ycC)/dx", dx, xA.adj());
 
  437   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xA,ycC)/dy", dy, ycC.adj());
 
  445   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,ycC)", f, fA.val());
 
  446   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,ycC)/dx", dx, xcA.adj());
 
  447   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xcA,ycC)/dy", dy, ycC.adj());
 
  454   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,yAi)", f, fA.val());
 
  455   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,yAi)/dx", dx, xA.adj());
 
  456   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xA,yAi)/dy", dy, yAi.aval);
 
  464   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,yAi)", f, fA.val());
 
  465   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,yAi)/dx", dx, xcA.adj());
 
  466   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xcA,yAi)/dy", dy, yAi.aval);
 
  474   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,ycAi)", f, fA.val());
 
  475   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,ycAi)/dx", dx, xA.adj());
 
  476   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xA,ycAi)/dy", dy, ycAi.aval);
 
  484   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,ycAi)", f, fA.val());
 
  485   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,ycAi)/dx", dx, xcA.adj());
 
  486   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xcA,ycAi)/dy", dy, ycAi.aval);
 
  491   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,yd)", f, fA.val());
 
  492   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,yd)/dx", dx, xA.adj());
 
  498   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,yd)", f, fA.val());
 
  499   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,yd)/dx", dx, xcA.adj());
 
  505   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,yL)", f, fA.val());
 
  506   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,yL)/dx", dx, xA.adj());
 
  513   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,yL)", f, fA.val());
 
  514   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,yL)/dx", dx, xcA.adj());
 
  520   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xA,yi)", f, fA.val());
 
  521   else if (
differ(xA.adj(), 
dx)) 
botch(
"d operator<=(xA,yi)/dx", dx, xA.adj());
 
  528   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcA,yi)", f, fA.val());
 
  529   else if (
differ(xcA.adj(), 
dx)) 
botch(
"d operator<=(xcA,yi)/dx", dx, xcA.adj());
 
  535   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,yAI)", f, fA.val());
 
  536   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,yAI)/dx", dx, xC.adj());
 
  537   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xC,yAI)/dy", dy, yAI.adj());
 
  544   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,yAI)", f, fA.val());
 
  545   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,yAI)/dx", dx, xcC.adj());
 
  546   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xcC,yAI)/dy", dy, yAI.adj());
 
  554   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,ycAI)", f, fA.val());
 
  555   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,ycAI)/dx", dx, xC.adj());
 
  556   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xC,ycAI)/dy", dy, ycAI.adj());
 
  564   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,ycAI)", f, fA.val());
 
  565   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,ycAI)/dx", dx, xcC.adj());
 
  566   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xcC,ycAI)/dy", dy, ycAI.adj());
 
  572   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,yA)", f, fA.val());
 
  573   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,yA)/dx", dx, xC.adj());
 
  574   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xC,yA)/dy", dy, yA.adj());
 
  581   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,yA)", f, fA.val());
 
  582   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,yA)/dx", dx, xcC.adj());
 
  583   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xcC,yA)/dy", dy, yA.adj());
 
  591   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,ycA)", f, fA.val());
 
  592   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,ycA)/dx", dx, xC.adj());
 
  593   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xC,ycA)/dy", dy, ycA.adj());
 
  601   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,ycA)", f, fA.val());
 
  602   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,ycA)/dx", dx, xcC.adj());
 
  603   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xcC,ycA)/dy", dy, ycA.adj());
 
  609   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,yC)", f, fA.val());
 
  610   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,yC)/dx", dx, xC.adj());
 
  611   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xC,yC)/dy", dy, yC.adj());
 
  618   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,yC)", f, fA.val());
 
  619   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,yC)/dx", dx, xcC.adj());
 
  620   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xcC,yC)/dy", dy, yC.adj());
 
  628   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,ycC)", f, fA.val());
 
  629   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,ycC)/dx", dx, xC.adj());
 
  630   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xC,ycC)/dy", dy, ycC.adj());
 
  638   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,ycC)", f, fA.val());
 
  639   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,ycC)/dx", dx, xcC.adj());
 
  640   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xcC,ycC)/dy", dy, ycC.adj());
 
  647   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,yAi)", f, fA.val());
 
  648   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,yAi)/dx", dx, xC.adj());
 
  649   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xC,yAi)/dy", dy, yAi.aval);
 
  657   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,yAi)", f, fA.val());
 
  658   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,yAi)/dx", dx, xcC.adj());
 
  659   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xcC,yAi)/dy", dy, yAi.aval);
 
  667   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,ycAi)", f, fA.val());
 
  668   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,ycAi)/dx", dx, xC.adj());
 
  669   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xC,ycAi)/dy", dy, ycAi.aval);
 
  677   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,ycAi)", f, fA.val());
 
  678   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,ycAi)/dx", dx, xcC.adj());
 
  679   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xcC,ycAi)/dy", dy, ycAi.aval);
 
  684   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,yd)", f, fA.val());
 
  685   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,yd)/dx", dx, xC.adj());
 
  691   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,yd)", f, fA.val());
 
  692   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,yd)/dx", dx, xcC.adj());
 
  698   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,yL)", f, fA.val());
 
  699   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,yL)/dx", dx, xC.adj());
 
  706   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,yL)", f, fA.val());
 
  707   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,yL)/dx", dx, xcC.adj());
 
  713   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xC,yi)", f, fA.val());
 
  714   else if (
differ(xC.adj(), 
dx)) 
botch(
"d operator<=(xC,yi)/dx", dx, xC.adj());
 
  721   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcC,yi)", f, fA.val());
 
  722   else if (
differ(xcC.adj(), 
dx)) 
botch(
"d operator<=(xcC,yi)/dx", dx, xcC.adj());
 
  729   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,yAI)", f, fA.val());
 
  730   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,yAI)/dx", dx, xAi.aval);
 
  731   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xAi,yAI)/dy", dy, yAI.adj());
 
  739   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAi,yAI)", f, fA.val());
 
  740   else if (
differ(xcAi.aval, dx)) 
botch(
"d operator<=(xcAi,yAI)/dx", dx, xcAi.aval);
 
  741   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xcAi,yAI)/dy", dy, yAI.adj());
 
  749   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,ycAI)", f, fA.val());
 
  750   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,ycAI)/dx", dx, xAi.aval);
 
  751   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xAi,ycAI)/dy", dy, ycAI.adj());
 
  758   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,yA)", f, fA.val());
 
  759   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,yA)/dx", dx, xAi.aval);
 
  760   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xAi,yA)/dy", dy, yA.adj());
 
  768   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAi,yA)", f, fA.val());
 
  769   else if (
differ(xcAi.aval, dx)) 
botch(
"d operator<=(xcAi,yA)/dx", dx, xcAi.aval);
 
  770   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xcAi,yA)/dy", dy, yA.adj());
 
  778   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,ycA)", f, fA.val());
 
  779   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,ycA)/dx", dx, xAi.aval);
 
  780   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xAi,ycA)/dy", dy, ycA.adj());
 
  787   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,yC)", f, fA.val());
 
  788   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,yC)/dx", dx, xAi.aval);
 
  789   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xAi,yC)/dy", dy, yC.adj());
 
  797   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAi,yC)", f, fA.val());
 
  798   else if (
differ(xcAi.aval, dx)) 
botch(
"d operator<=(xcAi,yC)/dx", dx, xcAi.aval);
 
  799   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xcAi,yC)/dy", dy, yC.adj());
 
  807   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,ycC)", f, fA.val());
 
  808   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,ycC)/dx", dx, xAi.aval);
 
  809   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xAi,ycC)/dy", dy, ycC.adj());
 
  816   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,yAi)", f, fA.val());
 
  817   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,yAi)/dx", dx, xAi.aval);
 
  818   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xAi,yAi)/dy", dy, yAi.aval);
 
  826   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAi,yAi)", f, fA.val());
 
  827   else if (
differ(xcAi.aval, dx)) 
botch(
"d operator<=(xcAi,yAi)/dx", dx, xcAi.aval);
 
  828   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xcAi,yAi)/dy", dy, yAi.aval);
 
  836   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,ycAi)", f, fA.val());
 
  837   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,ycAi)/dx", dx, xAi.aval);
 
  838   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xAi,ycAi)/dy", dy, ycAi.aval);
 
  844   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,yd)", f, fA.val());
 
  845   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,yd)/dx", dx, xAi.aval);
 
  852   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAi,yd)", f, fA.val());
 
  853   else if (
differ(xcAi.aval, dx)) 
botch(
"d operator<=(xcAi,yd)/dx", dx, xcAi.aval);
 
  860   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,yL)", f, fA.val());
 
  861   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,yL)/dx", dx, xAi.aval);
 
  869   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAi,yL)", f, fA.val());
 
  870   else if (
differ(xcAi.aval, dx)) 
botch(
"d operator<=(xcAi,yL)/dx", dx, xcAi.aval);
 
  877   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xAi,yi)", f, fA.val());
 
  878   else if (
differ(xAi.aval, dx)) 
botch(
"d operator<=(xAi,yi)/dx", dx, xAi.aval);
 
  886   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xcAi,yi)", f, fA.val());
 
  887   else if (
differ(xcAi.aval, dx)) 
botch(
"d operator<=(xcAi,yi)/dx", dx, xcAi.aval);
 
  892   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,yAI)", f, fA.val());
 
  893   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xd,yAI)/dy", dy, yAI.adj());
 
  899   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,ycAI)", f, fA.val());
 
  900   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xd,ycAI)/dy", dy, ycAI.adj());
 
  905   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,yA)", f, fA.val());
 
  906   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xd,yA)/dy", dy, yA.adj());
 
  912   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,ycA)", f, fA.val());
 
  913   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xd,ycA)/dy", dy, ycA.adj());
 
  918   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,yC)", f, fA.val());
 
  919   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xd,yC)/dy", dy, yC.adj());
 
  925   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,ycC)", f, fA.val());
 
  926   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xd,ycC)/dy", dy, ycC.adj());
 
  932   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,yAi)", f, fA.val());
 
  933   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xd,yAi)/dy", dy, yAi.aval);
 
  940   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xd,ycAi)", f, fA.val());
 
  941   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xd,ycAi)/dy", dy, ycAi.aval);
 
  947   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,yAI)", f, fA.val());
 
  948   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xL,yAI)/dy", dy, yAI.adj());
 
  955   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,ycAI)", f, fA.val());
 
  956   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xL,ycAI)/dy", dy, ycAI.adj());
 
  962   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,yA)", f, fA.val());
 
  963   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xL,yA)/dy", dy, yA.adj());
 
  970   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,ycA)", f, fA.val());
 
  971   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xL,ycA)/dy", dy, ycA.adj());
 
  977   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,yC)", f, fA.val());
 
  978   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xL,yC)/dy", dy, yC.adj());
 
  985   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,ycC)", f, fA.val());
 
  986   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xL,ycC)/dy", dy, ycC.adj());
 
  993   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,yAi)", f, fA.val());
 
  994   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xL,yAi)/dy", dy, yAi.aval);
 
 1002   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xL,ycAi)", f, fA.val());
 
 1003   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xL,ycAi)/dy", dy, ycAi.aval);
 
 1009   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,yAI)", f, fA.val());
 
 1010   else if (
differ(yAI.adj(), dy)) 
botch(
"d operator<=(xi,yAI)/dy", dy, yAI.adj());
 
 1017   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,ycAI)", f, fA.val());
 
 1018   else if (
differ(ycAI.adj(), dy)) 
botch(
"d operator<=(xi,ycAI)/dy", dy, ycAI.adj());
 
 1024   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,yA)", f, fA.val());
 
 1025   else if (
differ(yA.adj(), dy)) 
botch(
"d operator<=(xi,yA)/dy", dy, yA.adj());
 
 1032   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,ycA)", f, fA.val());
 
 1033   else if (
differ(ycA.adj(), dy)) 
botch(
"d operator<=(xi,ycA)/dy", dy, ycA.adj());
 
 1039   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,yC)", f, fA.val());
 
 1040   else if (
differ(yC.adj(), dy)) 
botch(
"d operator<=(xi,yC)/dy", dy, yC.adj());
 
 1047   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,ycC)", f, fA.val());
 
 1048   else if (
differ(ycC.adj(), dy)) 
botch(
"d operator<=(xi,ycC)/dy", dy, ycC.adj());
 
 1055   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,yAi)", f, fA.val());
 
 1056   else if (
differ(yAi.aval, dy)) 
botch(
"d operator<=(xi,yAi)/dy", dy, yAi.aval);
 
 1064   if (
differ(fA.val(), f)) 
botch(
"fA = operator<=(xi,ycAi)", f, fA.val());
 
 1065   else if (
differ(ycAi.aval, dy)) 
botch(
"d operator<=(xi,ycAi)/dy", dy, ycAi.aval);
 
ADT_RAD ADvari< double > Ai
int botch(ExpectedAnswer *e, const char *partial, double got, double wanted)
ADT_RAD IndepADvar< double > AI
const ADT_RAD IndepADvar< double > cAI
const ADT_RAD ADvari< double > cAi
static int differ(double a, double b)
const ADT_RAD ConstADvar< double > cC
bool operator<=(BigUInt< n > const &a, BigUInt< n > const &b)
const ADT_RAD ADvar< double > cA