@@ -336,8 +336,8 @@ int dyadic_rational_get_distance_size(const lp_dyadic_rational_t* lower, const l
336
336
integer_construct (& diff );
337
337
integer_sub (lp_Z , & diff , & upper -> a , & lower -> a );
338
338
size = integer_log2_abs (& diff );
339
- integer_destruct (& diff );
340
339
size -= lower -> n ;
340
+ integer_destruct (& diff );
341
341
} else if (lower -> n > upper -> n ) {
342
342
// n1 > n2
343
343
// size([l/2^n1, u/2^n2]) = log2( u*2^(n1 - n2) - l) / 2^n1)
@@ -347,6 +347,7 @@ int dyadic_rational_get_distance_size(const lp_dyadic_rational_t* lower, const l
347
347
integer_sub (lp_Z , & diff , & diff , & lower -> a );
348
348
size = integer_log2_abs (& diff );
349
349
size -= lower -> n ;
350
+ integer_destruct (& diff );
350
351
} else {
351
352
// n1 < n2
352
353
// size([l/2^n1, u/2^n2]) = log2( u - l*2^(n2 - n1)) / 2^n2)
@@ -356,6 +357,7 @@ int dyadic_rational_get_distance_size(const lp_dyadic_rational_t* lower, const l
356
357
integer_sub (lp_Z , & diff , & upper -> a , & diff );
357
358
size = integer_log2_abs (& diff );
358
359
size -= upper -> n ;
360
+ integer_destruct (& diff );
359
361
}
360
362
361
363
return size ;
0 commit comments