function [ a, b, c, d, w ] = rule09 ( )

%*****************************************************************************80
%
%% rule09() returns the rule of precision 9.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    02 April 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Jan Jaskowiec, Natarajan Sukumar,
%    High order symmetric cubature rules for tetrahedra and pyramids,
%    International Journal of Numerical Methods in Engineering,
%    Volume 122, Number 1, pages 148-171, 24 August 2020.
%
%  Output:
%
%    a(n), b(n), c(n), d(n): the barycentric coordinates of quadrature points.
%
%    w(n): the quadrature weights.
%
  a = [ ...
      0.25000000000000000000, ...
      0.16790660523674277860, ...
      0.49628018428977160870, ...
      0.16790660523674277860, ...
      0.16790660523674277860, ...
      0.09143627051407625383, ...
      0.72569118845777125237, ...
      0.09143627051407625383, ...
      0.09143627051407625383, ...
      0.32185566481765326419, ...
      0.03443300554704020050, ...
      0.32185566481765326419, ...
      0.32185566481765326419, ...
      0.04183769590036560265, ...
      0.87448691229890318510, ...
      0.04183769590036560265, ...
      0.04183769590036560265, ...
      0.39327056142515365300, ...
      0.10672943857484636088, ...
      0.39327056142515365300, ...
      0.10672943857484636088, ...
      0.39327056142515365300, ...
      0.10672943857484636088, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.03401339023811966039, ...
      0.03401339023811966039, ...
      0.03401339023811966039, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451 ];

  b = [ ...
      0.25000000000000000000, ...
      0.16790660523674277860, ...
      0.16790660523674277860, ...
      0.49628018428977160870, ...
      0.16790660523674277860, ...
      0.09143627051407625383, ...
      0.09143627051407625383, ...
      0.72569118845777125237, ...
      0.09143627051407625383, ...
      0.32185566481765326419, ...
      0.32185566481765326419, ...
      0.03443300554704020050, ...
      0.32185566481765326419, ...
      0.04183769590036560265, ...
      0.04183769590036560265, ...
      0.87448691229890318510, ...
      0.04183769590036560265, ...
      0.10672943857484636088, ...
      0.39327056142515365300, ...
      0.39327056142515365300, ...
      0.10672943857484636088, ...
      0.10672943857484636088, ...
      0.39327056142515365300, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.03401339023811966039, ...
      0.03401339023811966039, ...
      0.03401339023811966039, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365 ];

  c = [ ...
      0.25000000000000000000, ...
      0.16790660523674277860, ...
      0.16790660523674277860, ...
      0.16790660523674277860, ...
      0.49628018428977160870, ...
      0.09143627051407625383, ...
      0.09143627051407625383, ...
      0.09143627051407625383, ...
      0.72569118845777125237, ...
      0.32185566481765326419, ...
      0.32185566481765326419, ...
      0.32185566481765326419, ...
      0.03443300554704020050, ...
      0.04183769590036560265, ...
      0.04183769590036560265, ...
      0.04183769590036560265, ...
      0.87448691229890318510, ...
      0.10672943857484636088, ...
      0.10672943857484636088, ...
      0.10672943857484636088, ...
      0.39327056142515365300, ...
      0.39327056142515365300, ...
      0.39327056142515365300, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.03401339023811966039, ...
      0.03401339023811966039, ...
      0.03401339023811966039 ];

  d = [ ...
      0.25000000000000000000, ...
      0.49628018428977160870, ...
      0.16790660523674277860, ...
      0.16790660523674277860, ...
      0.16790660523674277860, ...
      0.72569118845777125237, ...
      0.09143627051407625383, ...
      0.09143627051407625383, ...
      0.09143627051407625383, ...
      0.03443300554704020050, ...
      0.32185566481765326419, ...
      0.32185566481765326419, ...
      0.32185566481765326419, ...
      0.87448691229890318510, ...
      0.04183769590036560265, ...
      0.04183769590036560265, ...
      0.04183769590036560265, ...
      0.39327056142515365300, ...
      0.39327056142515365300, ...
      0.10672943857484636088, ...
      0.39327056142515365300, ...
      0.10672943857484636088, ...
      0.10672943857484636088, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.21369256965239782908, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.71839309398142436880, ...
      0.03395716818308888718, ...
      0.03395716818308888718, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.00000000341375680369, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.07868363447668792754, ...
      0.46065818105477762678, ...
      0.46065818105477762678, ...
      0.03401339023811966039, ...
      0.03401339023811966039, ...
      0.03401339023811966039, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451, ...
      0.59721072276184994365, ...
      0.18438794350001519451, ...
      0.18438794350001519451 ];

  w = [ ...
      0.05686662425355172579, ...
      0.02569427668952317667, ...
      0.02569427668952317667, ...
      0.02569427668952317667, ...
      0.02569427668952317667, ...
      0.00229892335302837002, ...
      0.00229892335302837002, ...
      0.00229892335302837002, ...
      0.00229892335302837002, ...
      0.03045603866759100803, ...
      0.03045603866759100803, ...
      0.03045603866759100803, ...
      0.03045603866759100803, ...
      0.00712372234023888121, ...
      0.00712372234023888121, ...
      0.00712372234023888121, ...
      0.00712372234023888121, ...
      0.03684365548094388487, ...
      0.03684365548094388487, ...
      0.03684365548094388487, ...
      0.03684365548094388487, ...
      0.03684365548094388487, ...
      0.03684365548094388487, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.01032205678220984683, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.00763488715398085490, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046, ...
      0.02035802261874757046 ];

  return
end
