// { dg-do run { target c++11 } }
// { dg-options "-D__STDCPP_WANT_MATH_SPEC_FUNCS__" }
//
// Copyright (C) 2016-2023 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library.  This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
// any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this library; see the file COPYING3.  If not see
// <http://www.gnu.org/licenses/>.

//  cyl_neumann
//  Compare against values generated by the GNU Scientific Library.
//  The GSL can be found on the web: http://www.gnu.org/software/gsl/
#include <limits>
#include <cmath>
#if defined(__TEST_DEBUG)
#  include <iostream>
#  define VERIFY(A) \
  if (!(A)) \
    { \
      std::cout << "line " << __LINE__ \
	<< "  max_abs_frac = " << max_abs_frac \
	<< std::endl; \
    }
#else
#  include <testsuite_hooks.h>
#endif
#include <specfun_testcase.h>

// Test data for nu=0.0000000000000000.
// max(|f - f_GSL|): 9.9920072216264089e-16 at index 7
// max(|f - f_GSL| / |f_GSL|): 1.5769525176812613e-14
// mean(f - f_GSL): 1.7173762412170391e-17
// variance(f - f_GSL): 1.8144622474613909e-32
// stddev(f - f_GSL): 1.3470197650596635e-16
const testcase_cyl_neumann<double>
data007[20] =
{
  { -0.93157302493005878, 0.0000000000000000, 0.25000000000000000, 0.0 },
  { -0.44451873350670656, 0.0000000000000000, 0.50000000000000000, 0.0 },
  { -0.13717276938577236, 0.0000000000000000, 0.75000000000000000, 0.0 },
  { 0.088256964215676942, 0.0000000000000000, 1.0000000000000000, 0.0 },
  { 0.25821685159454072, 0.0000000000000000, 1.2500000000000000, 0.0 },
  { 0.38244892379775886, 0.0000000000000000, 1.5000000000000000, 0.0 },
  { 0.46549262864690610, 0.0000000000000000, 1.7500000000000000, 0.0 },
  { 0.51037567264974493, 0.0000000000000000, 2.0000000000000000, 0.0 },
  { 0.52006476245727862, 0.0000000000000000, 2.2500000000000000, 0.0 },
  { 0.49807035961523194, 0.0000000000000000, 2.5000000000000000, 0.0 },
  { 0.44865872156913222, 0.0000000000000000, 2.7500000000000000, 0.0 },
  { 0.37685001001279045, 0.0000000000000000, 3.0000000000000000, 0.0 },
  { 0.28828690267308710, 0.0000000000000000, 3.2500000000000000, 0.0 },
  { 0.18902194392082688, 0.0000000000000000, 3.5000000000000000, 0.0 },
  { 0.085256756977362638, 0.0000000000000000, 3.7500000000000000, 0.0 },
  { -0.016940739325064763, 0.0000000000000000, 4.0000000000000000, 0.0 },
  { -0.11191885116160770, 0.0000000000000000, 4.2500000000000000, 0.0 },
  { -0.19470500862950454, 0.0000000000000000, 4.5000000000000000, 0.0 },
  { -0.26123250323497549, 0.0000000000000000, 4.7500000000000000, 0.0 },
  { -0.30851762524903359, 0.0000000000000000, 5.0000000000000000, 0.0 },
};
const double toler007 = 1.0000000000000008e-12;

// Test data for nu=0.33333333333333331.
// max(|f - f_GSL|): 1.7208456881689926e-15 at index 7
// max(|f - f_GSL| / |f_GSL|): 5.0141196309547185e-15
// mean(f - f_GSL): -1.8908485888147198e-17
// variance(f - f_GSL): 4.0002408539583433e-33
// stddev(f - f_GSL): 6.3247457292434642e-17
const testcase_cyl_neumann<double>
data008[20] =
{
  { -1.3461842332051073, 0.33333333333333331, 0.25000000000000000, 0.0 },
  { -0.84062782604337771, 0.33333333333333331, 0.50000000000000000, 0.0 },
  { -0.52488281484097088, 0.33333333333333331, 0.75000000000000000, 0.0 },
  { -0.27880164127599216, 0.33333333333333331, 1.0000000000000000, 0.0 },
  { -0.074321349727836453, 0.33333333333333331, 1.2500000000000000, 0.0 },
  { 0.096610087766627981, 0.33333333333333331, 1.5000000000000000, 0.0 },
  { 0.23582564494922068, 0.33333333333333331, 1.7500000000000000, 0.0 },
  { 0.34319996626034494, 0.33333333333333331, 2.0000000000000000, 0.0 },
  { 0.41835668452349323, 0.33333333333333331, 2.2500000000000000, 0.0 },
  { 0.46145947419129157, 0.33333333333333331, 2.5000000000000000, 0.0 },
  { 0.47358926135786023, 0.33333333333333331, 2.7500000000000000, 0.0 },
  { 0.45689303457230640, 0.33333333333333331, 3.0000000000000000, 0.0 },
  { 0.41458485697347386, 0.33333333333333331, 3.2500000000000000, 0.0 },
  { 0.35084133277859947, 0.33333333333333331, 3.5000000000000000, 0.0 },
  { 0.27061914527820891, 0.33333333333333331, 3.7500000000000000, 0.0 },
  { 0.17941676634394862, 0.33333333333333331, 4.0000000000000000, 0.0 },
  { 0.083000434191526043, 0.33333333333333331, 4.2500000000000000, 0.0 },
  { -0.012886361627105348, 0.33333333333333331, 4.5000000000000000, 0.0 },
  { -0.10281143123935124, 0.33333333333333331, 4.7500000000000000, 0.0 },
  { -0.18192321129343850, 0.33333333333333331, 5.0000000000000000, 0.0 },
};
const double toler008 = 5.0000000000000039e-13;

// Test data for nu=0.50000000000000000.
// max(|f - f_GSL|): 5.5511151231257827e-16 at index 1
// max(|f - f_GSL| / |f_GSL|): 6.6252247616878728e-15
// mean(f - f_GSL): -8.0924850154318048e-17
// variance(f - f_GSL): 1.5661893379337934e-34
// stddev(f - f_GSL): 1.2514748650827124e-17
const testcase_cyl_neumann<double>
data009[20] =
{
  { -1.5461605241060765, 0.50000000000000000, 0.25000000000000000, 0.0 },
  { -0.99024588024340454, 0.50000000000000000, 0.50000000000000000, 0.0 },
  { -0.67411792914454438, 0.50000000000000000, 0.75000000000000000, 0.0 },
  { -0.43109886801837571, 0.50000000000000000, 1.0000000000000000, 0.0 },
  { -0.22502969244466481, 0.50000000000000000, 1.2500000000000000, 0.0 },
  { -0.046083165893097265, 0.50000000000000000, 1.5000000000000000, 0.0 },
  { 0.10750804524368722, 0.50000000000000000, 1.7500000000000000, 0.0 },
  { 0.23478571040624849, 0.50000000000000000, 2.0000000000000000, 0.0 },
  { 0.33414002338271825, 0.50000000000000000, 2.2500000000000000, 0.0 },
  { 0.40427830223905686, 0.50000000000000000, 2.5000000000000000, 0.0 },
  { 0.44472115119490507, 0.50000000000000000, 2.7500000000000000, 0.0 },
  { 0.45604882079463316, 0.50000000000000000, 3.0000000000000000, 0.0 },
  { 0.43998859501924370, 0.50000000000000000, 3.2500000000000000, 0.0 },
  { 0.39938682536304909, 0.50000000000000000, 3.5000000000000000, 0.0 },
  { 0.33809163836693340, 0.50000000000000000, 3.7500000000000000, 0.0 },
  { 0.26076607667717877, 0.50000000000000000, 4.0000000000000000, 0.0 },
  { 0.17264962544644955, 0.50000000000000000, 4.2500000000000000, 0.0 },
  { 0.079285862862978548, 0.50000000000000000, 4.5000000000000000, 0.0 },
  { -0.013765943019498003, 0.50000000000000000, 4.7500000000000000, 0.0 },
  { -0.10121770918510846, 0.50000000000000000, 5.0000000000000000, 0.0 },
};
const double toler009 = 5.0000000000000039e-13;

