program lol;
var x,a,b,d,y,h1,h2,h3,h4,h5,h6,h7,h8,h9,h10,h11,h12,h13,h14,h15,h16:real;
begin
writeln('Введите значения');
readln(x,a,b,d);
h1:=x*x*x*a*a;
h3:=exp(ln(cos(h1))*x);
h2:=3*h3;
h4:=(x-exp(ln(b)*5));
h5:=exp(ln(sin(h4))*4);
h6:=abs(5*a*h5);
h7:=exp(ln(sin(h6))*(2*x));
h8:=h2+h7;
h9:=(a-exp(ln(d)*4));
h10:=abs(h9);
h11:=exp(ln(sin(x+6))*3);
h12:=(7*a+h11);
h13:=sqrt(h12);
h14:=h10*h13+d;
h15:=sqrt(h8/h14);
h16:=exp(ln(sin(x))*3);
y:=h15*h16;
writeln('y= ',y);
end.
выдает ошибку в 7 строчке неверная вещественная операция(Program1 pas) переменные:x=2 a=1 b=3 d=3

Ответы
program lol;
var y,h1,h2,h3,h4,h5,h6:real;
x,a,b,d:integer;
function pow(x:real; n:integer):real;
var sign:integer;
begin
if (x<0) and (n mod 2 <> 0) then sign := -1 else sign := 1;
pow := sign * exp(ln(abs(x))*n);
end;
begin
writeln('Введите значения');
{readln(x,a,b,d); }
x:=2;a:=1;b:=3;d:=3;
h1:=x*x*x*a*a;
h1:=3*pow(cos(h1),x);
h2:=x-pow(b,5);
h2:=pow(sin(h2),4);
h2:=abs(5*a*h2);
h2:=pow(sin(h2),2*x);
h2:=h1+h2;
h3:=a-pow(d,4);
h4:=abs(h3);
h5:=pow(sin(x+6),3);
h5:=7*a+h5;
h5:=sqrt(h5);
h5:=h4*h5+d;
h5:=sqrt(h2/h5);
h6:=pow(sin(x),3);
writeln(h1,h2,h3,h4,h5,h6);
y:=h5*h6;
writeln('y= ',y);
end.
накрутил ты там короче
а основная ошибка была в том что нельзя брать логорифм от отрицательного числа