#ifndef _GNU_SOURCE
  #define _GNU_SOURCE
#endif
#include <fenv.h>
#include <stdlib.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_errno.h>
#include <gsl/gsl_sf_trig.h>
#include <gsl/gsl_sf_airy.h>

int main(){
  if (getenv("DIV"))
    feenableexcept(FE_DIVBYZERO);
  gsl_sf_result res;
  double x = -1.842761151977744;
  gsl_mode_t mode = GSL_PREC_DOUBLE;
  int status = gsl_sf_airy_Ai_e(x, mode, &res);

  printf(" status = %d\n", status);
  printf(" result = %.16g\n", res.val);
  printf(" error = %g\n", res.err);
}

//g++ -g -std=c++11 airy_divbyzero.c -lm -lgsl -lgslcblas -o a.out -I /home/parallels/Work/gsl-2.4/ -I /home/parallels/Work/gsl-2.4/specfunc/; DIV=1 ./a.out
