function [y1,T,y0] = prob5(t,y,jaco)
%
% [alpha,T,y0] = prob5
%
% or
%            f = prob5(t,y)
%
% or
%           f' = prob5(t,y,1)
%
% or
%            y = prob5(t)
%
% Problem 5 in:
%
%  L.Brugnano, G.Gurioli, F.Iavernaro, M.Vikerpuur. 
%  FDE-testset: comparing Matlab© codes for solving fractional
%  differential equations of Caputo type
%  Fractal Fract. 2025, 9(5), 312; https://doi.org/10.3390/fractalfract9050312
%
% 
alfa     = 0.3;
if nargin==0    % problem data
    y1   = alfa;
    T    = 1;
    y0   = 0;
elseif nargin==1 % solution
    y1   = t.^8-3*t.^(4+alfa/2)+(9/4)*t.^alfa;
elseif nargin==2 % vector field
    y1   = -abs(y).^(3/2) +( 40320/gamma(9-alfa) )*t.^(8-alfa) -...
           3*( gamma(5+alfa/2)/gamma(5-alfa/2) )*t.^(4-alfa/2) +...
           ( (3/2)*t.^(alfa/2) - t.^4 ).^3 + (9/4)*gamma(alfa+1);
else             % Jacobian
    y1   = -1.5*sqrt(abs(y));
end
return
           