function [ x, y, z, w ] = rule08 ( )

%*****************************************************************************80
%
%% rule08() returns the pyramid quadrature rule of precision 8.
%
%  Discussion:
%
%    The unit pyramid with square base is the region
%
%      -1 <= X <= 1
%      -1 <= Y <= 1
%       0 <= Z <= 1.
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    14 April 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Jan Jaskowiec, Natarajan Sukumar,
%    High order symmetric cubature rules for tetrahedra and pyramids,
%    International Journal for Numerical Methods in Engineering,
%    Volume 122, Number 1, pages 148-171, 24 August 2020.
%
%  Output:
%
%    x(n), y(n), z(n): the coordinates of quadrature points.
%
%    w(n): the quadrature weights.
%
  x = [ ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.25367856157821822016, ...
      0.00000000000000000000, ...
     -0.25367856157821822016, ...
      0.00000000000000000000, ...
      0.71027375776907275551, ...
      0.00000000000000000000, ...
     -0.71027375776907275551, ...
      0.00000000000000000000, ...
      0.63643362359838895337, ...
      0.00000000000000000000, ...
     -0.63643362359838895337, ...
      0.00000000000000000000, ...
      0.62337928196226433109, ...
      0.00000000000000000000, ...
     -0.62337928196226433109, ...
      0.00000000000000000000, ...
      0.51225968171005897833, ...
     -0.51225968171005897833, ...
      0.51225968171005897833, ...
     -0.51225968171005897833, ...
      0.37965901379429650708, ...
     -0.37965901379429650708, ...
      0.37965901379429650708, ...
     -0.37965901379429650708, ...
      0.69140086940529510429, ...
     -0.69140086940529510429, ...
      0.69140086940529510429, ...
     -0.69140086940529510429, ...
      0.86742190798549856368, ...
     -0.86742190798549856368, ...
      0.86742190798549856368, ...
     -0.86742190798549856368, ...
      0.31712322629106232119, ...
     -0.31712322629106232119, ...
      0.31712322629106232119, ...
     -0.31712322629106232119, ...
      0.89374797161835639603, ...
      0.40528326346564669258, ...
     -0.89374797161835639603, ...
      0.40528326346564669258, ...
      0.89374797161835639603, ...
     -0.40528326346564669258, ...
     -0.89374797161835639603, ...
     -0.40528326346564669258 ];

  y = [ ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.00000000000000000000, ...
      0.25367856157821822016, ...
      0.00000000000000000000, ...
     -0.25367856157821822016, ...
      0.00000000000000000000, ...
      0.71027375776907275551, ...
      0.00000000000000000000, ...
     -0.71027375776907275551, ...
      0.00000000000000000000, ...
      0.63643362359838895337, ...
      0.00000000000000000000, ...
     -0.63643362359838895337, ...
      0.00000000000000000000, ...
      0.62337928196226433109, ...
      0.00000000000000000000, ...
     -0.62337928196226433109, ...
      0.51225968171005897833, ...
      0.51225968171005897833, ...
     -0.51225968171005897833, ...
     -0.51225968171005897833, ...
      0.37965901379429650708, ...
      0.37965901379429650708, ...
     -0.37965901379429650708, ...
     -0.37965901379429650708, ...
      0.69140086940529510429, ...
      0.69140086940529510429, ...
     -0.69140086940529510429, ...
     -0.69140086940529510429, ...
      0.86742190798549856368, ...
      0.86742190798549856368, ...
     -0.86742190798549856368, ...
     -0.86742190798549856368, ...
      0.31712322629106232119, ...
      0.31712322629106232119, ...
     -0.31712322629106232119, ...
     -0.31712322629106232119, ...
      0.40528326346564669258, ...
      0.89374797161835639603, ...
      0.40528326346564669258, ...
     -0.89374797161835639603, ...
     -0.40528326346564669258, ...
      0.89374797161835639603, ...
     -0.40528326346564669258, ...
     -0.89374797161835639603 ];

  z = [ ...
      0.07395194949759914538, ...
      0.48064180778578036168, ...
      0.89787700126494018882, ...
      0.70399494392200201442, ...
      0.70399494392200201442, ...
      0.70399494392200201442, ...
      0.70399494392200201442, ...
      0.15999762291015326432, ...
      0.15999762291015326432, ...
      0.15999762291015326432, ...
      0.15999762291015326432, ...
      0.34740846408160180880, ...
      0.34740846408160180880, ...
      0.34740846408160180880, ...
      0.34740846408160180880, ...
      0.01127682420195143774, ...
      0.01127682420195143774, ...
      0.01127682420195143774, ...
      0.01127682420195143774, ...
      0.06351022006373874262, ...
      0.06351022006373874262, ...
      0.06351022006373874262, ...
      0.06351022006373874262, ...
      0.46284226887006968409, ...
      0.46284226887006968409, ...
      0.46284226887006968409, ...
      0.46284226887006968409, ...
      0.19177130509938980496, ...
      0.19177130509938980496, ...
      0.19177130509938980496, ...
      0.19177130509938980496, ...
      0.01630913438364359896, ...
      0.01630913438364359896, ...
      0.01630913438364359896, ...
      0.01630913438364359896, ...
      0.23681987030130632887, ...
      0.23681987030130632887, ...
      0.23681987030130632887, ...
      0.23681987030130632887, ...
      0.05005997974535449785, ...
      0.05005997974535449785, ...
      0.05005997974535449785, ...
      0.05005997974535449785, ...
      0.05005997974535449785, ...
      0.05005997974535449785, ...
      0.05005997974535449785, ...
      0.05005997974535449785 ];

  w = [ ...
      0.05595524252285600381, ...
      0.06694668391641565852, ...
      0.00475252306983395441, ...
      0.01488586682102476834, ...
      0.01488586682102476834, ...
      0.01488586682102476834, ...
      0.01488586682102476834, ...
      0.02455698624881830563, ...
      0.02455698624881830563, ...
      0.02455698624881830563, ...
      0.02455698624881830563, ...
      0.01608138988371909592, ...
      0.01608138988371909592, ...
      0.01608138988371909592, ...
      0.01608138988371909592, ...
      0.01442915622061930955, ...
      0.01442915622061930955, ...
      0.01442915622061930955, ...
      0.01442915622061930955, ...
      0.02488836268558412140, ...
      0.02488836268558412140, ...
      0.02488836268558412140, ...
      0.02488836268558412140, ...
      0.03016542061786949003, ...
      0.03016542061786949003, ...
      0.03016542061786949003, ...
      0.03016542061786949003, ...
      0.01825943823062004326, ...
      0.01825943823062004326, ...
      0.01825943823062004326, ...
      0.01825943823062004326, ...
      0.00405270511408486935, ...
      0.00405270511408486935, ...
      0.00405270511408486935, ...
      0.00405270511408486935, ...
      0.05109969513593878160, ...
      0.05109969513593878160, ...
      0.05109969513593878160, ...
      0.05109969513593878160, ...
      0.00983368333222240688, ...
      0.00983368333222240688, ...
      0.00983368333222240688, ...
      0.00983368333222240688, ...
      0.00983368333222240688, ...
      0.00983368333222240688, ...
      0.00983368333222240688, ...
      0.00983368333222240688 ];

  return
end
