function J=jacobian_map_phi_odd_int(bodd)
global mu sigma

i1=intval(1);
i2=intval(2);
i3=intval(3);
i4=intval(4);
i6=intval(6);
i0=intval(0);
ipi=midrad(3.1415926535897932,10^-16);
imu=intval(mu);

m=length(bodd);


%PR = perms_rep(m,2) ; 

% J2=intval(zeros(m,m));
% for n=1:m
%     for j=n:m
%        J2(n,j)=(ipi^i2*(i2*intval(n)-i1)^i2+sigma*imu)*(n==j)+i6*sigma*(-i2*convol(1,-1,j-n)-convol(1,1,n+j)+convol(1,1,j-n+1)+i2*convol(1,-1,n+j-1));
%        J2(j,n)=J2(n,j);
%     end
% end

% 
% 
% Conv11=intval(zeros(1,2*m));
% Conv1_1=intval(zeros(1,2*m));
% for k=1:2*m
%     Conv11(k)=convol(1,1,k);
%     Conv1_1(k)=convol(1,-1,k-1);
% end
% J2=intval(zeros(m,m));
% for n=1:m
%     for j=n:m
%        J2(n,j)=(ipi^i2*(i2*intval(n)-i1)^i2+sigma*imu)*(n==j)+i6*sigma*(-i2*Conv1_1(j-n+1)-Conv11(n+j)+Conv11(j-n+1)+i2*Conv1_1(n+j));
%        J2(j,n)=J2(n,j);
%     end
% end

c2fft=quadratic_sumFFT_real_int([bodd;intval(zeros(m,1))]);

c2fft=c2fft.';
J=intval(zeros(m,m));
for n=1:m
    j=1:n;
    % for j=1:n      
             J(n,j)=(ipi^i2*(i2*intval(n)-i1)^i2+sigma*imu)*(n==j)+sigma*real(i6*(c2fft(n-j+1+1)-c2fft(n+j+1)));       
             J(j,n)=J(n,j); 
    % end
 end

% function Conv=convol(a,b,n)
% Sumpkl=a*PR(:,1)+b*PR(:,2);
% PKL=PR(Sumpkl==n,:);
% Conv=sum(bodd(PKL(:,1)).*bodd(PKL(:,2)));
% end

end
function [s]=quadratic_sumFFT_real_int(a1)


i2=intval('2');
i4=intval('4');

M=size(a1,1)+1;
M1=(2^ceil(log(4*M-1)/log(2))-4*M)/2; 

b1=-(flipdim(a1(1:end),1));
ta1=[intval(zeros(M+M1+1,1));intval(0);b1;a1;intval(zeros(M+M1,1))];

tu1=verifyfft(ifftshift(ta1),-1);
F=fftshift(verifyfft(tu1.*tu1,1));
s=(i4*intval(M)+i2*intval(M1))*F(M1+2*M+1:M1+3*M+1,1);

end

% function InvF=ifft_int(X)
% if size(X,1)==1
%     X=X.';
% end
% N=length(X);
%        
%        InvF(1)=intval(sum(X(1:N)));
%        EX=exp(2*pi*1i/N);       
%            
%        ESPk=EX.^([0:1:N-1]);
%        ESPkl=ESPk;      % case l=2%
%        for ii=1:N-1
%         
%           InvF(ii+1,1)=(ESPkl)*X(1:N);
%        
%           ESPkl=ESPkl.*ESPk;
%        end
%        InvF=InvF/N;
% 
% end
% function DirF=fft_int(X)
% if size(X,1)==1
%     X=X.';
% end
% N=length(X);
%        
%        DirF(1)=intval(sum(X(1:N)));
%        EX=exp(-2*pi*1i/N);       
%            
%        ESPk=EX.^([0:1:N-1]);
%        ESPkl=ESPk;      % case l=2%
%        for ii=1:N-1      
%           DirF(ii+1,1)=(ESPkl)*X(1:N);      
%           ESPkl=ESPkl.*ESPk;
%        end
%        
% end