// Test data for nu=0.66666666666666663.
// max(|f - f_GSL|): 1.0547118733938987e-15 at index 9
// max(|f - f_GSL| / |f_GSL|): 7.7816158152055799e-15
// mean(f - f_GSL): 1.0772632785815972e-16
// variance(f - f_GSL): 1.6340061794441914e-35
// stddev(f - f_GSL): 4.0422842297940791e-18
const testcase_cyl_neumann<double>
data010[20] =
{
  { -1.8021638417426857, 0.66666666666666663, 0.25000000000000000, 0.0 },
  { -1.1316060101031435, 0.66666666666666663, 0.50000000000000000, 0.0 },
  { -0.80251156358450748, 0.66666666666666663, 0.75000000000000000, 0.0 },
  { -0.56270321497463327, 0.66666666666666663, 1.0000000000000000, 0.0 },
  { -0.36007453643432208, 0.66666666666666663, 1.2500000000000000, 0.0 },
  { -0.18017937469615020, 0.66666666666666663, 1.5000000000000000, 0.0 },
  { -0.019885608758103752, 0.66666666666666663, 1.7500000000000000, 0.0 },
  { 0.11989345361903521, 0.66666666666666663, 2.0000000000000000, 0.0 },
  { 0.23690889836358039, 0.66666666666666663, 2.2500000000000000, 0.0 },
  { 0.32882045742954535, 0.66666666666666663, 2.5000000000000000, 0.0 },
  { 0.39385133784531856, 0.66666666666666663, 2.7500000000000000, 0.0 },
  { 0.43115101690935642, 0.66666666666666663, 3.0000000000000000, 0.0 },
  { 0.44098127351445843, 0.66666666666666663, 3.2500000000000000, 0.0 },
  { 0.42477631413456485, 0.66666666666666663, 3.5000000000000000, 0.0 },
  { 0.38510384155620386, 0.66666666666666663, 3.7500000000000000, 0.0 },
  { 0.32554526794354366, 0.66666666666666663, 4.0000000000000000, 0.0 },
  { 0.25051080073878446, 0.66666666666666663, 4.2500000000000000, 0.0 },
  { 0.16500507211842136, 0.66666666666666663, 4.5000000000000000, 0.0 },
  { 0.074359649728861360, 0.66666666666666663, 4.7500000000000000, 0.0 },
  { -0.016050662643389627, 0.66666666666666663, 5.0000000000000000, 0.0 },
};
const double toler010 = 5.0000000000000039e-13;

// Test data for nu=1.0000000000000000.
// max(|f - f_GSL|): 8.5001450322863548e-16 at index 8
// max(|f - f_GSL| / |f_GSL|): 3.1259660869292553e-14
// mean(f - f_GSL): 8.2746309804093703e-17
// variance(f - f_GSL): 1.0590097247613155e-33
// stddev(f - f_GSL): 3.2542429607534157e-17
const testcase_cyl_neumann<double>
data011[20] =
{
  { -2.7041052293152825, 1.0000000000000000, 0.25000000000000000, 0.0 },
  { -1.4714723926702433, 1.0000000000000000, 0.50000000000000000, 0.0 },
  { -1.0375945507692856, 1.0000000000000000, 0.75000000000000000, 0.0 },
  { -0.78121282130028891, 1.0000000000000000, 1.0000000000000000, 0.0 },
  { -0.58436403661500824, 1.0000000000000000, 1.2500000000000000, 0.0 },
  { -0.41230862697391119, 1.0000000000000000, 1.5000000000000000, 0.0 },
  { -0.25397298594624573, 1.0000000000000000, 1.7500000000000000, 0.0 },
  { -0.10703243154093699, 1.0000000000000000, 2.0000000000000000, 0.0 },
  { 0.027192057738017056, 1.0000000000000000, 2.2500000000000000, 0.0 },
  { 0.14591813796678599, 1.0000000000000000, 2.5000000000000000, 0.0 },
  { 0.24601900149738354, 1.0000000000000000, 2.7500000000000000, 0.0 },
  { 0.32467442479180003, 1.0000000000000000, 3.0000000000000000, 0.0 },
  { 0.37977777371708382, 1.0000000000000000, 3.2500000000000000, 0.0 },
  { 0.41018841788751170, 1.0000000000000000, 3.5000000000000000, 0.0 },
  { 0.41586877934522715, 1.0000000000000000, 3.7500000000000000, 0.0 },
  { 0.39792571055709991, 1.0000000000000000, 4.0000000000000000, 0.0 },
  { 0.35856889308385076, 1.0000000000000000, 4.2500000000000000, 0.0 },
  { 0.30099732306965449, 1.0000000000000000, 4.5000000000000000, 0.0 },
  { 0.22922559673872217, 1.0000000000000000, 4.7500000000000000, 0.0 },
  { 0.14786314339122700, 1.0000000000000000, 5.0000000000000000, 0.0 },
};
const double toler011 = 2.5000000000000015e-12;

// Test data for nu=2.0000000000000000.
// max(|f - f_GSL|): 1.0547118733938987e-15 at index 8
// max(|f - f_GSL| / |f_GSL|): 1.1776017189273130e-14
// mean(f - f_GSL): 1.4502288259166106e-16
// variance(f - f_GSL): 2.5634607708533707e-35
// stddev(f - f_GSL): 5.0630630757016755e-18
const testcase_cyl_neumann<double>
data012[20] =
{
  { -20.701268809592200, 2.0000000000000000, 0.25000000000000000, 0.0 },
  { -5.4413708371742668, 2.0000000000000000, 0.50000000000000000, 0.0 },
  { -2.6297460326656559, 2.0000000000000000, 0.75000000000000000, 0.0 },
  { -1.6506826068162548, 2.0000000000000000, 1.0000000000000000, 0.0 },
  { -1.1931993101785539, 2.0000000000000000, 1.2500000000000000, 0.0 },
  { -0.93219375976297369, 2.0000000000000000, 1.5000000000000000, 0.0 },
  { -0.75574746972832973, 2.0000000000000000, 1.7500000000000000, 0.0 },
  { -0.61740810419068193, 2.0000000000000000, 2.0000000000000000, 0.0 },
  { -0.49589404446793012, 2.0000000000000000, 2.2500000000000000, 0.0 },
  { -0.38133584924180314, 2.0000000000000000, 2.5000000000000000, 0.0 },
  { -0.26973581138921693, 2.0000000000000000, 2.7500000000000000, 0.0 },
  { -0.16040039348492377, 2.0000000000000000, 3.0000000000000000, 0.0 },
  { -0.054577503462573951, 2.0000000000000000, 3.2500000000000000, 0.0 },
  { 0.045371437729179787, 2.0000000000000000, 3.5000000000000000, 0.0 },
  { 0.13653992534009185, 2.0000000000000000, 3.7500000000000000, 0.0 },
  { 0.21590359460361472, 2.0000000000000000, 4.0000000000000000, 0.0 },
  { 0.28065715378930217, 2.0000000000000000, 4.2500000000000000, 0.0 },
  { 0.32848159666046206, 2.0000000000000000, 4.5000000000000000, 0.0 },
  { 0.35774854396706901, 2.0000000000000000, 4.7500000000000000, 0.0 },
  { 0.36766288260552438, 2.0000000000000000, 5.0000000000000000, 0.0 },
};
const double toler012 = 1.0000000000000008e-12;

