SIGFPE runtime error

I don’t get why this would produce a SIGFPE error. I’m not dividing/mod by zero, and I tried to make the variable modby long long int and the code still has SIGFPE error. What are other scenarios that would trigger this error? thanks

here’s my code.
#include <stdio.h>
//#include <math.h>
int main(void) {
int t=0;
scanf("%d\n",&t);
for(int i=0;i<t;i++){
int l=0;
int r=0;
scanf("%d %d",&l,&r);
int result=0;
for(int j=l;j<=r;j++){
if((j&(j-1))==0){
result–;
}
int checker=0;
int modby=1;
while(checker==0){
modby*=2;
checker=j%modby;
}
result=result+j-modby/2;

    }
    printf("%d\n",result);
}
return 0;

}

I tried the example input and it seems to be working.

Has this post been posted?