54 static double c1 = 0.35502805388781723926;
 
   55 static double c2 = 0.258819403792806798405;
 
   56 static double sqrt3 = 1.732050807568877293527;
 
   57 static double sqpii = 5.64189583547756286948E-1;
 
   65 #define MAXAIRY 103.892 
   68 #define MAXAIRY 103.892 
   72 static double AN[8] = {
 
   73     3.46538101525629032477E-1,
 
   74     1.20075952739645805542E1,
 
   75     7.62796053615234516538E1,
 
   76     1.68089224934630576269E2,
 
   77     1.59756391350164413639E2,
 
   78     7.05360906840444183113E1,
 
   79     1.40264691163389668864E1,
 
   80     9.99999999999999995305E-1,
 
   83 static double AD[8] = {
 
   84     5.67594532638770212846E-1,
 
   85     1.47562562584847203173E1,
 
   86     8.45138970141474626562E1,
 
   87     1.77318088145400459522E2,
 
   88     1.64234692871529701831E2,
 
   89     7.14778400825575695274E1,
 
   90     1.40959135607834029598E1,
 
   91     1.00000000000000000470E0,
 
   94 static double APN[8] = {
 
   95     6.13759184814035759225E-1,
 
   96     1.47454670787755323881E1,
 
   97     8.20584123476060982430E1,
 
   98     1.71184781360976385540E2,
 
   99     1.59317847137141783523E2,
 
  100     6.99778599330103016170E1,
 
  101     1.39470856980481566958E1,
 
  102     1.00000000000000000550E0,
 
  106     3.34203677749736953049E-1,
 
  107     1.11810297306158156705E1,
 
  108     7.11727352147859965283E1,
 
  109     1.58778084372838313640E2,
 
  110     1.53206427475809220834E2,
 
  111     6.86752304592780337944E1,
 
  112     1.38498634758259442477E1,
 
  113     9.99999999999999994502E-1,
 
  117     -2.53240795869364152689E-1,
 
  118     5.75285167332467384228E-1,
 
  119     -3.29907036873225371650E-1,
 
  120     6.44404068948199951727E-2,
 
  121     -3.82519546641336734394E-3,
 
  126     -7.15685095054035237902E0,
 
  127     1.06039580715664694291E1,
 
  128     -5.23246636471251500874E0,
 
  129     9.57395864378383833152E-1,
 
  130     -5.50828147163549611107E-2,
 
  134     4.65461162774651610328E-1,
 
  135     -1.08992173800493920734E0,
 
  136     6.38800117371827987759E-1,
 
  137     -1.26844349553102907034E-1,
 
  138     7.62487844342109852105E-3,
 
  143     -8.70622787633159124240E0,
 
  144     1.38993162704553213172E1,
 
  145     -7.14116144616431159572E0,
 
  146     1.34008595960680518666E0,
 
  147     -7.84273211323341930448E-2,
 
  151     -1.31696323418331795333E-1,
 
  152     -6.26456544431912369773E-1,
 
  153     -6.93158036036933542233E-1,
 
  154     -2.79779981545119124951E-1,
 
  155     -4.91900132609500318020E-2,
 
  156     -4.06265923594885404393E-3,
 
  157     -1.59276496239262096340E-4,
 
  158     -2.77649108155232920844E-6,
 
  159     -1.67787698489114633780E-8,
 
  164     1.33560420706553243746E1,
 
  165     3.26825032795224613948E1,
 
  166     2.67367040941499554804E1,
 
  167     9.18707402907259625840E0,
 
  168     1.47529146771666414581E0,
 
  169     1.15687173795188044134E-1,
 
  170     4.40291641615211203805E-3,
 
  171     7.54720348287414296618E-5,
 
  172     4.51850092970580378464E-7,
 
  176     1.97339932091685679179E-2,
 
  177     3.91103029615688277255E-1,
 
  178     1.06579897599595591108E0,
 
  179     9.39169229816650230044E-1,
 
  180     3.51465656105547619242E-1,
 
  181     6.33888919628925490927E-2,
 
  182     5.85804113048388458567E-3,
 
  183     2.82851600836737019778E-4,
 
  184     6.98793669997260967291E-6,
 
  185     8.11789239554389293311E-8,
 
  186     3.41551784765923618484E-10,
 
  191     9.30892908077441974853E0,
 
  192     1.98352928718312140417E1,
 
  193     1.55646628932864612953E1,
 
  194     5.47686069422975497931E0,
 
  195     9.54293611618961883998E-1,
 
  196     8.64580826352392193095E-2,
 
  197     4.12656523824222607191E-3,
 
  198     1.01259085116509135510E-4,
 
  199     1.17166733214413521882E-6,
 
  200     4.91834570062930015649E-9,
 
  204     1.85365624022535566142E-1,
 
  205     8.86712188052584095637E-1,
 
  206     9.87391981747398547272E-1,
 
  207     4.01241082318003734092E-1,
 
  208     7.10304926289631174579E-2,
 
  209     5.90618657995661810071E-3,
 
  210     2.33051409401776799569E-4,
 
  211     4.08718778289035454598E-6,
 
  212     2.48379932900442457853E-8,
 
  217     1.47345854687502542552E1,
 
  218     3.75423933435489594466E1,
 
  219     3.14657751203046424330E1,
 
  220     1.09969125207298778536E1,
 
  221     1.78885054766999417817E0,
 
  222     1.41733275753662636873E-1,
 
  223     5.44066067017226003627E-3,
 
  224     9.39421290654511171663E-5,
 
  225     5.65978713036027009243E-7,
 
  229     -3.55615429033082288335E-2,
 
  230     -6.37311518129435504426E-1,
 
  231     -1.70856738884312371053E0,
 
  232     -1.50221872117316635393E0,
 
  233     -5.63606665822102676611E-1,
 
  234     -1.02101031120216891789E-1,
 
  235     -9.48396695961445269093E-3,
 
  236     -4.60325307486780994357E-4,
 
  237     -1.14300836484517375919E-5,
 
  238     -1.33415518685547420648E-7,
 
  239     -5.63803833958893494476E-10,
 
  244     9.85865801696130355144E0,
 
  245     2.16401867356585941885E1,
 
  246     1.73130776389749389525E1,
 
  247     6.17872175280828766327E0,
 
  248     1.08848694396321495475E0,
 
  249     9.95005543440888479402E-2,
 
  250     4.78468199683886610842E-3,
 
  251     1.18159633322838625562E-4,
 
  252     1.37480673554219441465E-6,
 
  253     5.79912514929147598821E-9,
 
  256 int airy(
double x, 
double *ai, 
double *aip, 
double *bi, 
double *bip)
 
  258     double z, zz, 
t, 
f, 
g, uf, ug, 
k, 
zeta, theta;
 
  273         zeta = -2.0 * 
x * 
t / 3.0;
 
  283         *ai = 
k * (
f * uf - 
g * ug);
 
  284         *bi = 
k * (
g * uf + 
f * ug);
 
  288         *aip = -
k * (
g * uf + 
f * ug);
 
  289         *bip = 
k * (
f * uf - 
g * ug);
 
  310             *bi = 
k * (1.0 + 
f) / 
t;
 
  312             *bip = 
k * 
t * (1.0 + 
f);
 
  340     if ((domflg & 1) == 0)
 
  342     if ((domflg & 2) == 0)
 
  343         *bi = 
sqrt3 * (uf + ug);
 
  371     if ((domflg & 4) == 0)
 
  373     if ((domflg & 8) == 0)
 
  374         *bip = 
sqrt3 * (uf + ug);