// Test data for nu=5.0000000000000000.
// max(|f - f_GSL|): 2.8421709430404007e-14 at index 4
// max(|f - f_GSL| / |f_GSL|): 1.0726804245235588e-15
// mean(f - f_GSL): -1.8762769116165144e-15
// variance(f - f_GSL): 2.7042659892362611e-31
// stddev(f - f_GSL): 5.2002557525916566e-16
const testcase_cyl_neumann<double>
data013[20] =
{
  { -251309.48151852371, 5.0000000000000000, 0.25000000000000000, 0.0 },
  { -7946.3014788074752, 5.0000000000000000, 0.50000000000000000, 0.0 },
  { -1067.2468952289760, 5.0000000000000000, 0.75000000000000000, 0.0 },
  { -260.40586662581228, 5.0000000000000000, 1.0000000000000000, 0.0 },
  { -88.474252441880395, 5.0000000000000000, 1.2500000000000000, 0.0 },
  { -37.190308395498064, 5.0000000000000000, 1.5000000000000000, 0.0 },
  { -18.165774988201832, 5.0000000000000000, 1.7500000000000000, 0.0 },
  { -9.9359891284819675, 5.0000000000000000, 2.0000000000000000, 0.0 },
  { -5.9446343848076424, 5.0000000000000000, 2.2500000000000000, 0.0 },
  { -3.8301760007407522, 5.0000000000000000, 2.5000000000000000, 0.0 },
  { -2.6287042009459087, 5.0000000000000000, 2.7500000000000000, 0.0 },
  { -1.9059459538286738, 5.0000000000000000, 3.0000000000000000, 0.0 },
  { -1.4498157389142654, 5.0000000000000000, 3.2500000000000000, 0.0 },
  { -1.1494603169763686, 5.0000000000000000, 3.5000000000000000, 0.0 },
  { -0.94343105151431672, 5.0000000000000000, 3.7500000000000000, 0.0 },
  { -0.79585142111419982, 5.0000000000000000, 4.0000000000000000, 0.0 },
  { -0.68479288173907016, 5.0000000000000000, 4.2500000000000000, 0.0 },
  { -0.59631936513587558, 5.0000000000000000, 4.5000000000000000, 0.0 },
  { -0.52130838331747587, 5.0000000000000000, 4.7500000000000000, 0.0 },
  { -0.45369482249110193, 5.0000000000000000, 5.0000000000000000, 0.0 },
};
const double toler013 = 2.5000000000000020e-13;

// Test data for nu=10.000000000000000.
// max(|f - f_GSL|): 2.3841857910156250e-07 at index 2
// max(|f - f_GSL| / |f_GSL|): 1.2724057074663479e-15
// mean(f - f_GSL): 1.1408855549177588e-08
// variance(f - f_GSL): 7.2112307216715587e-18
// stddev(f - f_GSL): 2.6853734789916205e-09
const testcase_cyl_neumann<double>
data014[20] =
{
  { -124241617095379.48, 10.000000000000000, 0.25000000000000000, 0.0 },
  { -121963623349.56966, 10.000000000000000, 0.50000000000000000, 0.0 },
  { -2133501638.9057348, 10.000000000000000, 0.75000000000000000, 0.0 },
  { -121618014.27868921, 10.000000000000000, 1.0000000000000000, 0.0 },
  { -13265210.158452792, 10.000000000000000, 1.2500000000000000, 0.0 },
  { -2183993.0260864049, 10.000000000000000, 1.5000000000000000, 0.0 },
  { -478274.82386541169, 10.000000000000000, 1.7500000000000000, 0.0 },
  { -129184.54220803917, 10.000000000000000, 2.0000000000000000, 0.0 },
  { -40993.254794381690, 10.000000000000000, 2.2500000000000000, 0.0 },
  { -14782.847716021070, 10.000000000000000, 2.5000000000000000, 0.0 },
  { -5916.5330998776262, 10.000000000000000, 2.7500000000000000, 0.0 },
  { -2582.6071294842995, 10.000000000000000, 3.0000000000000000, 0.0 },
  { -1213.3423564023892, 10.000000000000000, 3.2500000000000000, 0.0 },
  { -607.27437834125760, 10.000000000000000, 3.5000000000000000, 0.0 },
  { -321.17461059752202, 10.000000000000000, 3.7500000000000000, 0.0 },
  { -178.33055590796428, 10.000000000000000, 4.0000000000000000, 0.0 },
  { -103.40496587570090, 10.000000000000000, 4.2500000000000000, 0.0 },
  { -62.345024619781434, 10.000000000000000, 4.5000000000000000, 0.0 },
  { -38.944510430296937, 10.000000000000000, 4.7500000000000000, 0.0 },
  { -25.129110095610095, 10.000000000000000, 5.0000000000000000, 0.0 },
};
const double toler014 = 2.5000000000000020e-13;

// Test data for nu=20.000000000000000.
// max(|f - f_GSL|): 6442450944.0000000 at index 2
// max(|f - f_GSL| / |f_GSL|): 1.8080382211114952e-15
// mean(f - f_GSL): 322083865.10024977
// variance(f - f_GSL): inf
// stddev(f - f_GSL): inf
const testcase_cyl_neumann<double>
data015[20] =
{
  { -4.4678815064152581e+34, 20.000000000000000, 0.25000000000000000, 0.0 },
  { -4.2714301215659088e+28, 20.000000000000000, 0.50000000000000000, 0.0 },
  { -1.2898357375834223e+25, 20.000000000000000, 0.75000000000000000, 0.0 },
  { -4.1139703148355065e+22, 20.000000000000000, 1.0000000000000000, 0.0 },
  { -4.7783533372148580e+20, 20.000000000000000, 1.2500000000000000, 0.0 },
  { -1.2577301772964241e+19, 20.000000000000000, 1.5000000000000000, 0.0 },
  { -5.8251041176649626e+17, 20.000000000000000, 1.7500000000000000, 0.0 },
  { -40816513889983640., 20.000000000000000, 2.0000000000000000, 0.0 },
  { -3925339868516418.5, 20.000000000000000, 2.2500000000000000, 0.0 },
  { -484776559582090.25, 20.000000000000000, 2.5000000000000000, 0.0 },
  { -73320655044814.469, 20.000000000000000, 2.7500000000000000, 0.0 },
  { -13113540041757.449, 20.000000000000000, 3.0000000000000000, 0.0 },
  { -2700669268882.7139, 20.000000000000000, 3.2500000000000000, 0.0 },
  { -627339518240.21240, 20.000000000000000, 3.5000000000000000, 0.0 },
  { -161695236802.71753, 20.000000000000000, 3.7500000000000000, 0.0 },
  { -45637199262.220100, 20.000000000000000, 4.0000000000000000, 0.0 },
  { -13953299213.925377, 20.000000000000000, 4.2500000000000000, 0.0 },
  { -4580215756.5691023, 20.000000000000000, 4.5000000000000000, 0.0 },
  { -1602110715.5159132, 20.000000000000000, 4.7500000000000000, 0.0 },
  { -593396529.69143200, 20.000000000000000, 5.0000000000000000, 0.0 },
};
const double toler015 = 2.5000000000000020e-13;

