void main() { uint32_t na; uint32_t nb; uint32_t nc; klee_make_symbolic(&na, sizeof(na), "na"); klee_make_symbolic(&nb, sizeof(nb), "nb"); klee_make_symbolic(&nc, sizeof(nc), "nc"); int nN = 3; klee_assume(na > 0); klee_assume(nb > 0); klee_assume(nc > 0); assert(nPow(na, nN) + nPow(nb, nN) != nPow(nc, nN)); }
string valueToStr(float value,int nPrecision){//float to string if(value==floorf(value)){ return numberToStr(value); } if(value==0)return string("0"); // int sig; if(value==0){ sig=0; }else if(value>0){ sig=1; }else{ sig=-1; } float abs=fabsf(value); int A=floor(abs); int B=floor((abs-A)*nPow(10,nPrecision)) ; string Astr=numberToStr(A); string Bstr=numberToStr(B); string zerosStr; int makeUpZeroCount=nPrecision-(int)Bstr.size(); assert(makeUpZeroCount>=0); for(int i=0;i<makeUpZeroCount;i++) zerosStr+="0"; string valueStr; if(sig<0) valueStr+="-"; valueStr += Astr+"."+zerosStr+Bstr; return valueStr; }