Простенькая программа на С выдаёт ошибку. Как исправить?
Здесь вся программа набита ошибками под самую завязку. 


Куда пропал тип возвращаемого значения у функции main()? 
Почему в scanf("%f",&b) использован формат %f? Какой формат следует использовать для ввода значений типа double?
Что по-вашему проверяет if (a>x>b)? 
Что это за чушь: pow(cos,2)? Что там делает этот cos? 
Что случилось с балансом скобок в if ((x>=b)?
Что это за выражения под каждым if, которые как будто что-то вычисляют, но никуда не сохраняют результаты своих вычислений? То есть они фактически ничего не делают. Зачем они такие нужны?
printf в конце печатает значение переменной z. Но вы не назначили этой переменной  никакого значения.

Подключение заголовочных файлов, должно быть так:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
То что происходит в ветвлении, вынесите в функцию, добавьте пробелы для читаемости и не забудьте вернуть значение. В вашем ветвлении если условие верно, то кроме вычисления ничего не происходит.

z это переменная, а не функция, также не забывайте что тип double и float - разные типы.