// Test data for nu=50.000000000000000.
// max(|f - f_GSL|): 6.4703872001161536e+68 at index 2
// max(|f - f_GSL| / |f_GSL|): 3.7730746786493403e-15
// mean(f - f_GSL): 3.2351936000129644e+67
// variance(f - f_GSL): inf
// stddev(f - f_GSL): inf
const testcase_cyl_neumann<double>
data016[20] =
{
  { -2.7643487471155969e+107, 50.000000000000000, 0.25000000000000000, 0.0 },
  { -2.4575848224461092e+92, 50.000000000000000, 0.50000000000000000, 0.0 },
  { -3.8604508467683829e+83, 50.000000000000000, 0.75000000000000000, 0.0 },
  { -2.1911428126053411e+77, 50.000000000000000, 1.0000000000000000, 0.0 },
  { -3.1362926828833165e+72, 50.000000000000000, 1.2500000000000000, 0.0 },
  { -3.4584216846550566e+68, 50.000000000000000, 1.5000000000000000, 0.0 },
  { -1.5607714080312795e+65, 50.000000000000000, 1.7500000000000000, 0.0 },
  { -1.9761505765184128e+62, 50.000000000000000, 2.0000000000000000, 0.0 },
  { -5.5023640499231188e+59, 50.000000000000000, 2.2500000000000000, 0.0 },
  { -2.8530384545826849e+57, 50.000000000000000, 2.5000000000000000, 0.0 },
  { -2.4467169322684809e+55, 50.000000000000000, 2.7500000000000000, 0.0 },
  { -3.1793891461005181e+53, 50.000000000000000, 3.0000000000000000, 0.0 },
  { -5.8573901231568658e+51, 50.000000000000000, 3.2500000000000000, 0.0 },
  { -1.4528262197760965e+50, 50.000000000000000, 3.5000000000000000, 0.0 },
  { -4.6566569870478635e+48, 50.000000000000000, 3.7500000000000000, 0.0 },
  { -1.8661134361400254e+47, 50.000000000000000, 4.0000000000000000, 0.0 },
  { -9.1005883612255402e+45, 50.000000000000000, 4.2500000000000000, 0.0 },
  { -5.2813777542386141e+44, 50.000000000000000, 4.5000000000000000, 0.0 },
  { -3.5795477722116469e+43, 50.000000000000000, 4.7500000000000000, 0.0 },
  { -2.7888370175838930e+42, 50.000000000000000, 5.0000000000000000, 0.0 },
};
const double toler016 = 2.5000000000000020e-13;

// Test data for nu=100.00000000000000.
// max(|f - f_GSL|): 1.6126781683773614e+233 at index 0
// max(|f - f_GSL| / |f_GSL|): 3.9669044390244564e-13
// mean(f - f_GSL): -8.0633908418868065e+231
// variance(f - f_GSL): inf
// stddev(f - f_GSL): inf
const testcase_cyl_neumann<double>
data017[20] =
{
  { -6.0523080585856763e+245, 100.00000000000000, 0.25000000000000000, 0.0 },
  { -4.7766903780412668e+215, 100.00000000000000, 0.50000000000000000, 0.0 },
  { -1.1758283017660654e+198, 100.00000000000000, 0.75000000000000000, 0.0 },
  { -3.7752878101091316e+185, 100.00000000000000, 1.0000000000000000, 0.0 },
  { -7.7013290729995187e+175, 100.00000000000000, 1.2500000000000000, 0.0 },
  { -9.3152624794288802e+167, 100.00000000000000, 1.5000000000000000, 0.0 },
  { -1.8854163374247264e+161, 100.00000000000000, 1.7500000000000000, 0.0 },
  { -3.0008260488566283e+155, 100.00000000000000, 2.0000000000000000, 0.0 },
  { -2.3075650873777408e+150, 100.00000000000000, 2.2500000000000000, 0.0 },
  { -6.1476258561369381e+145, 100.00000000000000, 2.5000000000000000, 0.0 },
  { -4.4758816234829593e+141, 100.00000000000000, 2.7500000000000000, 0.0 },
  { -7.4747961023547862e+137, 100.00000000000000, 3.0000000000000000, 0.0 },
  { -2.5067022766901547e+134, 100.00000000000000, 3.2500000000000000, 0.0 },
  { -1.5222488313432757e+131, 100.00000000000000, 3.5000000000000000, 0.0 },
  { -1.5422392812241399e+128, 100.00000000000000, 3.7500000000000000, 0.0 },
  { -2.4400857387551062e+125, 100.00000000000000, 4.0000000000000000, 0.0 },
  { -5.7118153392422293e+122, 100.00000000000000, 4.2500000000000000, 0.0 },
  { -1.8915420905193392e+120, 100.00000000000000, 4.5000000000000000, 0.0 },
  { -8.5357945104770158e+117, 100.00000000000000, 4.7500000000000000, 0.0 },
  { -5.0848639160196196e+115, 100.00000000000000, 5.0000000000000000, 0.0 },
};
const double toler017 = 2.5000000000000014e-11;
//  cyl_neumann

// Test data for nu=0.0000000000000000.
// max(|f - f_GSL|): 7.1210398688847931e-15 at index 13
// max(|f - f_GSL| / |f_GSL|): 1.5217467741391491e-12
// mean(f - f_GSL): 7.2554809382729962e-17
// variance(f - f_GSL): 8.8801597233792556e-32
// stddev(f - f_GSL): 2.9799596848580446e-16
const testcase_cyl_neumann<double>
data018[20] =
{
  { -0.30851762524903359, 0.0000000000000000, 5.0000000000000000, 0.0 },
  { 0.055671167283599457, 0.0000000000000000, 10.000000000000000, 0.0 },
  { 0.20546429603891822, 0.0000000000000000, 15.000000000000000, 0.0 },
  { 0.062640596809384053, 0.0000000000000000, 20.000000000000000, 0.0 },
  { -0.12724943226800617, 0.0000000000000000, 25.000000000000000, 0.0 },
  { -0.11729573168666413, 0.0000000000000000, 30.000000000000000, 0.0 },
  { 0.045797987195155689, 0.0000000000000000, 35.000000000000000, 0.0 },
  { 0.12593641705826092, 0.0000000000000000, 40.000000000000000, 0.0 },
  { 0.027060469763313333, 0.0000000000000000, 45.000000000000000, 0.0 },
  { -0.098064995470077118, 0.0000000000000000, 50.000000000000000, 0.0 },
  { -0.077569178730412594, 0.0000000000000000, 55.000000000000000, 0.0 },
  { 0.047358952209449426, 0.0000000000000000, 60.000000000000000, 0.0 },
  { 0.097183557740181920, 0.0000000000000000, 65.000000000000000, 0.0 },
  { 0.0093096664589409992, 0.0000000000000000, 70.000000000000000, 0.0 },
  { -0.085369047647775656, 0.0000000000000000, 75.000000000000000, 0.0 },
  { -0.055620339089770016, 0.0000000000000000, 80.000000000000000, 0.0 },
  { 0.049567884951494251, 0.0000000000000000, 85.000000000000000, 0.0 },
  { 0.079776475854877751, 0.0000000000000000, 90.000000000000000, 0.0 },
  { -0.0028230995861232107, 0.0000000000000000, 95.000000000000000, 0.0 },
  { -0.077244313365083153, 0.0000000000000000, 100.00000000000000, 0.0 },
};
const double toler018 = 1.0000000000000006e-10;

