int32 FUNC_FACTOR(qbs*_FUNC_FACTOR_STRING_EXP,void*_FUNC_FACTOR_UDT_STATE){
qbs *tqbs;
ptrszint tmp_long;
int32 tmp_fileno;
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
uint8 *tmp_mem_static_pointer=mem_static_pointer;
uint32 tmp_cmem_sp=cmem_sp;
#include "data186.txt"
mem_lock *sf_mem_lock;
new_mem_lock();
sf_mem_lock=mem_lock_tmp;
sf_mem_lock->type=3;
if (is_error_pending()) goto exit_subfunc;
S_35354:;
if (( 0ll )||is_error_pending()){
if(qbevent){evnt(24222,580,"const_eval.bas");if(r)goto S_35354;}
do{
sub__echo(qbs_new_txt_len("Factor",6));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24222,580,"const_eval.bas");}while(r);
}
S_35357:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_UNARY(_FUNC_FACTOR_STRING_EXP,(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(24222,581,"const_eval.bas");if(r)goto S_35357;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(24222,581,"const_eval.bas");}while(r);
}
do{
if(!qbevent)break;evnt(24222,583,"const_eval.bas");}while(r);
do{
memcpy((((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 0),(((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 0), 32);
memcpy((((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 32),(((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 32), 8);
memcpy((((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 40),(((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 40), 8);
qbs_set(*(qbs**)(((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 48), *(qbs**)(((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 48));
memcpy((((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 56),(((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 56), 4);
if(!qbevent)break;evnt(24222,584,"const_eval.bas");}while(r);
S_35362:;
do{
if(qbevent){evnt(24222,586,"const_eval.bas");if(r)goto S_35362;}
do{
qbs_set(_FUNC_FACTOR_STRING_ELE,FUNC_PEEKNEXTELEMENT(_FUNC_FACTOR_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ),(int32*)(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (4) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24222,587,"const_eval.bas");}while(r);
S_35364:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_FACTOR_STRING_ELE,qbs_new_txt_len("*",1))))||is_error_pending()){
if(qbevent){evnt(24222,588,"const_eval.bas");if(r)goto S_35364;}
do{
qbs_set(_FUNC_FACTOR_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_FACTOR_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ),(int32*)(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (4) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24222,589,"const_eval.bas");}while(r);
S_35366:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_UNARY(_FUNC_FACTOR_STRING_EXP,(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(24222,590,"const_eval.bas");if(r)goto S_35366;}
do{
SUB_FIXUPERRORMESSAGE((void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ),qbs_new_txt_len("*",1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24222,590,"const_eval.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(24222,590,"const_eval.bas");}while(r);
}
S_35370:;
if (((*(int32*)(((char*)_FUNC_FACTOR_UDT_NUM)+(56))&*__LONG_ISFLOAT)|(*(int32*)(((char*)_FUNC_FACTOR_UDT_STATE)+(64))&*__LONG_ISFLOAT))||is_error_pending()){
if(qbevent){evnt(24222,592,"const_eval.bas");if(r)goto S_35370;}
do{
SUB_PARSENUMSETF((void*)( ((char*)(_FUNC_FACTOR_UDT_NUM)) + (0) ),&(pass4160=*__LONG_FLOATTYPE-*__LONG_ISPOINTER),&(pass4161=*(long double*)(((char*)_FUNC_FACTOR_UDT_NUM)+(0))**(long double*)(((char*)_FUNC_FACTOR_UDT_STATE)+(8))));
if(!qbevent)break;evnt(24222,593,"const_eval.bas");}while(r);
S_35372:;
}else{
if ((*(int32*)(((char*)_FUNC_FACTOR_UDT_NUM)+(56))&*__LONG_ISUNSIGNED)|(*(int32*)(((char*)_FUNC_FACTOR_UDT_STATE)+(64))&*__LONG_ISUNSIGNED)){
if(qbevent){evnt(24222,594,"const_eval.bas");if(r)goto S_35372;}
do{
SUB_PARSENUMSETUI((void*)( ((char*)(_FUNC_FACTOR_UDT_NUM)) + (0) ),&(pass4162=*__LONG_UINTEGER64TYPE-*__LONG_ISPOINTER),&(pass4163=*(uint64*)(((char*)_FUNC_FACTOR_UDT_NUM)+(40))**(uint64*)(((char*)_FUNC_FACTOR_UDT_STATE)+(48))));
if(!qbevent)break;evnt(24222,595,"const_eval.bas");}while(r);
}else{
do{
SUB_PARSENUMSETI((void*)( ((char*)(_FUNC_FACTOR_UDT_NUM)) + (0) ),&(pass4164=*__LONG_INTEGER64TYPE-*__LONG_ISPOINTER),&(pass4165=*(int64*)(((char*)_FUNC_FACTOR_UDT_NUM)+(32))**(int64*)(((char*)_FUNC_FACTOR_UDT_STATE)+(40))));
if(!qbevent)break;evnt(24222,597,"const_eval.bas");}while(r);
}
}
S_35377:;
}else{
if (qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_FACTOR_STRING_ELE,qbs_new_txt_len("/",1)))){
if(qbevent){evnt(24222,599,"const_eval.bas");if(r)goto S_35377;}
do{
qbs_set(_FUNC_FACTOR_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_FACTOR_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ),(int32*)(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (4) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24222,600,"const_eval.bas");}while(r);
S_35379:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_UNARY(_FUNC_FACTOR_STRING_EXP,(void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(24222,601,"const_eval.bas");if(r)goto S_35379;}
do{
SUB_FIXUPERRORMESSAGE((void*)( ((char*)(_FUNC_FACTOR_UDT_STATE)) + (0) ),qbs_new_txt_len("/",1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24222,601,"const_eval.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(24222,601,"const_eval.bas");}while(r);
}
do{
SUB_PARSENUMSETF((void*)( ((char*)(_FUNC_FACTOR_UDT_NUM)) + (0) ),&(pass4166=*__LONG_FLOATTYPE-*__LONG_ISPOINTER),&(pass4167=*(long double*)(((char*)_FUNC_FACTOR_UDT_NUM)+(0))/ *(long double*)(((char*)_FUNC_FACTOR_UDT_STATE)+(8))));
if(!qbevent)break;evnt(24222,604,"const_eval.bas");}while(r);
}else{
S_35385:;
if (( 0ll )||is_error_pending()){
if(qbevent){evnt(24222,606,"const_eval.bas");if(r)goto S_35385;}
do{
sub__echo(qbs_new_txt_len("Factor done!",12));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(24222,606,"const_eval.bas");}while(r);
}
do{
memcpy((((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 0),(((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 0), 32);
memcpy((((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 32),(((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 32), 8);
memcpy((((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 40),(((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 40), 8);
qbs_set(*(qbs**)(((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 48), *(qbs**)(((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 48));
memcpy((((char*)_FUNC_FACTOR_UDT_STATE)+(8)+ 56),(((char*)_FUNC_FACTOR_UDT_NUM)+(0)+ 56), 4);
if(!qbevent)break;evnt(24222,607,"const_eval.bas");}while(r);
do{
*_FUNC_FACTOR_LONG_FACTOR= -1 ;
if(!qbevent)break;evnt(24222,608,"const_eval.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(24222,609,"const_eval.bas");}while(r);
}
}
dl_continue_4159:;
}while(1);
dl_exit_4159:;
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free186.txt"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
cmem_sp=tmp_cmem_sp;
return *_FUNC_FACTOR_LONG_FACTOR;
}
