#!/usr/bin/perl
my
$workspace
= gsl_integration_workspace_alloc(101);
my
$maxdiff
= 0;
printf
" arg erfc int() difference\n"
;
for
(
my
$i
=-5.2 ;
$i
<=5.201 ;
$i
+= 0.1 ) {
my
$e
= gsl_sf_erfc(
$i
);
my
(
$status
,
$result
,
$abserr
) = gsl_integration_qagiu(
sub
{
exp
( -(
$_
[0]**2) ) },
$i
, 0, 1e-9, 100,
$workspace
);
my
$yy
=
$M_2_SQRTPI
*
$result
;
my
$diff
=
$yy
-
$e
;
$maxdiff
=
abs
(
$diff
) >
$maxdiff
?
abs
(
$diff
) :
$maxdiff
;
printf
"%4.1f%18.12f%18.12f %.18g\n"
,
$i
,
$e
,
$yy
,
$diff
;
}
printf
"Maximum local error: %.12g\n"
,
$maxdiff
;