// Test data for nu=0.33333333333333331.
// max(|f - f_GSL|): 6.4392935428259079e-15 at index 13
// max(|f - f_GSL| / |f_GSL|): 4.0255283668271825e-13
// mean(f - f_GSL): 4.0124153999343550e-16
// variance(f - f_GSL): 5.5447658140741534e-32
// stddev(f - f_GSL): 2.3547326417396418e-16
const testcase_cyl_neumann<double>
data019[20] =
{
  { -0.18192321129343850, 0.33333333333333331, 5.0000000000000000, 0.0 },
  { 0.17020111788268760, 0.33333333333333331, 10.000000000000000, 0.0 },
  { 0.18540507541540796, 0.33333333333333331, 15.000000000000000, 0.0 },
  { -0.028777707635715043, 0.33333333333333331, 20.000000000000000, 0.0 },
  { -0.15829741864944163, 0.33333333333333331, 25.000000000000000, 0.0 },
  { -0.058645772316705209, 0.33333333333333331, 30.000000000000000, 0.0 },
  { 0.10294930308870617, 0.33333333333333331, 35.000000000000000, 0.0 },
  { 0.10547870367098922, 0.33333333333333331, 40.000000000000000, 0.0 },
  { -0.034334228816010816, 0.33333333333333331, 45.000000000000000, 0.0 },
  { -0.11283489933031279, 0.33333333333333331, 50.000000000000000, 0.0 },
  { -0.030007358986895105, 0.33333333333333331, 55.000000000000000, 0.0 },
  { 0.086699173295718121, 0.33333333333333331, 60.000000000000000, 0.0 },
  { 0.074875579668878658, 0.33333333333333331, 65.000000000000000, 0.0 },
  { -0.039323246374552680, 0.33333333333333331, 70.000000000000000, 0.0 },
  { -0.091263539574475236, 0.33333333333333331, 75.000000000000000, 0.0 },
  { -0.013358849535984318, 0.33333333333333331, 80.000000000000000, 0.0 },
  { 0.078373575537830198, 0.33333333333333331, 85.000000000000000, 0.0 },
  { 0.055812482883955940, 0.33333333333333331, 90.000000000000000, 0.0 },
  { -0.043310380106990683, 0.33333333333333331, 95.000000000000000, 0.0 },
  { -0.076900504962136559, 0.33333333333333331, 100.00000000000000, 0.0 },
};
const double toler019 = 2.5000000000000014e-11;

// Test data for nu=0.50000000000000000.
// max(|f - f_GSL|): 6.5919492087118670e-15 at index 12
// max(|f - f_GSL| / |f_GSL|): 6.0282403975230169e-13
// mean(f - f_GSL): 4.4870791110485090e-16
// variance(f - f_GSL): 2.2330752394717835e-31
// stddev(f - f_GSL): 4.7255425503023288e-16
const testcase_cyl_neumann<double>
data020[20] =
{
  { -0.10121770918510846, 0.50000000000000000, 5.0000000000000000, 0.0 },
  { 0.21170886633139810, 0.50000000000000000, 10.000000000000000, 0.0 },
  { 0.15650551590730855, 0.50000000000000000, 15.000000000000000, 0.0 },
  { -0.072806904785061938, 0.50000000000000000, 20.000000000000000, 0.0 },
  { -0.15817308404205055, 0.50000000000000000, 25.000000000000000, 0.0 },
  { -0.022470290598831138, 0.50000000000000000, 30.000000000000000, 0.0 },
  { 0.12187835265849535, 0.50000000000000000, 35.000000000000000, 0.0 },
  { 0.084138655676395377, 0.50000000000000000, 40.000000000000000, 0.0 },
  { -0.062482641933003201, 0.50000000000000000, 45.000000000000000, 0.0 },
  { -0.10888475635053954, 0.50000000000000000, 50.000000000000000, 0.0 },
  { -0.0023805454010949376, 0.50000000000000000, 55.000000000000000, 0.0 },
  { 0.098104683735037918, 0.50000000000000000, 60.000000000000000, 0.0 },
  { 0.055663470218594434, 0.50000000000000000, 65.000000000000000, 0.0 },
  { -0.060396767883824871, 0.50000000000000000, 70.000000000000000, 0.0 },
  { -0.084922578922046868, 0.50000000000000000, 75.000000000000000, 0.0 },
  { 0.0098472271924441284, 0.50000000000000000, 80.000000000000000, 0.0 },
  { 0.085190643574343625, 0.50000000000000000, 85.000000000000000, 0.0 },
  { 0.037684970437156268, 0.50000000000000000, 90.000000000000000, 0.0 },
  { -0.059772904856097500, 0.50000000000000000, 95.000000000000000, 0.0 },
  { -0.068803091468728109, 0.50000000000000000, 100.00000000000000, 0.0 },
};
const double toler020 = 5.0000000000000028e-11;

// Test data for nu=0.66666666666666663.
// max(|f - f_GSL|): 7.2372663417752392e-15 at index 12
// max(|f - f_GSL| / |f_GSL|): 4.1336890848340281e-13
// mean(f - f_GSL): 4.6646714269016339e-16
// variance(f - f_GSL): 4.7228390491049495e-31
// stddev(f - f_GSL): 6.8722915021882980e-16
const testcase_cyl_neumann<double>
data021[20] =
{
  { -0.016050662643389627, 0.66666666666666663, 5.0000000000000000, 0.0 },
  { 0.23937232657540733, 0.66666666666666663, 10.000000000000000, 0.0 },
  { 0.11762106604241235, 0.66666666666666663, 15.000000000000000, 0.0 },
  { -0.11182254014899558, 0.66666666666666663, 20.000000000000000, 0.0 },
  { -0.14756582982938804, 0.66666666666666663, 25.000000000000000, 0.0 },
  { 0.015078692908077713, 0.66666666666666663, 30.000000000000000, 0.0 },
  { 0.13260911815705795, 0.66666666666666663, 35.000000000000000, 0.0 },
  { 0.057217565989652698, 0.66666666666666663, 40.000000000000000, 0.0 },
  { -0.086373755152382006, 0.66666666666666663, 45.000000000000000, 0.0 },
  { -0.097624139208051616, 0.66666666666666663, 50.000000000000000, 0.0 },
  { 0.025354902147023392, 0.66666666666666663, 55.000000000000000, 0.0 },
  { 0.10288136476351206, 0.66666666666666663, 60.000000000000000, 0.0 },
  { 0.032728379560128203, 0.66666666666666663, 65.000000000000000, 0.0 },
  { -0.077363672735747818, 0.66666666666666663, 70.000000000000000, 0.0 },
  { -0.072855870458293961, 0.66666666666666663, 75.000000000000000, 0.0 },
  { 0.032358106046953543, 0.66666666666666663, 80.000000000000000, 0.0 },
  { 0.086240651537394228, 0.66666666666666663, 85.000000000000000, 0.0 },
  { 0.017029601697285190, 0.66666666666666663, 90.000000000000000, 0.0 },
  { -0.072173520560584681, 0.66666666666666663, 95.000000000000000, 0.0 },
  { -0.056057339204073887, 0.66666666666666663, 100.00000000000000, 0.0 },
};
const double toler021 = 2.5000000000000014e-11;

