#line 632 "utilities/const_eval.bas"
int32 FUNC_EXPONENT(qbs*_FUNC_EXPONENT_STRING_EXP,void*_FUNC_EXPONENT_UDT_STATE){
#line 632 "utilities/const_eval.bas"
qbs *tqbs;
#line 632 "utilities/const_eval.bas"
ptrszint tmp_long;
#line 632 "utilities/const_eval.bas"
int32 tmp_fileno;
#line 632 "utilities/const_eval.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 632 "utilities/const_eval.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 632 "utilities/const_eval.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 632 "utilities/const_eval.bas"
#include "data258.txt"
#line 632 "utilities/const_eval.bas"
mem_lock *sf_mem_lock;
#line 632 "utilities/const_eval.bas"
new_mem_lock();
#line 632 "utilities/const_eval.bas"
sf_mem_lock=mem_lock_tmp;
#line 632 "utilities/const_eval.bas"
sf_mem_lock->type=3;
#line 632 "utilities/const_eval.bas"
libqb_check_stack();
#line 632 "utilities/const_eval.bas"
if (is_error_pending()) goto exit_subfunc;
#line 633 "utilities/const_eval.bas"
S_41149:;
#line 633 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 633 "utilities/const_eval.bas"
if(qbevent){evnt(28806,633,"const_eval.bas");if(r)goto S_41149;}
#line 633 "utilities/const_eval.bas"
do{
#line 633 "utilities/const_eval.bas"
sub__echo(qbs_new_txt_len("Exponent",8));
#line 633 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 633 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,633,"const_eval.bas");}while(r);
#line 633 "utilities/const_eval.bas"
}
#line 634 "utilities/const_eval.bas"
S_41152:;
#line 634 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_NUMERIC(_FUNC_EXPONENT_STRING_EXP,(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
#line 634 "utilities/const_eval.bas"
if(qbevent){evnt(28806,634,"const_eval.bas");if(r)goto S_41152;}
#line 634 "utilities/const_eval.bas"
do{
#line 634 "utilities/const_eval.bas"
goto exit_subfunc;
#line 634 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,634,"const_eval.bas");}while(r);
#line 634 "utilities/const_eval.bas"
}
#line 635 "utilities/const_eval.bas"
S_41155:;
#line 635 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 635 "utilities/const_eval.bas"
if(qbevent){evnt(28806,635,"const_eval.bas");if(r)goto S_41155;}
#line 635 "utilities/const_eval.bas"
do{
#line 635 "utilities/const_eval.bas"
sub__echo(qbs_new_txt_len("Check exponent",14));
#line 635 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 635 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,635,"const_eval.bas");}while(r);
#line 635 "utilities/const_eval.bas"
}
#line 637 "utilities/const_eval.bas"
do{
#line 637 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,637,"const_eval.bas");}while(r);
#line 638 "utilities/const_eval.bas"
do{
#line 638 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+0))),(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+0))),32);
#line 638 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+32))),(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+32))),8);
#line 638 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+40))),(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+40))),8);
#line 638 "utilities/const_eval.bas"
qbs_set(*(qbs**)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+48))),*(qbs**)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+48))));
#line 638 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+56))),(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+56))),4);
#line 638 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,638,"const_eval.bas");}while(r);
#line 640 "utilities/const_eval.bas"
S_41160:;
#line 640 "utilities/const_eval.bas"
do{
#line 640 "utilities/const_eval.bas"
if(qbevent){evnt(28806,640,"const_eval.bas");if(r)goto S_41160;}
#line 641 "utilities/const_eval.bas"
do{
#line 641 "utilities/const_eval.bas"
qbs_set(_FUNC_EXPONENT_STRING_ELE,FUNC_PEEKNEXTELEMENT(_FUNC_EXPONENT_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+4)) )));
#line 641 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 641 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,641,"const_eval.bas");}while(r);
#line 642 "utilities/const_eval.bas"
S_41162:;
#line 642 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 642 "utilities/const_eval.bas"
if(qbevent){evnt(28806,642,"const_eval.bas");if(r)goto S_41162;}
#line 642 "utilities/const_eval.bas"
do{
#line 642 "utilities/const_eval.bas"
sub__echo(qbs_add(qbs_new_txt_len("Exponent ele! ",14),_FUNC_EXPONENT_STRING_ELE));
#line 642 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 642 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,642,"const_eval.bas");}while(r);
#line 642 "utilities/const_eval.bas"
}
#line 643 "utilities/const_eval.bas"
S_41165:;
#line 643 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_EXPONENT_STRING_ELE,qbs_new_txt_len("^",1))))||is_error_pending()){
#line 643 "utilities/const_eval.bas"
if(qbevent){evnt(28806,643,"const_eval.bas");if(r)goto S_41165;}
#line 644 "utilities/const_eval.bas"
do{
#line 644 "utilities/const_eval.bas"
qbs_set(_FUNC_EXPONENT_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_EXPONENT_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+4)) )));
#line 644 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 644 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,644,"const_eval.bas");}while(r);
#line 650 "utilities/const_eval.bas"
S_41167:;
#line 650 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_UNARY(_FUNC_EXPONENT_STRING_EXP,(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
#line 650 "utilities/const_eval.bas"
if(qbevent){evnt(28806,650,"const_eval.bas");if(r)goto S_41167;}
#line 650 "utilities/const_eval.bas"
do{
#line 650 "utilities/const_eval.bas"
SUB_FIXUPERRORMESSAGE((void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ),qbs_new_txt_len("^",1));
#line 650 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 650 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,650,"const_eval.bas");}while(r);
#line 650 "utilities/const_eval.bas"
do{
#line 650 "utilities/const_eval.bas"
goto exit_subfunc;
#line 650 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,650,"const_eval.bas");}while(r);
#line 650 "utilities/const_eval.bas"
}
#line 652 "utilities/const_eval.bas"
S_41171:;
#line 652 "utilities/const_eval.bas"
if (((*(int32*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+56)))&*__LONG_ISFLOAT)|(*(int32*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+64)))&*__LONG_ISFLOAT))||is_error_pending()){
#line 652 "utilities/const_eval.bas"
if(qbevent){evnt(28806,652,"const_eval.bas");if(r)goto S_41171;}
#line 653 "utilities/const_eval.bas"
do{
#line 653 "utilities/const_eval.bas"
SUB_PARSENUMSETF((void*)( ((char*)(_FUNC_EXPONENT_UDT_NUM)) + ((0+0)) ),&(pass4156=*__LONG_FLOATTYPE-*__LONG_ISPOINTER),&(pass4157=pow2(*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))),*(long double*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))))));
#line 653 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,653,"const_eval.bas");}while(r);
#line 654 "utilities/const_eval.bas"
S_41173:;
#line 654 "utilities/const_eval.bas"
}else{
#line 654 "utilities/const_eval.bas"
if ((*(int32*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+56)))&*__LONG_ISUNSIGNED)|(*(int32*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+64)))&*__LONG_ISUNSIGNED)){
#line 654 "utilities/const_eval.bas"
if(qbevent){evnt(28806,654,"const_eval.bas");if(r)goto S_41173;}
#line 655 "utilities/const_eval.bas"
do{
#line 655 "utilities/const_eval.bas"
SUB_PARSENUMSETUI((void*)( ((char*)(_FUNC_EXPONENT_UDT_NUM)) + ((0+0)) ),&(pass4158=*__LONG_UINTEGER64TYPE-*__LONG_ISPOINTER),&(pass4159=qbr(pow2(*(uint64*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+40))),*(uint64*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+48)))))));
#line 655 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,655,"const_eval.bas");}while(r);
#line 656 "utilities/const_eval.bas"
}else{
#line 657 "utilities/const_eval.bas"
do{
#line 657 "utilities/const_eval.bas"
SUB_PARSENUMSETI((void*)( ((char*)(_FUNC_EXPONENT_UDT_NUM)) + ((0+0)) ),&(pass4160=*__LONG_INTEGER64TYPE-*__LONG_ISPOINTER),&(pass4161=qbr(pow2(*(int64*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+32))),*(int64*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+40)))))));
#line 657 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,657,"const_eval.bas");}while(r);
#line 658 "utilities/const_eval.bas"
}
#line 658 "utilities/const_eval.bas"
}
#line 659 "utilities/const_eval.bas"
S_41178:;
#line 659 "utilities/const_eval.bas"
}else{
#line 659 "utilities/const_eval.bas"
if (qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_EXPONENT_STRING_ELE,qbs_new_txt_len("ROOT",4)))){
#line 659 "utilities/const_eval.bas"
if(qbevent){evnt(28806,659,"const_eval.bas");if(r)goto S_41178;}
#line 660 "utilities/const_eval.bas"
do{
#line 660 "utilities/const_eval.bas"
qbs_set(_FUNC_EXPONENT_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_EXPONENT_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+4)) )));
#line 660 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 660 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,660,"const_eval.bas");}while(r);
#line 666 "utilities/const_eval.bas"
S_41180:;
#line 666 "utilities/const_eval.bas"
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_UNARY(_FUNC_EXPONENT_STRING_EXP,(void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
#line 666 "utilities/const_eval.bas"
if(qbevent){evnt(28806,666,"const_eval.bas");if(r)goto S_41180;}
#line 666 "utilities/const_eval.bas"
do{
#line 666 "utilities/const_eval.bas"
SUB_FIXUPERRORMESSAGE((void*)( ((char*)(_FUNC_EXPONENT_UDT_STATE)) + ((0+0)) ),qbs_new_txt_len("ROOT",4));
#line 666 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 666 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,666,"const_eval.bas");}while(r);
#line 666 "utilities/const_eval.bas"
do{
#line 666 "utilities/const_eval.bas"
goto exit_subfunc;
#line 666 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,666,"const_eval.bas");}while(r);
#line 666 "utilities/const_eval.bas"
}
#line 668 "utilities/const_eval.bas"
S_41184:;
#line 668 "utilities/const_eval.bas"
if (((-(*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0)))< 0 ))&(-(*(long double*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8)))>= 1 )))||is_error_pending()){
#line 668 "utilities/const_eval.bas"
if(qbevent){evnt(28806,668,"const_eval.bas");if(r)goto S_41184;}
#line 668 "utilities/const_eval.bas"
do{
#line 668 "utilities/const_eval.bas"
*_FUNC_EXPONENT_LONG_SIG= -1 ;
#line 668 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,668,"const_eval.bas");}while(r);
#line 668 "utilities/const_eval.bas"
do{
#line 668 "utilities/const_eval.bas"
*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0)))=-(*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))));
#line 668 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,668,"const_eval.bas");}while(r);
#line 668 "utilities/const_eval.bas"
}else{
#line 668 "utilities/const_eval.bas"
do{
#line 668 "utilities/const_eval.bas"
*_FUNC_EXPONENT_LONG_SIG= 1 ;
#line 668 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,668,"const_eval.bas");}while(r);
#line 668 "utilities/const_eval.bas"
}
#line 669 "utilities/const_eval.bas"
do{
#line 669 "utilities/const_eval.bas"
*_FUNC_EXPONENT_FLOAT_EXPON=( 1E+0L / *(long double*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))));
#line 669 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,669,"const_eval.bas");}while(r);
#line 670 "utilities/const_eval.bas"
S_41191:;
#line 670 "utilities/const_eval.bas"
if (((-(*_FUNC_EXPONENT_FLOAT_EXPON!=std::floor(*_FUNC_EXPONENT_FLOAT_EXPON)))&(-(*(long double*)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8)))< 1 )))||is_error_pending()){
#line 670 "utilities/const_eval.bas"
if(qbevent){evnt(28806,670,"const_eval.bas");if(r)goto S_41191;}
#line 670 "utilities/const_eval.bas"
do{
#line 670 "utilities/const_eval.bas"
*_FUNC_EXPONENT_LONG_SIG=func_sgn((long double)(*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0)))));
#line 670 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,670,"const_eval.bas");}while(r);
#line 670 "utilities/const_eval.bas"
do{
#line 670 "utilities/const_eval.bas"
*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0)))=func_abs((long double)(*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0)))));
#line 670 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,670,"const_eval.bas");}while(r);
#line 670 "utilities/const_eval.bas"
}
#line 672 "utilities/const_eval.bas"
do{
#line 672 "utilities/const_eval.bas"
SUB_PARSENUMSETF((void*)( ((char*)(_FUNC_EXPONENT_UDT_NUM)) + ((0+0)) ),&(pass4162=*__LONG_FLOATTYPE-*__LONG_ISPOINTER),&(pass4163=*_FUNC_EXPONENT_LONG_SIG*(pow2(*(long double*)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))),*_FUNC_EXPONENT_FLOAT_EXPON))));
#line 672 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,672,"const_eval.bas");}while(r);
#line 673 "utilities/const_eval.bas"
}else{
#line 674 "utilities/const_eval.bas"
S_41197:;
#line 674 "utilities/const_eval.bas"
if (( 0ll )||is_error_pending()){
#line 674 "utilities/const_eval.bas"
if(qbevent){evnt(28806,674,"const_eval.bas");if(r)goto S_41197;}
#line 674 "utilities/const_eval.bas"
do{
#line 674 "utilities/const_eval.bas"
sub__echo(qbs_new_txt_len("Exponent done!",14));
#line 674 "utilities/const_eval.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 674 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,674,"const_eval.bas");}while(r);
#line 674 "utilities/const_eval.bas"
}
#line 675 "utilities/const_eval.bas"
do{
#line 675 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+0))),(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+0))),32);
#line 675 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+32))),(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+32))),8);
#line 675 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+40))),(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+40))),8);
#line 675 "utilities/const_eval.bas"
qbs_set(*(qbs**)(((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+48))),*(qbs**)(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+48))));
#line 675 "utilities/const_eval.bas"
memcpy((((char*)_FUNC_EXPONENT_UDT_STATE)+((0+8))+((0+56))),(((char*)_FUNC_EXPONENT_UDT_NUM)+((0+0))+((0+56))),4);
#line 675 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,675,"const_eval.bas");}while(r);
#line 676 "utilities/const_eval.bas"
do{
#line 676 "utilities/const_eval.bas"
*_FUNC_EXPONENT_LONG_EXPONENT= -1 ;
#line 676 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,676,"const_eval.bas");}while(r);
#line 677 "utilities/const_eval.bas"
do{
#line 677 "utilities/const_eval.bas"
goto exit_subfunc;
#line 677 "utilities/const_eval.bas"
if(!qbevent)break;evnt(28806,677,"const_eval.bas");}while(r);
#line 678 "utilities/const_eval.bas"
}
#line 678 "utilities/const_eval.bas"
}
#line 679 "utilities/const_eval.bas"
dl_continue_4155:;
#line 679 "utilities/const_eval.bas"
}while(1);
#line 679 "utilities/const_eval.bas"
dl_exit_4155:;
#line 680 "utilities/const_eval.bas"
exit_subfunc:;
#line 680 "utilities/const_eval.bas"
free_mem_lock(sf_mem_lock);
#line 680 "utilities/const_eval.bas"
#include "free258.txt"
#line 680 "utilities/const_eval.bas"
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;
#line 680 "utilities/const_eval.bas"
cmem_sp=tmp_cmem_sp;
#line 680 "utilities/const_eval.bas"
return *_FUNC_EXPONENT_LONG_EXPONENT;
#line 680 "utilities/const_eval.bas"
}