// Test data for nu=1.0000000000000000.
// max(|f - f_GSL|): 7.6570694229616265e-15 at index 12
// max(|f - f_GSL| / |f_GSL|): 4.2680655963073912e-13
// mean(f - f_GSL): 4.9712838012805347e-16
// variance(f - f_GSL): 8.8456847510770884e-31
// stddev(f - f_GSL): 9.4051500525388153e-16
const testcase_cyl_neumann<double>
data022[20] =
{
  { 0.14786314339122700, 1.0000000000000000, 5.0000000000000000, 0.0 },
  { 0.24901542420695386, 1.0000000000000000, 10.000000000000000, 0.0 },
  { 0.021073628036873522, 1.0000000000000000, 15.000000000000000, 0.0 },
  { -0.16551161436252115, 1.0000000000000000, 20.000000000000000, 0.0 },
  { -0.098829964783237412, 1.0000000000000000, 25.000000000000000, 0.0 },
  { 0.084425570661747135, 1.0000000000000000, 30.000000000000000, 0.0 },
  { 0.12751273354559009, 1.0000000000000000, 35.000000000000000, 0.0 },
  { -0.0057935058215497536, 1.0000000000000000, 40.000000000000000, 0.0 },
  { -0.11552517964639945, 1.0000000000000000, 45.000000000000000, 0.0 },
  { -0.056795668562014692, 1.0000000000000000, 50.000000000000000, 0.0 },
  { 0.073846265432577926, 1.0000000000000000, 55.000000000000000, 0.0 },
  { 0.091869609369866892, 1.0000000000000000, 60.000000000000000, 0.0 },
  { -0.017940374275377362, 1.0000000000000000, 65.000000000000000, 0.0 },
  { -0.094844652625716230, 1.0000000000000000, 70.000000000000000, 0.0 },
  { -0.035213785160580421, 1.0000000000000000, 75.000000000000000, 0.0 },
  { 0.069395913784588037, 1.0000000000000000, 80.000000000000000, 0.0 },
  { 0.071233187582749768, 1.0000000000000000, 85.000000000000000, 0.0 },
  { -0.026187238607768244, 1.0000000000000000, 90.000000000000000, 0.0 },
  { -0.081827958724501215, 1.0000000000000000, 95.000000000000000, 0.0 },
  { -0.020372312002759834, 1.0000000000000000, 100.00000000000000, 0.0 },
};
const double toler022 = 2.5000000000000014e-11;

// Test data for nu=2.0000000000000000.
// max(|f - f_GSL|): 7.1210398688847931e-15 at index 13
// max(|f - f_GSL| / |f_GSL|): 3.9367645301914862e-12
// mean(f - f_GSL): -6.4293188828390413e-17
// variance(f - f_GSL): 1.0170794505214399e-31
// stddev(f - f_GSL): 3.1891683093268064e-16
const testcase_cyl_neumann<double>
data023[20] =
{
  { 0.36766288260552438, 2.0000000000000000, 5.0000000000000000, 0.0 },
  { -0.0058680824422086830, 2.0000000000000000, 10.000000000000000, 0.0 },
  { -0.20265447896733507, 2.0000000000000000, 15.000000000000000, 0.0 },
  { -0.079191758245636165, 2.0000000000000000, 20.000000000000000, 0.0 },
  { 0.11934303508534717, 2.0000000000000000, 25.000000000000000, 0.0 },
  { 0.12292410306411394, 2.0000000000000000, 30.000000000000000, 0.0 },
  { -0.038511545278264829, 2.0000000000000000, 35.000000000000000, 0.0 },
  { -0.12622609234933840, 2.0000000000000000, 40.000000000000000, 0.0 },
  { -0.032194922192042195, 2.0000000000000000, 45.000000000000000, 0.0 },
  { 0.095793168727596537, 2.0000000000000000, 50.000000000000000, 0.0 },
  { 0.080254497473415426, 2.0000000000000000, 55.000000000000000, 0.0 },
  { -0.044296631897120527, 2.0000000000000000, 60.000000000000000, 0.0 },
  { -0.097735569256347382, 2.0000000000000000, 65.000000000000000, 0.0 },
  { -0.012019513676818605, 2.0000000000000000, 70.000000000000000, 0.0 },
  { 0.084430013376826846, 2.0000000000000000, 75.000000000000000, 0.0 },
  { 0.057355236934384719, 2.0000000000000000, 80.000000000000000, 0.0 },
  { -0.047891809949547198, 2.0000000000000000, 85.000000000000000, 0.0 },
  { -0.080358414490605934, 2.0000000000000000, 90.000000000000000, 0.0 },
  { 0.0011004057182389746, 2.0000000000000000, 95.000000000000000, 0.0 },
  { 0.076836867125027963, 2.0000000000000000, 100.00000000000000, 0.0 },
};
const double toler023 = 2.5000000000000017e-10;

// Test data for nu=5.0000000000000000.
// max(|f - f_GSL|): 7.8125169094417357e-15 at index 12
// max(|f - f_GSL| / |f_GSL|): 3.2742511246789352e-11
// mean(f - f_GSL): 4.9826543715644767e-16
// variance(f - f_GSL): 8.7640351124736941e-31
// stddev(f - f_GSL): 9.3616425441658967e-16
const testcase_cyl_neumann<double>
data024[20] =
{
  { -0.45369482249110193, 5.0000000000000000, 5.0000000000000000, 0.0 },
  { 0.13540304768936234, 5.0000000000000000, 10.000000000000000, 0.0 },
  { 0.16717271575940015, 5.0000000000000000, 15.000000000000000, 0.0 },
  { -0.10003576788953220, 5.0000000000000000, 20.000000000000000, 0.0 },
  { -0.14705799311372267, 5.0000000000000000, 25.000000000000000, 0.0 },
  { 0.031627359289264301, 5.0000000000000000, 30.000000000000000, 0.0 },
  { 0.13554781474770028, 5.0000000000000000, 35.000000000000000, 0.0 },
  { 0.031869448780850247, 5.0000000000000000, 40.000000000000000, 0.0 },
  { -0.10426932700176872, 5.0000000000000000, 45.000000000000000, 0.0 },
  { -0.078548413913081594, 5.0000000000000000, 50.000000000000000, 0.0 },
  { 0.055257033062858375, 5.0000000000000000, 55.000000000000000, 0.0 },
  { 0.099464632840450887, 5.0000000000000000, 60.000000000000000, 0.0 },
  { 0.00023860469499595305, 5.0000000000000000, 65.000000000000000, 0.0 },
  { -0.091861802216406052, 5.0000000000000000, 70.000000000000000, 0.0 },
  { -0.048383671296970042, 5.0000000000000000, 75.000000000000000, 0.0 },
  { 0.060293667104896316, 5.0000000000000000, 80.000000000000000, 0.0 },
  { 0.077506166682733996, 5.0000000000000000, 85.000000000000000, 0.0 },
  { -0.015338764062239767, 5.0000000000000000, 90.000000000000000, 0.0 },
  { -0.081531504045514361, 5.0000000000000000, 95.000000000000000, 0.0 },
  { -0.029480196281661937, 5.0000000000000000, 100.00000000000000, 0.0 },
};
const double toler024 = 2.5000000000000013e-09;

// Test data for nu=10.000000000000000.
// max(|f - f_GSL|): 3.1974423109204508e-14 at index 0
// max(|f - f_GSL| / |f_GSL|): 2.7474477272995600e-12
// mean(f - f_GSL): -1.4525707026091795e-15
// variance(f - f_GSL): 1.6326443279890062e-30
// stddev(f - f_GSL): 1.2777497125763739e-15
const testcase_cyl_neumann<double>
data025[20] =
{
  { -25.129110095610095, 10.000000000000000, 5.0000000000000000, 0.0 },
  { -0.35981415218340279, 10.000000000000000, 10.000000000000000, 0.0 },
  { 0.21997141360195577, 10.000000000000000, 15.000000000000000, 0.0 },
  { -0.043894653515658105, 10.000000000000000, 20.000000000000000, 0.0 },
  { -0.14871839049980651, 10.000000000000000, 25.000000000000000, 0.0 },
  { 0.075056702122397012, 10.000000000000000, 30.000000000000000, 0.0 },
  { 0.12222473135000546, 10.000000000000000, 35.000000000000000, 0.0 },
  { -0.046723877232677985, 10.000000000000000, 40.000000000000000, 0.0 },
  { -0.11739339009322181, 10.000000000000000, 45.000000000000000, 0.0 },
  { 0.0057238971820535930, 10.000000000000000, 50.000000000000000, 0.0 },
  { 0.10733910125831631, 10.000000000000000, 55.000000000000000, 0.0 },
  { 0.036290350559545478, 10.000000000000000, 60.000000000000000, 0.0 },
  { -0.083239127691715667, 10.000000000000000, 65.000000000000000, 0.0 },
  { -0.069639384138314858, 10.000000000000000, 70.000000000000000, 0.0 },
  { 0.045798335061325066, 10.000000000000000, 75.000000000000000, 0.0 },
  { 0.086269195064844456, 10.000000000000000, 80.000000000000000, 0.0 },
  { -0.0018234674126248740, 10.000000000000000, 85.000000000000000, 0.0 },
  { -0.082067762371231284, 10.000000000000000, 90.000000000000000, 0.0 },
  { -0.038798074754578089, 10.000000000000000, 95.000000000000000, 0.0 },
  { 0.058331574236414913, 10.000000000000000, 100.00000000000000, 0.0 },
};
const double toler025 = 2.5000000000000017e-10;

// Test data for nu=20.000000000000000.
// max(|f - f_GSL|): 1.0728836059570312e-06 at index 0
// max(|f - f_GSL| / |f_GSL|): 1.7026122670117101e-12
// mean(f - f_GSL): -5.3644294743674170e-08
// variance(f - f_GSL): 1.5942991469572787e-16
// stddev(f - f_GSL): 1.2626555931675426e-08
const testcase_cyl_neumann<double>
data026[20] =
{
  { -593396529.69143200, 20.000000000000000, 5.0000000000000000, 0.0 },
  { -1597.4838482696259, 20.000000000000000, 10.000000000000000, 0.0 },
  { -3.3087330924737621, 20.000000000000000, 15.000000000000000, 0.0 },
  { -0.28548945860020319, 20.000000000000000, 20.000000000000000, 0.0 },
  { 0.19804074776289243, 20.000000000000000, 25.000000000000000, 0.0 },
  { -0.16848153948742683, 20.000000000000000, 30.000000000000000, 0.0 },
  { 0.10102784152594022, 20.000000000000000, 35.000000000000000, 0.0 },
  { 0.045161820565805755, 20.000000000000000, 40.000000000000000, 0.0 },
  { -0.12556489308015448, 20.000000000000000, 45.000000000000000, 0.0 },
  { 0.016442633948115834, 20.000000000000000, 50.000000000000000, 0.0 },
  { 0.10853448778255181, 20.000000000000000, 55.000000000000000, 0.0 },
  { -0.026721408520664701, 20.000000000000000, 60.000000000000000, 0.0 },
  { -0.098780425256324175, 20.000000000000000, 65.000000000000000, 0.0 },
  { 0.016201957786018233, 20.000000000000000, 70.000000000000000, 0.0 },
  { 0.093591198265063721, 20.000000000000000, 75.000000000000000, 0.0 },
  { 0.0040484400737296200, 20.000000000000000, 80.000000000000000, 0.0 },
  { -0.086314929459920531, 20.000000000000000, 85.000000000000000, 0.0 },
  { -0.028274110097231530, 20.000000000000000, 90.000000000000000, 0.0 },
  { 0.072349520791638741, 20.000000000000000, 95.000000000000000, 0.0 },
  { 0.051247973076188474, 20.000000000000000, 100.00000000000000, 0.0 },
};
const double toler026 = 1.0000000000000006e-10;

// Test data for nu=50.000000000000000.
// max(|f - f_GSL|): 1.0522490333925732e+28 at index 0
// max(|f - f_GSL| / |f_GSL|): 2.6670435417133106e-12
// mean(f - f_GSL): -5.2612451669628722e+26
// variance(f - f_GSL): inf
// stddev(f - f_GSL): inf
const testcase_cyl_neumann<double>
data027[20] =
{
  { -2.7888370175838930e+42, 50.000000000000000, 5.0000000000000000, 0.0 },
  { -3.6410665018007421e+27, 50.000000000000000, 10.000000000000000, 0.0 },
  { -1.0929732912175415e+19, 50.000000000000000, 15.000000000000000, 0.0 },
  { -15606426801663.734, 50.000000000000000, 20.000000000000000, 0.0 },
  { -753573251.44662738, 50.000000000000000, 25.000000000000000, 0.0 },
  { -386759.32602734759, 50.000000000000000, 30.000000000000000, 0.0 },
  { -1172.8690492895323, 50.000000000000000, 35.000000000000000, 0.0 },
  { -15.615608873419944, 50.000000000000000, 40.000000000000000, 0.0 },
  { -0.87058346204176895, 50.000000000000000, 45.000000000000000, 0.0 },
  { -0.21031655464397747, 50.000000000000000, 50.000000000000000, 0.0 },
  { 0.093048240412999389, 50.000000000000000, 55.000000000000000, 0.0 },
  { 0.0086417699626744754, 50.000000000000000, 60.000000000000000, 0.0 },
  { -0.025019788459222037, 50.000000000000000, 65.000000000000000, 0.0 },
  { -0.0014815155191909152, 50.000000000000000, 70.000000000000000, 0.0 },
  { 0.050335774732164121, 50.000000000000000, 75.000000000000000, 0.0 },
  { -0.092924250967987232, 50.000000000000000, 80.000000000000000, 0.0 },
  { 0.087332463030205698, 50.000000000000000, 85.000000000000000, 0.0 },
  { -0.016164237701651860, 50.000000000000000, 90.000000000000000, 0.0 },
  { -0.068897613820457934, 50.000000000000000, 95.000000000000000, 0.0 },
  { 0.076505263944803045, 50.000000000000000, 100.00000000000000, 0.0 },
};
const double toler027 = 2.5000000000000017e-10;

// Test data for nu=100.00000000000000.
// max(|f - f_GSL|): 6.3342780989716025e+102 at index 0
// max(|f - f_GSL| / |f_GSL|): 1.2524955818061054e-13
// mean(f - f_GSL): -3.1671390494858015e+101
// variance(f - f_GSL): inf
// stddev(f - f_GSL): inf
const testcase_cyl_neumann<double>
data028[20] =
{
  { -5.0848639160196196e+115, 100.00000000000000, 5.0000000000000000, 0.0 },
  { -4.8491482711800252e+85, 100.00000000000000, 10.000000000000000, 0.0 },
  { -1.6375955323195320e+68, 100.00000000000000, 15.000000000000000, 0.0 },
  { -8.2002648144679115e+55, 100.00000000000000, 20.000000000000000, 0.0 },
  { -2.9712216432562368e+46, 100.00000000000000, 25.000000000000000, 0.0 },
  { -7.2875284708240751e+38, 100.00000000000000, 30.000000000000000, 0.0 },
  { -3.4251079902107980e+32, 100.00000000000000, 35.000000000000000, 0.0 },
  { -1.4552439438102214e+27, 100.00000000000000, 40.000000000000000, 0.0 },
  { -3.4506612476220073e+22, 100.00000000000000, 45.000000000000000, 0.0 },
  { -3.2938001882025477e+18, 100.00000000000000, 50.000000000000000, 0.0 },
  { -1005686182055520.4, 100.00000000000000, 55.000000000000000, 0.0 },
  { -831892881402.09033, 100.00000000000000, 60.000000000000000, 0.0 },
  { -1650863778.0598392, 100.00000000000000, 65.000000000000000, 0.0 },
  { -7192614.1976097794, 100.00000000000000, 70.000000000000000, 0.0 },
  { -64639.072261231595, 100.00000000000000, 75.000000000000000, 0.0 },
  { -1152.5905185698466, 100.00000000000000, 80.000000000000000, 0.0 },
  { -40.250761402101489, 100.00000000000000, 85.000000000000000, 0.0 },
  { -2.8307771387185294, 100.00000000000000, 90.000000000000000, 0.0 },
  { -0.45762200495904848, 100.00000000000000, 95.000000000000000, 0.0 },
  { -0.16692141141757652, 100.00000000000000, 100.00000000000000, 0.0 },
};
const double toler028 = 1.0000000000000006e-11;

// Test data for nu=100.0000000000000000
// max(|f - f_GSL|): 3.9022387751663778e-14 at index 16
// max(|f - f_GSL| / |f_GSL|): 2.4760677072012703e-11
// mean(f - f_GSL): 3.6878362466971231e-16
// variance(f - f_GSL): 5.0707962306468580e-28
// stddev(f - f_GSL): 2.2518428521206487e-14
const testcase_cyl_neumann<double>
data029[21] =
{
  { -2.2438688257729954e-02, 100.0000000000000000, 1000.0000000000000000, 0.0 },
  { -2.1077595159819992e-02, 100.0000000000000000, 1100.0000000000000000, 0.0 },
  { -3.5299439206692585e-03, 100.0000000000000000, 1200.0000000000000000, 0.0 },
  {  1.4250019326536615e-02, 100.0000000000000000, 1300.0000000000000000, 0.0 },
  {  2.1304679089735663e-02, 100.0000000000000000, 1400.0000000000000000, 0.0 },
  {  1.5734395077905267e-02, 100.0000000000000000, 1500.0000000000000000, 0.0 },
  {  2.5544633636137774e-03, 100.0000000000000000, 1600.0000000000000000, 0.0 },
  { -1.0722045524849367e-02, 100.0000000000000000, 1700.0000000000000000, 0.0 },
  { -1.8036919243226864e-02, 100.0000000000000000, 1800.0000000000000000, 0.0 },
  { -1.6958415593079763e-02, 100.0000000000000000, 1900.0000000000000000, 0.0 },
  { -8.8788704566276667e-03, 100.0000000000000000, 2000.0000000000000000, 0.0 },
  {  2.2504407108413179e-03, 100.0000000000000000, 2100.0000000000000000, 0.0 },
  {  1.1833215246712251e-02, 100.0000000000000000, 2200.0000000000000000, 0.0 },
  {  1.6398784536343945e-02, 100.0000000000000000, 2300.0000000000000000, 0.0 },
  {  1.4675984403642338e-02, 100.0000000000000000, 2400.0000000000000000, 0.0 },
  {  7.7523920451654229e-03, 100.0000000000000000, 2500.0000000000000000, 0.0 },
  { -1.5759822576003489e-03, 100.0000000000000000, 2600.0000000000000000, 0.0 },
  { -9.9314877404787089e-03, 100.0000000000000000, 2700.0000000000000000, 0.0 },
  { -1.4534495161704743e-02, 100.0000000000000000, 2800.0000000000000000, 0.0 },
  { -1.4059273497237509e-02, 100.0000000000000000, 2900.0000000000000000, 0.0 },
  { -8.9385158149605185e-03, 100.0000000000000000, 3000.0000000000000000, 0.0 },
};
const double toler029 = 1.0000000000000006e-10;

template<typename Ret, unsigned int Num>
  void
  test(const testcase_cyl_neumann<Ret> (&data)[Num], Ret toler)
  {
    bool test __attribute__((unused)) = true;
    const Ret eps = std::numeric_limits<Ret>::epsilon();
    Ret max_abs_diff = -Ret(1);
    Ret max_abs_frac = -Ret(1);
    unsigned int num_datum = Num;
    for (unsigned int i = 0; i < num_datum; ++i)
      {
	const Ret f = std::cyl_neumann(data[i].nu, data[i].x);
	const Ret f0 = data[i].f0;
	const Ret diff = f - f0;
	if (std::abs(diff) > max_abs_diff)
	  max_abs_diff = std::abs(diff);
	if (std::abs(f0) > Ret(10) * eps
	 && std::abs(f) > Ret(10) * eps)
	  {
	    const Ret frac = diff / f0;
	    if (std::abs(frac) > max_abs_frac)
	      max_abs_frac = std::abs(frac);
	  }
      }
    VERIFY(max_abs_frac < toler);
  }

int
main()
{
  test(data007, toler007);
  test(data008, toler008);
  test(data009, toler009);
  test(data010, toler010);
  test(data011, toler011);
  test(data012, toler012);
  test(data013, toler013);
  test(data014, toler014);
  test(data015, toler015);
  test(data016, toler016);
  test(data017, toler017);
  test(data018, toler018);
  test(data019, toler019);
  test(data020, toler020);
  test(data021, toler021);
  test(data022, toler022);
  test(data023, toler023);
  test(data024, toler024);
  test(data025, toler025);
  test(data026, toler026);
  test(data027, toler027);
  test(data028, toler028);
  test(data029, toler029);
  return 0;
}
