Skip to content

IntDeinit

Description

Release all storage owned by an integer. The object must not be used again until reinitialized.

Parameters

Name Direction Description
value in,out Integer to deinitialize

Success

Underlying bitvector freed; value left in the zeroed post-deinit state.

Failure

Cannot fail; aborts on a corrupted magic via the validator.

Usage example (Cross-references)

Usage examples (Cross-references)
    static inline void FloatDeinit(Float *value) {
        ValidateFloat(value);
        IntDeinit(&value->significand);
        value->negative = false;
        value->exponent = 0;
        }
    
        IntDeinit(value);
        *value = parsed;
    
        if (!BitVecTryFromInteger(INT_BITS(out), value, bits, alloc)) {
            IntDeinit(out);
            *out = IntInit(alloc);
            return false;
    
    static void int_replace(Int *dst, Int *src) {
        IntDeinit(dst);
        *dst = *src;
    }
    
    static void sint_deinit(SignedInt *value) {
        IntDeinit(&value->magnitude);
        value->negative = false;
    }
        }
        if (!int_try_from_u64(&rhs, factor, IntAllocator(value))) {
            IntDeinit(&lhs);
            return false;
        }
        }
        if (!int_mul(&result, &lhs, &rhs)) {
            IntDeinit(&lhs);
            IntDeinit(&rhs);
            IntDeinit(&result);
        if (!int_mul(&result, &lhs, &rhs)) {
            IntDeinit(&lhs);
            IntDeinit(&rhs);
            IntDeinit(&result);
            return false;
            IntDeinit(&lhs);
            IntDeinit(&rhs);
            IntDeinit(&result);
            return false;
        }
        }
    
        IntDeinit(&lhs);
        IntDeinit(&rhs);
        int_replace(value, &result);
    
        IntDeinit(&lhs);
        IntDeinit(&rhs);
        int_replace(value, &result);
        return true;
        }
        if (!int_try_from_u64(&rhs, addend, IntAllocator(value))) {
            IntDeinit(&lhs);
            return false;
        }
        }
        if (!int_add(&result, &lhs, &rhs)) {
            IntDeinit(&lhs);
            IntDeinit(&rhs);
            IntDeinit(&result);
        if (!int_add(&result, &lhs, &rhs)) {
            IntDeinit(&lhs);
            IntDeinit(&rhs);
            IntDeinit(&result);
            return false;
            IntDeinit(&lhs);
            IntDeinit(&rhs);
            IntDeinit(&result);
            return false;
        }
        }
    
        IntDeinit(&lhs);
        IntDeinit(&rhs);
        int_replace(value, &result);
    
        IntDeinit(&lhs);
        IntDeinit(&rhs);
        int_replace(value, &result);
        return true;
            if (digit < 0 || digit >= radix) {
                LOG_ERROR("Invalid digit for radix in Int conversion");
                IntDeinit(&result);
                return false;
            }
            saw_digit = true;
            if (!int_mul_u64_in_place(&result, radix) || !int_add_u64_in_place(&result, (u64)digit)) {
                IntDeinit(&result);
                return false;
            }
        if (!saw_digit) {
            LOG_ERROR("No valid digits found");
            IntDeinit(&result);
            return false;
        }
    
        int_normalize(&result);
        IntDeinit(out);
        *out = result;
        return true;
        for (u64 i = 0; i < len; i++) {
            if (!IntShiftLeft(&result, 8) || !int_add_u64_in_place(&result, bytes[i])) {
                IntDeinit(&result);
                return IntInit(alloc);
            }
    
        if (!int_try_from_u64(&chunk_divisor, chunk, alloc) || !IntReserve(&quotient, IntBitLength(value))) {
            IntDeinit(&chunk_divisor);
            IntDeinit(&quotient);
            IntDeinit(&remainder);
        if (!int_try_from_u64(&chunk_divisor, chunk, alloc) || !IntReserve(&quotient, IntBitLength(value))) {
            IntDeinit(&chunk_divisor);
            IntDeinit(&quotient);
            IntDeinit(&remainder);
            IntDeinit(&current);
            IntDeinit(&chunk_divisor);
            IntDeinit(&quotient);
            IntDeinit(&remainder);
            IntDeinit(&current);
            StrDeinit(&result);
            IntDeinit(&quotient);
            IntDeinit(&remainder);
            IntDeinit(&current);
            StrDeinit(&result);
            return false;
    
            if (!int_div_mod(&quotient, &remainder, &current, &chunk_divisor)) {
                IntDeinit(&chunk_divisor);
                IntDeinit(&quotient);
                IntDeinit(&remainder);
            if (!int_div_mod(&quotient, &remainder, &current, &chunk_divisor)) {
                IntDeinit(&chunk_divisor);
                IntDeinit(&quotient);
                IntDeinit(&remainder);
                IntDeinit(&current);
                IntDeinit(&chunk_divisor);
                IntDeinit(&quotient);
                IntDeinit(&remainder);
                IntDeinit(&current);
                StrDeinit(&result);
                IntDeinit(&quotient);
                IntDeinit(&remainder);
                IntDeinit(&current);
                StrDeinit(&result);
                return false;
            for (u32 k = 0; (k < chunk_digits) && !(last && rem == 0 && k > 0); k++) {
                if (!StrPushBackR(&result, int_radix_char((u8)(rem % radix), uppercase))) {
                    IntDeinit(&chunk_divisor);
                    IntDeinit(&quotient);
                    IntDeinit(&remainder);
                if (!StrPushBackR(&result, int_radix_char((u8)(rem % radix), uppercase))) {
                    IntDeinit(&chunk_divisor);
                    IntDeinit(&quotient);
                    IntDeinit(&remainder);
                    IntDeinit(&current);
                    IntDeinit(&chunk_divisor);
                    IntDeinit(&quotient);
                    IntDeinit(&remainder);
                    IntDeinit(&current);
                    StrDeinit(&result);
                    IntDeinit(&quotient);
                    IntDeinit(&remainder);
                    IntDeinit(&current);
                    StrDeinit(&result);
                    return false;
        }
    
        IntDeinit(&chunk_divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
    
        IntDeinit(&chunk_divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        IntDeinit(&chunk_divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
    
        for (u64 i = 0; i < StrLen(&result) / 2; i++) {
        }
    
        IntDeinit(&current);
        *out = result;
        return true;
        }
        if (!int_add_u64_in_place(&temp, addend)) {
            IntDeinit(&temp);
            return false;
        }
        }
        ok = int_sub(result, value, &rhs);
        IntDeinit(&rhs);
        return ok;
    }
    
    cleanup:
        IntDeinit(&a_copy);
        IntDeinit(&b_copy);
        return ok;
    cleanup:
        IntDeinit(&a_copy);
        IntDeinit(&b_copy);
        return ok;
    }
        }
        if (!int_mul_u64_in_place(&temp, factor)) {
            IntDeinit(&temp);
            return false;
        }
        }
        if (!int_try_clone_value(&current, base)) {
            IntDeinit(&acc);
            return false;
        }
            if (exponent & 1u) {
                if (!int_mul(&scratch, &acc, &current)) {
                    IntDeinit(&acc);
                    IntDeinit(&current);
                    IntDeinit(&scratch);
                if (!int_mul(&scratch, &acc, &current)) {
                    IntDeinit(&acc);
                    IntDeinit(&current);
                    IntDeinit(&scratch);
                    return false;
                    IntDeinit(&acc);
                    IntDeinit(&current);
                    IntDeinit(&scratch);
                    return false;
                }
            if (exponent > 0) {
                if (!IntSquare(&scratch, &current)) {
                    IntDeinit(&acc);
                    IntDeinit(&current);
                    IntDeinit(&scratch);
                if (!IntSquare(&scratch, &current)) {
                    IntDeinit(&acc);
                    IntDeinit(&current);
                    IntDeinit(&scratch);
                    return false;
                    IntDeinit(&acc);
                    IntDeinit(&current);
                    IntDeinit(&scratch);
                    return false;
                }
        }
    
        IntDeinit(&scratch);
        IntDeinit(&current);
        int_replace(result, &acc);
    
        IntDeinit(&scratch);
        IntDeinit(&current);
        int_replace(result, &acc);
        return true;
    
            if (!int_try_clone_value(&r0, dividend)) {
                IntDeinit(&r0);
                return false;
            }
    
    cleanup:
        IntDeinit(&dividend_copy);
        IntDeinit(&divisor_copy);
        return ok;
    cleanup:
        IntDeinit(&dividend_copy);
        IntDeinit(&divisor_copy);
        return ok;
    }
        // any input that aliases an output), so result's buffer is reused.
        if (!int_div_mod(result, &remainder, dividend, divisor)) {
            IntDeinit(&remainder);
            return false;
        }
        }
    
        IntDeinit(&remainder);
        return true;
    }
    
        if (!int_div_mod(&quotient, &remainder, dividend, divisor)) {
            IntDeinit(&quotient);
            IntDeinit(&remainder);
            return false;
        if (!int_div_mod(&quotient, &remainder, dividend, divisor)) {
            IntDeinit(&quotient);
            IntDeinit(&remainder);
            return false;
        }
        }
        if (!IntIsZero(&remainder)) {
            IntDeinit(&quotient);
            IntDeinit(&remainder);
            return false;
        if (!IntIsZero(&remainder)) {
            IntDeinit(&quotient);
            IntDeinit(&remainder);
            return false;
        }
        }
    
        IntDeinit(&remainder);
        int_replace(result, &quotient);
        return true;
    
        if (!int_try_from_u64(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            return false;
        }
    
        bool ok = int_div(result, dividend, &divisor_value);
        IntDeinit(&divisor_value);
        return ok;
    }
    
        if (!int_try_from_i64_with_allocator(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            return false;
        }
    
        bool ok = int_div(result, dividend, &divisor_value);
        IntDeinit(&divisor_value);
        return ok;
    }
    
        if (!int_try_from_u64(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            return false;
        }
    
        bool ok = int_div_exact(result, dividend, &divisor_value);
        IntDeinit(&divisor_value);
        return ok;
    }
    
        if (!int_try_from_i64_with_allocator(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            return false;
        }
    
        bool ok = int_div_exact(result, dividend, &divisor_value);
        IntDeinit(&divisor_value);
        return ok;
    }
    
        if (!int_try_from_u64(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            return false;
        }
    
        bool ok = int_div_mod(quotient, remainder, dividend, &divisor_value);
        IntDeinit(&divisor_value);
        return ok;
    }
    
        if (!int_try_from_i64_with_allocator(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            return false;
        }
    
        bool ok = int_div_mod(quotient, remainder, dividend, &divisor_value);
        IntDeinit(&divisor_value);
        return ok;
    }
    
        if (!int_try_from_u64(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            IntDeinit(&remainder);
            return 0;
        if (!int_try_from_u64(&divisor_value, divisor, IntAllocator(dividend))) {
            IntDeinit(&divisor_value);
            IntDeinit(&remainder);
            return 0;
        }
    
        if (!int_div_mod(quotient, &remainder, dividend, &divisor_value)) {
            IntDeinit(&divisor_value);
            IntDeinit(&remainder);
            return 0;
        if (!int_div_mod(quotient, &remainder, dividend, &divisor_value)) {
            IntDeinit(&divisor_value);
            IntDeinit(&remainder);
            return 0;
        }
        rem = IntToU64(&remainder);
    
        IntDeinit(&divisor_value);
        IntDeinit(&remainder);
        return rem;
    
        IntDeinit(&divisor_value);
        IntDeinit(&remainder);
        return rem;
    }
        // any input that aliases an output), so result's buffer is reused.
        if (!int_div_mod(&quotient, result, dividend, divisor)) {
            IntDeinit(&quotient);
            return false;
        }
        }
    
        IntDeinit(&quotient);
        return true;
    }
    
        bool ok = int_div_mod_u64(&quotient, result, dividend, divisor);
        IntDeinit(&quotient);
        return ok;
    }
    
        bool ok = int_div_mod_i64(&quotient, result, dividend, divisor);
        IntDeinit(&quotient);
        return ok;
    }
        u64 rem      = int_div_u64_rem(&quotient, value, modulus);
    
        IntDeinit(&quotient);
        return rem;
    }
    
        if (!int_try_clone_value(&x, a) || !int_try_clone_value(&y, b)) {
            IntDeinit(&x);
            IntDeinit(&y);
            return false;
        if (!int_try_clone_value(&x, a) || !int_try_clone_value(&y, b)) {
            IntDeinit(&x);
            IntDeinit(&y);
            return false;
        }
    
            if (!int_mod(&r, &x, &y)) {
                IntDeinit(&x);
                IntDeinit(&y);
                IntDeinit(&r);
            if (!int_mod(&r, &x, &y)) {
                IntDeinit(&x);
                IntDeinit(&y);
                IntDeinit(&r);
                return false;
                IntDeinit(&x);
                IntDeinit(&y);
                IntDeinit(&r);
                return false;
            }
                return false;
            }
            IntDeinit(&x);
            x = y;
            y = r;
    
        int_replace(result, &x);
        IntDeinit(&y);
        return true;
    }
    
        if (!IntGCD(&gcd, a, b) || !int_div(&quotient, a, &gcd) || !int_mul(&lcm, &quotient, b)) {
            IntDeinit(&gcd);
            IntDeinit(&quotient);
            IntDeinit(&lcm);
        if (!IntGCD(&gcd, a, b) || !int_div(&quotient, a, &gcd) || !int_mul(&lcm, &quotient, b)) {
            IntDeinit(&gcd);
            IntDeinit(&quotient);
            IntDeinit(&lcm);
            return false;
            IntDeinit(&gcd);
            IntDeinit(&quotient);
            IntDeinit(&lcm);
            return false;
        }
        }
    
        IntDeinit(&gcd);
        IntDeinit(&quotient);
        int_replace(result, &lcm);
    
        IntDeinit(&gcd);
        IntDeinit(&quotient);
        int_replace(result, &lcm);
        return true;
    
            if (!IntTryClone(&exact_root, value)) {
                IntDeinit(&exact_root);
                IntDeinit(&zero_rem);
                return false;
            if (!IntTryClone(&exact_root, value)) {
                IntDeinit(&exact_root);
                IntDeinit(&zero_rem);
                return false;
            }
    
        if (!int_try_from_u64(&high, 1, IntAllocator(root)) || !int_try_from_u64(&one, 1, IntAllocator(root))) {
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&best);
        if (!int_try_from_u64(&high, 1, IntAllocator(root)) || !int_try_from_u64(&one, 1, IntAllocator(root))) {
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&best);
            IntDeinit(&one);
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&best);
            IntDeinit(&one);
            return false;
            IntDeinit(&high);
            IntDeinit(&best);
            IntDeinit(&one);
            return false;
        }
    
        if (!IntShiftLeft(&high, high_shift)) {
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&best);
        if (!IntShiftLeft(&high, high_shift)) {
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&best);
            IntDeinit(&one);
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&best);
            IntDeinit(&one);
            return false;
            IntDeinit(&high);
            IntDeinit(&best);
            IntDeinit(&one);
            return false;
        }
    
            if (!int_add(&sum, &low, &high) || !IntShiftRight(&sum, 1)) {
                IntDeinit(&sum);
                IntDeinit(&mid);
                IntDeinit(&mid_pow);
            if (!int_add(&sum, &low, &high) || !IntShiftRight(&sum, 1)) {
                IntDeinit(&sum);
                IntDeinit(&mid);
                IntDeinit(&mid_pow);
                IntDeinit(&low);
                IntDeinit(&sum);
                IntDeinit(&mid);
                IntDeinit(&mid_pow);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&mid);
                IntDeinit(&mid_pow);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&mid_pow);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&one);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&one);
                return false;
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&one);
                return false;
            }
    
            if (!int_pow_u64(&mid_pow, &mid, degree)) {
                IntDeinit(&mid_pow);
                IntDeinit(&mid);
                IntDeinit(&low);
            if (!int_pow_u64(&mid_pow, &mid, degree)) {
                IntDeinit(&mid_pow);
                IntDeinit(&mid);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&mid_pow);
                IntDeinit(&mid);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&mid);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&one);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&one);
                return false;
                IntDeinit(&high);
                IntDeinit(&best);
                IntDeinit(&one);
                return false;
            }
                Int next = IntInit(IntAllocator(root));
    
                IntDeinit(&best);
                if (!IntTryClone(&best, &mid)) {
                    IntDeinit(&mid_pow);
                IntDeinit(&best);
                if (!IntTryClone(&best, &mid)) {
                    IntDeinit(&mid_pow);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                if (!IntTryClone(&best, &mid)) {
                    IntDeinit(&mid_pow);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&mid_pow);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&one);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&one);
                    return false;
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&one);
                    return false;
                }
                }
                if (!int_add(&next, &mid, &one)) {
                    IntDeinit(&mid_pow);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                if (!int_add(&next, &mid, &one)) {
                    IntDeinit(&mid_pow);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&mid_pow);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&mid);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&next);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&one);
                    IntDeinit(&low);
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&one);
                    return false;
                    IntDeinit(&high);
                    IntDeinit(&best);
                    IntDeinit(&one);
                    return false;
                }
                    return false;
                }
                IntDeinit(&low);
                low = next;
            } else {
    
                if (IntEQ(&mid, &one) || IntIsZero(&mid)) {
                    IntDeinit(&high);
                    high = IntInit(IntAllocator(root));
                } else {
                } else {
                    if (!int_sub(&next, &mid, &one)) {
                        IntDeinit(&mid_pow);
                        IntDeinit(&mid);
                        IntDeinit(&next);
                    if (!int_sub(&next, &mid, &one)) {
                        IntDeinit(&mid_pow);
                        IntDeinit(&mid);
                        IntDeinit(&next);
                        IntDeinit(&low);
                        IntDeinit(&mid_pow);
                        IntDeinit(&mid);
                        IntDeinit(&next);
                        IntDeinit(&low);
                        IntDeinit(&high);
                        IntDeinit(&mid);
                        IntDeinit(&next);
                        IntDeinit(&low);
                        IntDeinit(&high);
                        IntDeinit(&best);
                        IntDeinit(&next);
                        IntDeinit(&low);
                        IntDeinit(&high);
                        IntDeinit(&best);
                        IntDeinit(&one);
                        IntDeinit(&low);
                        IntDeinit(&high);
                        IntDeinit(&best);
                        IntDeinit(&one);
                        return false;
                        IntDeinit(&high);
                        IntDeinit(&best);
                        IntDeinit(&one);
                        return false;
                    }
                        return false;
                    }
                    IntDeinit(&high);
                    high = next;
                }
            }
    
            IntDeinit(&mid_pow);
            IntDeinit(&mid);
        }
    
            IntDeinit(&mid_pow);
            IntDeinit(&mid);
        }
    
            if (!int_pow_u64(&power, &best, degree) || !int_sub(&rem, value, &power)) {
                IntDeinit(&power);
                IntDeinit(&rem);
                IntDeinit(&low);
            if (!int_pow_u64(&power, &best, degree) || !int_sub(&rem, value, &power)) {
                IntDeinit(&power);
                IntDeinit(&rem);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&power);
                IntDeinit(&rem);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&one);
                IntDeinit(&rem);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&one);
                IntDeinit(&best);
                IntDeinit(&low);
                IntDeinit(&high);
                IntDeinit(&one);
                IntDeinit(&best);
                return false;
                IntDeinit(&high);
                IntDeinit(&one);
                IntDeinit(&best);
                return false;
            }
            }
    
            IntDeinit(&power);
            IntDeinit(&low);
            IntDeinit(&high);
    
            IntDeinit(&power);
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&one);
            IntDeinit(&power);
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&one);
            IntDeinit(&low);
            IntDeinit(&high);
            IntDeinit(&one);
    
            int_replace(root, &best);
    
        if (!IntRootRem(&root, &remainder, value, degree)) {
            IntDeinit(&root);
            IntDeinit(&remainder);
            return false;
        if (!IntRootRem(&root, &remainder, value, degree)) {
            IntDeinit(&root);
            IntDeinit(&remainder);
            return false;
        }
        }
    
        IntDeinit(&remainder);
        int_replace(result, &root);
        return true;
    
        if (!IntSqrtRem(&root, &remainder, value)) {
            IntDeinit(&root);
            IntDeinit(&remainder);
            return false;
        if (!IntSqrtRem(&root, &remainder, value)) {
            IntDeinit(&root);
            IntDeinit(&remainder);
            return false;
        }
        result = IntIsZero(&remainder);
    
        IntDeinit(&root);
        IntDeinit(&remainder);
        return result;
    
        IntDeinit(&root);
        IntDeinit(&remainder);
        return result;
    }
    
            if (!IntRootRem(&root, &remainder, value, degree)) {
                IntDeinit(&root);
                IntDeinit(&remainder);
                return false;
            if (!IntRootRem(&root, &remainder, value, degree)) {
                IntDeinit(&root);
                IntDeinit(&remainder);
                return false;
            }
            exact = IntIsZero(&remainder);
    
            IntDeinit(&root);
            IntDeinit(&remainder);
    
            IntDeinit(&root);
            IntDeinit(&remainder);
    
            if (exact) {
    
        if (!int_try_clone_value(&nn, n) || !int_mod(&aa, a, &nn)) {
            IntDeinit(&aa);
            IntDeinit(&nn);
            return false;
        if (!int_try_clone_value(&nn, n) || !int_mod(&aa, a, &nn)) {
            IntDeinit(&aa);
            IntDeinit(&nn);
            return false;
        }
    
                if (!IntShiftRight(&aa, 1)) {
                    IntDeinit(&aa);
                    IntDeinit(&nn);
                    return false;
                if (!IntShiftRight(&aa, 1)) {
                    IntDeinit(&aa);
                    IntDeinit(&nn);
                    return false;
                }
    
            if (!int_mod(&aa, &aa, &nn)) {
                IntDeinit(&aa);
                IntDeinit(&nn);
                return false;
            if (!int_mod(&aa, &aa, &nn)) {
                IntDeinit(&aa);
                IntDeinit(&nn);
                return false;
            }
        }
    
        IntDeinit(&aa);
        if (int_compare_u64(&nn, 1) != 0) {
            IntDeinit(&nn);
        IntDeinit(&aa);
        if (int_compare_u64(&nn, 1) != 0) {
            IntDeinit(&nn);
            *out = 0;
            return true;
        }
    
        IntDeinit(&nn);
        *out = result;
        return true;
    
    done:
        IntDeinit(&ar);
        IntDeinit(&br);
        IntDeinit(&sum);
    done:
        IntDeinit(&ar);
        IntDeinit(&br);
        IntDeinit(&sum);
        return ok;
        IntDeinit(&ar);
        IntDeinit(&br);
        IntDeinit(&sum);
        return ok;
    }
    
        if (!int_mod(&ar, a, modulus) || !int_mod(&br, b, modulus)) {
            IntDeinit(&ar);
            IntDeinit(&br);
            return false;
        if (!int_mod(&ar, a, modulus) || !int_mod(&br, b, modulus)) {
            IntDeinit(&ar);
            IntDeinit(&br);
            return false;
        }
        if (IntGE(&ar, &br)) {
            if (!int_sub(result, &ar, &br)) {
                IntDeinit(&ar);
                IntDeinit(&br);
                return false;
            if (!int_sub(result, &ar, &br)) {
                IntDeinit(&ar);
                IntDeinit(&br);
                return false;
            }
    
            if (!int_sub(&diff, &br, &ar)) {
                IntDeinit(&ar);
                IntDeinit(&br);
                IntDeinit(&diff);
            if (!int_sub(&diff, &br, &ar)) {
                IntDeinit(&ar);
                IntDeinit(&br);
                IntDeinit(&diff);
                return false;
                IntDeinit(&ar);
                IntDeinit(&br);
                IntDeinit(&diff);
                return false;
            }
            } else {
                if (!int_sub(result, modulus, &diff)) {
                    IntDeinit(&ar);
                    IntDeinit(&br);
                    IntDeinit(&diff);
                if (!int_sub(result, modulus, &diff)) {
                    IntDeinit(&ar);
                    IntDeinit(&br);
                    IntDeinit(&diff);
                    return false;
                    IntDeinit(&ar);
                    IntDeinit(&br);
                    IntDeinit(&diff);
                    return false;
                }
            }
    
            IntDeinit(&diff);
        }
        }
    
        IntDeinit(&ar);
        IntDeinit(&br);
        return true;
    
        IntDeinit(&ar);
        IntDeinit(&br);
        return true;
    }
    
    done:
        IntDeinit(&ar);
        IntDeinit(&br);
        IntDeinit(&prod);
    done:
        IntDeinit(&ar);
        IntDeinit(&br);
        IntDeinit(&prod);
        return ok;
        IntDeinit(&ar);
        IntDeinit(&br);
        IntDeinit(&prod);
        return ok;
    }
        ok = IntModInv(&inverse, b, modulus);
        if (!ok) {
            IntDeinit(&inverse);
            IntDeinit(&value);
            return false;
        if (!ok) {
            IntDeinit(&inverse);
            IntDeinit(&value);
            return false;
        }
    
        if (!IntModMul(&value, a, &inverse, modulus)) {
            IntDeinit(&inverse);
            IntDeinit(&value);
            return false;
        if (!IntModMul(&value, a, &inverse, modulus)) {
            IntDeinit(&inverse);
            IntDeinit(&value);
            return false;
        }
        }
    
        IntDeinit(&inverse);
        int_replace(result, &value);
        return true;
    
        if (!int_try_from_u64(&acc, 1, IntAllocator(result))) {
            IntDeinit(&base_mod);
            return false;
        }
        }
        if (!int_mod(&acc, &acc, modulus) || !int_mod(&base_mod, base, modulus)) {
            IntDeinit(&acc);
            IntDeinit(&base_mod);
            return false;
        if (!int_mod(&acc, &acc, modulus) || !int_mod(&base_mod, base, modulus)) {
            IntDeinit(&acc);
            IntDeinit(&base_mod);
            return false;
        }
            if (exponent & 1u) {
                if (!IntModMul(&scratch, &acc, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&scratch);
                if (!IntModMul(&scratch, &acc, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&scratch);
                    return false;
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&scratch);
                    return false;
                }
            if (exponent > 0) {
                if (!IntModMul(&scratch, &base_mod, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&scratch);
                if (!IntModMul(&scratch, &base_mod, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&scratch);
                    return false;
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&scratch);
                    return false;
                }
        }
    
        IntDeinit(&scratch);
        IntDeinit(&base_mod);
        int_replace(result, &acc);
    
        IntDeinit(&scratch);
        IntDeinit(&base_mod);
        int_replace(result, &acc);
        return true;
        if (!int_try_from_u64(&acc, 1, IntAllocator(result)) || !IntTryClone(&exp, exponent) ||
            !int_mod(&acc, &acc, modulus) || !int_mod(&base_mod, base, modulus)) {
            IntDeinit(&acc);
            IntDeinit(&base_mod);
            IntDeinit(&exp);
            !int_mod(&acc, &acc, modulus) || !int_mod(&base_mod, base, modulus)) {
            IntDeinit(&acc);
            IntDeinit(&base_mod);
            IntDeinit(&exp);
            return false;
            IntDeinit(&acc);
            IntDeinit(&base_mod);
            IntDeinit(&exp);
            return false;
        }
            if (int_is_odd(&exp)) {
                if (!IntModMul(&scratch, &acc, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                if (!IntModMul(&scratch, &acc, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                    IntDeinit(&scratch);
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                    IntDeinit(&scratch);
                    return false;
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                    IntDeinit(&scratch);
                    return false;
                }
    
            if (!IntShiftRight(&exp, 1)) {
                IntDeinit(&acc);
                IntDeinit(&base_mod);
                IntDeinit(&exp);
            if (!IntShiftRight(&exp, 1)) {
                IntDeinit(&acc);
                IntDeinit(&base_mod);
                IntDeinit(&exp);
                IntDeinit(&scratch);
                IntDeinit(&acc);
                IntDeinit(&base_mod);
                IntDeinit(&exp);
                IntDeinit(&scratch);
                return false;
                IntDeinit(&base_mod);
                IntDeinit(&exp);
                IntDeinit(&scratch);
                return false;
            }
            if (!IntIsZero(&exp)) {
                if (!IntModMul(&scratch, &base_mod, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                if (!IntModMul(&scratch, &base_mod, &base_mod, modulus)) {
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                    IntDeinit(&scratch);
                    IntDeinit(&acc);
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                    IntDeinit(&scratch);
                    return false;
                    IntDeinit(&base_mod);
                    IntDeinit(&exp);
                    IntDeinit(&scratch);
                    return false;
                }
        }
    
        IntDeinit(&scratch);
        IntDeinit(&exp);
        IntDeinit(&base_mod);
    
        IntDeinit(&scratch);
        IntDeinit(&exp);
        IntDeinit(&base_mod);
        int_replace(result, &acc);
        IntDeinit(&scratch);
        IntDeinit(&exp);
        IntDeinit(&base_mod);
        int_replace(result, &acc);
        return true;
    
        if (!IntTryClone(&r, modulus) || !int_mod(&reduced, value, modulus)) {
            IntDeinit(&reduced);
            IntDeinit(&r);
            IntDeinit(&new_r);
        if (!IntTryClone(&r, modulus) || !int_mod(&reduced, value, modulus)) {
            IntDeinit(&reduced);
            IntDeinit(&r);
            IntDeinit(&new_r);
            IntDeinit(&one);
            IntDeinit(&reduced);
            IntDeinit(&r);
            IntDeinit(&new_r);
            IntDeinit(&one);
            sint_deinit(&t);
            IntDeinit(&r);
            IntDeinit(&new_r);
            IntDeinit(&one);
            sint_deinit(&t);
            sint_deinit(&new_t);
        }
        if (!IntTryClone(&new_r, &reduced)) {
            IntDeinit(&reduced);
            IntDeinit(&r);
            IntDeinit(&new_r);
        if (!IntTryClone(&new_r, &reduced)) {
            IntDeinit(&reduced);
            IntDeinit(&r);
            IntDeinit(&new_r);
            IntDeinit(&one);
            IntDeinit(&reduced);
            IntDeinit(&r);
            IntDeinit(&new_r);
            IntDeinit(&one);
            sint_deinit(&t);
            IntDeinit(&r);
            IntDeinit(&new_r);
            IntDeinit(&one);
            sint_deinit(&t);
            sint_deinit(&new_t);
            if (!int_div_mod(&q, &rem, &r, &new_r) || !sint_mul_unsigned(&q_new_t, &new_t, &q) ||
                !sint_sub(&next_t, &t, &q_new_t)) {
                IntDeinit(&q);
                IntDeinit(&rem);
                IntDeinit(&next_r);
                !sint_sub(&next_t, &t, &q_new_t)) {
                IntDeinit(&q);
                IntDeinit(&rem);
                IntDeinit(&next_r);
                sint_deinit(&q_new_t);
                IntDeinit(&q);
                IntDeinit(&rem);
                IntDeinit(&next_r);
                sint_deinit(&q_new_t);
                sint_deinit(&next_t);
                sint_deinit(&q_new_t);
                sint_deinit(&next_t);
                IntDeinit(&reduced);
                IntDeinit(&r);
                IntDeinit(&new_r);
                sint_deinit(&next_t);
                IntDeinit(&reduced);
                IntDeinit(&r);
                IntDeinit(&new_r);
                IntDeinit(&one);
                IntDeinit(&reduced);
                IntDeinit(&r);
                IntDeinit(&new_r);
                IntDeinit(&one);
                sint_deinit(&t);
                IntDeinit(&r);
                IntDeinit(&new_r);
                IntDeinit(&one);
                sint_deinit(&t);
                sint_deinit(&new_t);
            }
    
            IntDeinit(&next_r);
            next_r = rem;
            new_t = next_t;
    
            IntDeinit(&r);
            r     = new_r;
            new_r = next_r;
    
            sint_deinit(&q_new_t);
            IntDeinit(&q);
        }
    
            if (!int_mod(&mag_mod, &t.magnitude, modulus)) {
                IntDeinit(&positive);
                IntDeinit(&mag_mod);
                IntDeinit(&reduced);
            if (!int_mod(&mag_mod, &t.magnitude, modulus)) {
                IntDeinit(&positive);
                IntDeinit(&mag_mod);
                IntDeinit(&reduced);
                IntDeinit(&r);
                IntDeinit(&positive);
                IntDeinit(&mag_mod);
                IntDeinit(&reduced);
                IntDeinit(&r);
                IntDeinit(&new_r);
                IntDeinit(&mag_mod);
                IntDeinit(&reduced);
                IntDeinit(&r);
                IntDeinit(&new_r);
                IntDeinit(&one);
                IntDeinit(&reduced);
                IntDeinit(&r);
                IntDeinit(&new_r);
                IntDeinit(&one);
                sint_deinit(&t);
                IntDeinit(&r);
                IntDeinit(&new_r);
                IntDeinit(&one);
                sint_deinit(&t);
                sint_deinit(&new_t);
            if (t.negative && !IntIsZero(&mag_mod)) {
                if (!int_sub(&positive, modulus, &mag_mod)) {
                    IntDeinit(&positive);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                if (!int_sub(&positive, modulus, &mag_mod)) {
                    IntDeinit(&positive);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&positive);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&one);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&one);
                    sint_deinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&one);
                    sint_deinit(&t);
                    sint_deinit(&new_t);
            } else {
                if (!int_mod(&positive, &t.magnitude, modulus)) {
                    IntDeinit(&positive);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                if (!int_mod(&positive, &t.magnitude, modulus)) {
                    IntDeinit(&positive);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&positive);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&mag_mod);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&one);
                    IntDeinit(&reduced);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&one);
                    sint_deinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&new_r);
                    IntDeinit(&one);
                    sint_deinit(&t);
                    sint_deinit(&new_t);
            }
    
            IntDeinit(&mag_mod);
            int_replace(result, &positive);
            ok = true;
        }
    
        IntDeinit(&reduced);
        IntDeinit(&r);
        IntDeinit(&new_r);
    
        IntDeinit(&reduced);
        IntDeinit(&r);
        IntDeinit(&new_r);
        IntDeinit(&one);
        IntDeinit(&reduced);
        IntDeinit(&r);
        IntDeinit(&new_r);
        IntDeinit(&one);
        sint_deinit(&t);
        IntDeinit(&r);
        IntDeinit(&new_r);
        IntDeinit(&one);
        sint_deinit(&t);
        sint_deinit(&new_t);
    
        if (!int_mod(&a, value, modulus)) {
            IntDeinit(&a);
            return false;
        }
            Int zero = IntInit(IntAllocator(result));
            int_replace(result, &zero);
            IntDeinit(&a);
            return true;
        }
    
            if (prime_error) {
                IntDeinit(&a);
                return false;
            }
            }
            if (IntIsEven(modulus) || !prime) {
                IntDeinit(&a);
                return false;
            }
            int jacobi = 0;
            if (!IntTryJacobi(&jacobi, &a, modulus) || jacobi != 1) {
                IntDeinit(&a);
                return false;
            }
            if (!IntTryClone(&exponent, modulus) || !int_add_u64(&exponent, &exponent, 1) || !IntShiftRight(&exponent, 2) ||
                !int_pow_mod(&root, &a, &exponent, modulus)) {
                IntDeinit(&exponent);
                IntDeinit(&root);
                IntDeinit(&a);
                !int_pow_mod(&root, &a, &exponent, modulus)) {
                IntDeinit(&exponent);
                IntDeinit(&root);
                IntDeinit(&a);
                return false;
                IntDeinit(&exponent);
                IntDeinit(&root);
                IntDeinit(&a);
                return false;
            }
            }
    
            IntDeinit(&exponent);
            IntDeinit(&a);
            int_replace(result, &root);
    
            IntDeinit(&exponent);
            IntDeinit(&a);
            int_replace(result, &root);
            return true;
    
            if (!IntTryClone(&q, modulus) || !int_try_from_u64(&z, 2, IntAllocator(modulus)) || !int_sub_u64(&q, &q, 1)) {
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
            if (!IntTryClone(&q, modulus) || !int_try_from_u64(&z, 2, IntAllocator(modulus)) || !int_sub_u64(&q, &q, 1)) {
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                return false;
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                return false;
            }
            while (IntIsEven(&q)) {
                if (!IntShiftRight(&q, 1)) {
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                if (!IntShiftRight(&q, 1)) {
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                }
    
                if (!IntTryJacobi(&jacobi, &z, modulus)) {
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                if (!IntTryJacobi(&jacobi, &z, modulus)) {
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                }
    
                if (!int_add_u64(&z, &z, 1)) {
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                if (!int_add_u64(&z, &z, 1)) {
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                }
    
            if (!int_pow_mod(&c, &z, &q, modulus) || !int_pow_mod(&t, &a, &q, modulus)) {
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
            if (!int_pow_mod(&c, &z, &q, modulus) || !int_pow_mod(&t, &a, &q, modulus)) {
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                return false;
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                return false;
            }
            if (!IntTryClone(&exponent, &q) || !int_add_u64(&exponent, &exponent, 1) || !IntShiftRight(&exponent, 1) ||
                !int_pow_mod(&r, &a, &exponent, modulus)) {
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
                !int_pow_mod(&r, &a, &exponent, modulus)) {
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&q);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&z);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&c);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                IntDeinit(&t);
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                return false;
                IntDeinit(&r);
                IntDeinit(&exponent);
                IntDeinit(&a);
                return false;
            }
    
                if (!IntTryClone(&t_power, &t)) {
                    IntDeinit(&t_power);
                    IntDeinit(&q);
                    IntDeinit(&z);
                if (!IntTryClone(&t_power, &t)) {
                    IntDeinit(&t_power);
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t_power);
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&q);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&z);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&c);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    IntDeinit(&t);
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                    IntDeinit(&r);
                    IntDeinit(&exponent);
                    IntDeinit(&a);
                    return false;
                }
                for (i = 1; i < m; i++) {
                    if (!IntSquareMod(&scratch, &t_power, modulus)) {
                        IntDeinit(&scratch);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                    if (!IntSquareMod(&scratch, &t_power, modulus)) {
                        IntDeinit(&scratch);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&scratch);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                    }
                }
    
                IntDeinit(&scratch);
    
                if (i == m) {
    
                if (i == m) {
                    IntDeinit(&t_power);
                    break;
                }
    
                    if (!IntTryClone(&b, &c)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                    if (!IntTryClone(&b, &c)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                    }
    
                        if (!IntSquareMod(&square, &b, modulus)) {
                            IntDeinit(&square);
                            IntDeinit(&b);
                            IntDeinit(&b_sq);
                        if (!IntSquareMod(&square, &b, modulus)) {
                            IntDeinit(&square);
                            IntDeinit(&b);
                            IntDeinit(&b_sq);
                            IntDeinit(&next);
                            IntDeinit(&square);
                            IntDeinit(&b);
                            IntDeinit(&b_sq);
                            IntDeinit(&next);
                            IntDeinit(&t_power);
                            IntDeinit(&b);
                            IntDeinit(&b_sq);
                            IntDeinit(&next);
                            IntDeinit(&t_power);
                            IntDeinit(&q);
                            IntDeinit(&b_sq);
                            IntDeinit(&next);
                            IntDeinit(&t_power);
                            IntDeinit(&q);
                            IntDeinit(&z);
                            IntDeinit(&next);
                            IntDeinit(&t_power);
                            IntDeinit(&q);
                            IntDeinit(&z);
                            IntDeinit(&c);
                            IntDeinit(&t_power);
                            IntDeinit(&q);
                            IntDeinit(&z);
                            IntDeinit(&c);
                            IntDeinit(&t);
                            IntDeinit(&q);
                            IntDeinit(&z);
                            IntDeinit(&c);
                            IntDeinit(&t);
                            IntDeinit(&r);
                            IntDeinit(&z);
                            IntDeinit(&c);
                            IntDeinit(&t);
                            IntDeinit(&r);
                            IntDeinit(&exponent);
                            IntDeinit(&c);
                            IntDeinit(&t);
                            IntDeinit(&r);
                            IntDeinit(&exponent);
                            IntDeinit(&a);
                            IntDeinit(&t);
                            IntDeinit(&r);
                            IntDeinit(&exponent);
                            IntDeinit(&a);
                            return false;
                            IntDeinit(&r);
                            IntDeinit(&exponent);
                            IntDeinit(&a);
                            return false;
                        }
                            return false;
                        }
                        IntDeinit(&b);
                        b = square;
                    }
    
                    if (!IntModMul(&next, &r, &b, modulus)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                    if (!IntModMul(&next, &r, &b, modulus)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                    }
                        return false;
                    }
                    IntDeinit(&r);
                    r = next;
    
                    if (!IntSquareMod(&b_sq, &b, modulus)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&t_power);
                    if (!IntSquareMod(&b_sq, &b, modulus)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&b_sq);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                    }
                    next = IntInit(IntAllocator(result));
                    if (!IntModMul(&next, &t, &b_sq, modulus)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                    if (!IntModMul(&next, &t, &b_sq, modulus)) {
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&b);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&b_sq);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&next);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t_power);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&q);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&z);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&c);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        IntDeinit(&t);
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                        IntDeinit(&r);
                        IntDeinit(&exponent);
                        IntDeinit(&a);
                        return false;
                    }
                        return false;
                    }
                    IntDeinit(&t);
                    t = next;
                    t = next;
    
                    IntDeinit(&c);
                    c = b_sq;
                    IntDeinit(&b);
                    IntDeinit(&c);
                    c = b_sq;
                    IntDeinit(&b);
                }
                }
    
                IntDeinit(&t_power);
                m = i;
            }
    
            ok = int_compare_u64(&t, 1) == 0;
            IntDeinit(&q);
            IntDeinit(&z);
            IntDeinit(&c);
            ok = int_compare_u64(&t, 1) == 0;
            IntDeinit(&q);
            IntDeinit(&z);
            IntDeinit(&c);
            IntDeinit(&t);
            IntDeinit(&q);
            IntDeinit(&z);
            IntDeinit(&c);
            IntDeinit(&t);
            IntDeinit(&exponent);
            IntDeinit(&z);
            IntDeinit(&c);
            IntDeinit(&t);
            IntDeinit(&exponent);
            IntDeinit(&a);
            IntDeinit(&c);
            IntDeinit(&t);
            IntDeinit(&exponent);
            IntDeinit(&a);
            IntDeinit(&t);
            IntDeinit(&exponent);
            IntDeinit(&a);
    
            if (ok) {
                int_replace(result, &r);
            } else {
                IntDeinit(&r);
            }
        }
    
            if (!IntTryClone(&d, value) || !int_sub_u64(&d, &d, 1)) {
                IntDeinit(&d);
                IntDeinit(&n_minus_one);
                return false;
            if (!IntTryClone(&d, value) || !int_sub_u64(&d, &d, 1)) {
                IntDeinit(&d);
                IntDeinit(&n_minus_one);
                return false;
            }
            }
            if (!IntTryClone(&n_minus_one, &d)) {
                IntDeinit(&d);
                IntDeinit(&n_minus_one);
                return false;
            if (!IntTryClone(&n_minus_one, &d)) {
                IntDeinit(&d);
                IntDeinit(&n_minus_one);
                return false;
            }
            while (IntIsEven(&d)) {
                if (!IntShiftRight(&d, 1)) {
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    return false;
                if (!IntShiftRight(&d, 1)) {
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    return false;
                }
    
                if (!int_try_from_u64(&base, bases[i], IntAllocator(value))) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    IntDeinit(&d);
                if (!int_try_from_u64(&base, bases[i], IntAllocator(value))) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    IntDeinit(&base);
                    IntDeinit(&x);
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    return false;
                    IntDeinit(&x);
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    return false;
                }
    
                if (int_compare(&base, value) >= 0) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    continue;
                if (int_compare(&base, value) >= 0) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    continue;
                }
    
                if (!int_pow_mod(&x, &base, &d, value)) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    IntDeinit(&d);
                if (!int_pow_mod(&x, &base, &d, value)) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    IntDeinit(&base);
                    IntDeinit(&x);
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    return false;
                    IntDeinit(&x);
                    IntDeinit(&d);
                    IntDeinit(&n_minus_one);
                    return false;
                }
                }
                if ((int_compare_u64(&x, 1) == 0) || IntEQ(&x, &n_minus_one)) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    continue;
                if ((int_compare_u64(&x, 1) == 0) || IntEQ(&x, &n_minus_one)) {
                    IntDeinit(&base);
                    IntDeinit(&x);
                    continue;
                }
    
                        if (!IntSquareMod(&next, &x, value)) {
                            IntDeinit(&next);
                            IntDeinit(&base);
                            IntDeinit(&x);
                        if (!IntSquareMod(&next, &x, value)) {
                            IntDeinit(&next);
                            IntDeinit(&base);
                            IntDeinit(&x);
                            IntDeinit(&d);
                            IntDeinit(&next);
                            IntDeinit(&base);
                            IntDeinit(&x);
                            IntDeinit(&d);
                            IntDeinit(&n_minus_one);
                            IntDeinit(&base);
                            IntDeinit(&x);
                            IntDeinit(&d);
                            IntDeinit(&n_minus_one);
                            return false;
                            IntDeinit(&x);
                            IntDeinit(&d);
                            IntDeinit(&n_minus_one);
                            return false;
                        }
                            return false;
                        }
                        IntDeinit(&x);
                        x = next;
                }
    
                IntDeinit(&base);
                IntDeinit(&x);
                if (!probable) {
    
                IntDeinit(&base);
                IntDeinit(&x);
                if (!probable) {
                    break;
            }
    
            IntDeinit(&d);
            IntDeinit(&n_minus_one);
            return probable;
    
            IntDeinit(&d);
            IntDeinit(&n_minus_one);
            return probable;
        }
    
            if (!int_try_from_u64(&two, 2, IntAllocator(result))) {
                IntDeinit(&two);
                return false;
            }
    
        if (!IntTryClone(&candidate, value)) {
            IntDeinit(&candidate);
            return false;
        }
    
        if (!int_add_u64(&candidate, &candidate, 1)) {
            IntDeinit(&candidate);
            return false;
        }
    
            if (!int_try_from_u64(&two, 2, IntAllocator(result))) {
                IntDeinit(&two);
                IntDeinit(&candidate);
                return false;
            if (!int_try_from_u64(&two, 2, IntAllocator(result))) {
                IntDeinit(&two);
                IntDeinit(&candidate);
                return false;
            }
                return false;
            }
            IntDeinit(&candidate);
            int_replace(result, &two);
            return true;
        if (IntIsEven(&candidate)) {
            if (!int_add_u64(&candidate, &candidate, 1)) {
                IntDeinit(&candidate);
                return false;
            }
        while (!IntIsProbablePrimeWithError(&candidate, &error)) {
            if (error) {
                IntDeinit(&candidate);
                return false;
            }
            }
            if (!int_add_u64(&candidate, &candidate, 2)) {
                IntDeinit(&candidate);
                return false;
            }
            if (!int_try_from_u64(&five, 5u, alloc) || !IntPow(&pow5, &five, n) ||
                !int_mul(&sig, &out->significand, &pow5)) {
                IntDeinit(&five);
                IntDeinit(&pow5);
                IntDeinit(&sig);
                !int_mul(&sig, &out->significand, &pow5)) {
                IntDeinit(&five);
                IntDeinit(&pow5);
                IntDeinit(&sig);
                return false;
                IntDeinit(&five);
                IntDeinit(&pow5);
                IntDeinit(&sig);
                return false;
            }
                return false;
            }
            IntDeinit(&five);
            IntDeinit(&pow5);
            IntDeinit(&out->significand);
            }
            IntDeinit(&five);
            IntDeinit(&pow5);
            IntDeinit(&out->significand);
            out->significand = sig;
            IntDeinit(&five);
            IntDeinit(&pow5);
            IntDeinit(&out->significand);
            out->significand = sig;
            out->exponent    = (i64)binexp;
        }
        if (!int_try_from_u64(&base, 10, alloc) || !int_try_from_u64(&result, 1, alloc)) {
            IntDeinit(&base);
            IntDeinit(&result);
            return false;
        if (!int_try_from_u64(&base, 10, alloc) || !int_try_from_u64(&result, 1, alloc)) {
            IntDeinit(&base);
            IntDeinit(&result);
            return false;
        }
    
        if (!int_pow_u64(&result, &base, power)) {
            IntDeinit(&base);
            IntDeinit(&result);
            return false;
        if (!int_pow_u64(&result, &base, power)) {
            IntDeinit(&base);
            IntDeinit(&result);
            return false;
        }
            return false;
        }
        IntDeinit(&base);
        *out = result;
        return true;
    
            if (!float_pow10(&factor, places, FloatAllocator(value)) || !int_mul(&scaled, &value->significand, &factor)) {
                IntDeinit(&factor);
                IntDeinit(&scaled);
                return false;
            if (!float_pow10(&factor, places, FloatAllocator(value)) || !int_mul(&scaled, &value->significand, &factor)) {
                IntDeinit(&factor);
                IntDeinit(&scaled);
                return false;
            }
                return false;
            }
            IntDeinit(&factor);
            IntDeinit(&value->significand);
            }
            IntDeinit(&factor);
            IntDeinit(&value->significand);
    
            value->significand = scaled;
            }
    
            IntDeinit(&ten);
            IntDeinit(&q);
            IntDeinit(&r);
    
            IntDeinit(&ten);
            IntDeinit(&q);
            IntDeinit(&r);
        }
            IntDeinit(&ten);
            IntDeinit(&q);
            IntDeinit(&r);
        }
    }
    
        if (FloatIsNegative(value)) {
            IntDeinit(&temp);
            return false;
        }
    
        if (FloatIsZero(value)) {
            IntDeinit(result);
            *result = temp;
            return true;
            if (!IntTryClone(&temp, &value->significand) ||
                !float_pow10(&factor, (u64)value->exponent, FloatAllocator(value)) || !int_mul(&temp, &temp, &factor)) {
                IntDeinit(&factor);
                IntDeinit(&temp);
                return false;
                !float_pow10(&factor, (u64)value->exponent, FloatAllocator(value)) || !int_mul(&temp, &temp, &factor)) {
                IntDeinit(&factor);
                IntDeinit(&temp);
                return false;
            }
            }
    
            IntDeinit(&factor);
            IntDeinit(result);
            *result = temp;
    
            IntDeinit(&factor);
            IntDeinit(result);
            *result = temp;
            return true;
    
            if (!float_pow10(&factor, places, FloatAllocator(value))) {
                IntDeinit(&factor);
                return false;
            }
            }
            ok = int_div_exact(&temp, &value->significand, &factor);
            IntDeinit(&factor);
            if (!ok) {
                IntDeinit(&temp);
            IntDeinit(&factor);
            if (!ok) {
                IntDeinit(&temp);
                return false;
            }
        }
    
        IntDeinit(result);
        *result = temp;
        return true;
    
        if (!float_pow10(&scale, precision, FloatAllocator(result)) || !int_mul(&scaled, &a->significand, &scale)) {
            IntDeinit(&scale);
            IntDeinit(&scaled);
            FloatDeinit(&temp);
        if (!float_pow10(&scale, precision, FloatAllocator(result)) || !int_mul(&scaled, &a->significand, &scale)) {
            IntDeinit(&scale);
            IntDeinit(&scaled);
            FloatDeinit(&temp);
            return false;
        }
        if (!int_div(&temp.significand, &scaled, &b->significand)) {
            IntDeinit(&scale);
            IntDeinit(&scaled);
            FloatDeinit(&temp);
        if (!int_div(&temp.significand, &scaled, &b->significand)) {
            IntDeinit(&scale);
            IntDeinit(&scaled);
            FloatDeinit(&temp);
            return false;
        temp.exponent = float_sub_i64_checked(float_sub_i64_checked(a->exponent, b->exponent), (i64)precision);
    
        IntDeinit(&scale);
        IntDeinit(&scaled);
    
        IntDeinit(&scale);
        IntDeinit(&scaled);
    
        float_normalize(&temp);
        result      = result && (IntBitLength(&value) == 0);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntBitLength(&value) == 0);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntToU64(&original) == 22);
    
        IntDeinit(&original);
        IntDeinit(&clone);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&original);
        IntDeinit(&clone);
        DefaultAllocatorDeinit(&alloc);
        return result;
            BitVecGet(&clone.bits, 0) == true && BitVecGet(&clone.bits, 1) == false && BitVecGet(&clone.bits, 2) == true;
    
        IntDeinit(&original);
        IntDeinit(&clone);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&original);
        IntDeinit(&clone);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntBitLength(&sum) == 9);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&sum);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&sum);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&sum);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&v255) == 255);
    
        IntDeinit(&v255);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && IntEQ(&lhs, &rhs);
    
        IntDeinit(&lhs);
        IntDeinit(&rhs);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&lhs);
        IntDeinit(&rhs);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntBitLength(&value) == 8);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && IntIsZero(&value);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && IntIsZero(&value);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && IntIsZero(&value);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && IntIsZero(&value);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && IntIsZero(&value);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&parsed);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (out == 0);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        Int value = IntInit(ALLOCATOR_OF(&alloc));
        IntTryFromBinary(&value, (Zstr)NULL);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return false;
        Int value = IntInit(ALLOCATOR_OF(&alloc));
        IntTryFromStr(&value, (Zstr)NULL);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return false;
        Int value = IntInit(ALLOCATOR_OF(&alloc));
        IntTryFromStrRadix(&value, (Zstr)NULL, 10);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return false;
        Int value = IntInit(ALLOCATOR_OF(&alloc));
        IntTryFromOctStr(&value, (Zstr)NULL);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return false;
        Int value = IntInit(ALLOCATOR_OF(&alloc));
        IntTryFromHexStr(&value, (Zstr)NULL);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return false;
        result = result && (IntBitLength(&product) == 9);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&product);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&product);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&product);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && IntIsZero(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&value) == 7);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && IntIsZero(&invalid);
    
        IntDeinit(&valid);
        IntDeinit(&invalid);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&valid);
        IntDeinit(&invalid);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        StrDeinit(&hex_mid_u);
        StrDeinit(&dec_big);
        IntDeinit(&small);
        IntDeinit(&mid);
        IntDeinit(&big);
        StrDeinit(&dec_big);
        IntDeinit(&small);
        IntDeinit(&mid);
        IntDeinit(&big);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&small);
        IntDeinit(&mid);
        IntDeinit(&big);
        DefaultAllocatorDeinit(&alloc);
        return result;
        StrDeinit(&back_dec);
        StrDeinit(&back_hex);
        IntDeinit(&parsed_dec);
        IntDeinit(&parsed_hex);
        DefaultAllocatorDeinit(&alloc);
        StrDeinit(&back_hex);
        IntDeinit(&parsed_dec);
        IntDeinit(&parsed_hex);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = parsed && (IntToU64(&out) == 395);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = parsed && (IntToU64(&out) == 255);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = parsed && (IntToU64(&out) == 123);
    
        IntDeinit(&out);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        bool result = parsed && (IntToU64(&out) == 5);
    
        IntDeinit(&out);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (IntToU64(&value) == 123);
    
        IntDeinit(&value);
        StrDeinit(&digits);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (IntToU64(&value) == 5);
    
        IntDeinit(&value);
        StrDeinit(&digits);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (MemCompare(out, expect, 2) == 0);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (out[0] == 0x01);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (MemCompare(out, expect, 2) == 0);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (out[0] == 0x01);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&out) == 5u);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&out) == 42u);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&out) == 5);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&out) == 15);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&out) == 15);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ha != hb);
    
        IntDeinit(&a);
        IntDeinit(&b);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&a);
        IntDeinit(&b);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool fail = (IntCompare(&value, 0u) != 0);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        bool fail = (IntCompare(&value, 0x010203u) != 0);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        bool fail = parsed; // real code must reject this string.
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        fail      = fail || (IntCompare(&out, 5u) != 0);
    
        IntDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        bool result = IntIsZero(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntBitLength(&value) == 3);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (IntToU64(&value) == (u64)12345u);
    
        IntDeinit(&value);
        StrDeinit(&digits);
        DefaultAllocatorDeinit(&alloc);
        bool result = (IntToU64(&value) == (u64)255u);
    
        IntDeinit(&value);
        StrDeinit(&digits);
        DefaultAllocatorDeinit(&alloc);
    
        StrDeinit(&hex);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&hex);
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (buf[1] == 0x02);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
            Int q = IntInit(a);
            rem   = int_div_u64_rem(&q, &v, 1000u);
            IntDeinit(&q);
        }
        ok = ok && rem == 567u;
    
        StrDeinit(&s);
        IntDeinit(&v);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = IntToU64(&v) == 0x01020304u;
    
        IntDeinit(&v);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&out) == 123456789u;
    
        IntDeinit(&out);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
    
        StrDeinit(&hex);
        IntDeinit(&value);
        IntDeinit(&parsed);
        StrDeinit(&hex);
        IntDeinit(&value);
        IntDeinit(&parsed);
    
        ok = ok && DebugAllocatorLiveCount(&dbg) == 0;
        success = success && (ZstrCompare(StrBegin(&output), "    123456789012345678901234567890") == 0);
    
        IntDeinit(&big_dec);
        IntDeinit(&hex_val);
        IntDeinit(&bin_val);
    
        IntDeinit(&big_dec);
        IntDeinit(&hex_val);
        IntDeinit(&bin_val);
        IntDeinit(&oct_val);
        IntDeinit(&big_dec);
        IntDeinit(&hex_val);
        IntDeinit(&bin_val);
        IntDeinit(&oct_val);
        StrDeinit(&output);
        IntDeinit(&hex_val);
        IntDeinit(&bin_val);
        IntDeinit(&oct_val);
        StrDeinit(&output);
        DefaultAllocatorDeinit(&alloc);
        success = (ZstrCompare(StrBegin(&output), "A") == 0);
    
        IntDeinit(&a);
        StrDeinit(&output);
        DefaultAllocatorDeinit(&alloc);
        success = (ZstrCompare(StrBegin(&output), "z") == 0);
    
        IntDeinit(&a);
        StrDeinit(&output);
        DefaultAllocatorDeinit(&alloc);
        success = (ZstrCompare(StrBegin(&output), "     ab7") == 0);
    
        IntDeinit(&seven);
        StrDeinit(&output);
        DefaultAllocatorDeinit(&alloc);
    
        StrDeinit(&oct_text);
        IntDeinit(&oct);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 9) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 5) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 8) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 123) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 200) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 200) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 255) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 5) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 5) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 5) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 9) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 9) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 15) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (IntCompare(&v, 42) == 0);
    
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        StrAppendFmt(&out, "{}", v);
        bool ok = (ZstrCompare(StrBegin(&out), "123456789012345678901234567890") == 0);
        IntDeinit(&v);
        return ok && dbg_no_leak(&dbg, &out);
    }
        StrAppendFmt(&out, "{6}", v);
        ok = ok && (ZstrCompare(StrBegin(&out), "    42") == 0);
        IntDeinit(&v);
        StrDeinit(&out);
        DefaultAllocatorDeinit(&alloc);
        ok = ok && (DebugAllocatorLiveCount(&dbg) == 0) && (DebugAllocatorLiveBytes(&dbg) == 0);
        DebugAllocatorDeinit(&dbg);
        IntDeinit(&v);
        HeapAllocatorDeinit(&va);
        return ok;
        FloatDeinit(&value);
        FloatDeinit(&same);
        IntDeinit(&whole);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
        FloatDeinit(&same);
        IntDeinit(&whole);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
        return result;
        ok     = ok && (c3 == 0) && (err == false);
    
        IntDeinit(&i3);
        FloatDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
    
        FloatDeinit(&lhs);
        IntDeinit(&less);
        IntDeinit(&same);
        IntDeinit(&more);
        FloatDeinit(&lhs);
        IntDeinit(&less);
        IntDeinit(&same);
        IntDeinit(&more);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&less);
        IntDeinit(&same);
        IntDeinit(&more);
        DefaultAllocatorDeinit(&alloc);
        return ok;
    
        FloatDeinit(&a);
        IntDeinit(&b);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        result      = result && (IntCompare(&b, &c) == 0);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && IntNE(&a, &b);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && IntNE(&value, 43);
    
        IntDeinit(&value);
        IntDeinit(&same);
        IntDeinit(&big);
    
        IntDeinit(&value);
        IntDeinit(&same);
        IntDeinit(&big);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&same);
        IntDeinit(&big);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (int_hash(&c, 0) == int_hash(&d, 0));
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
        IntDeinit(&d);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&c);
        IntDeinit(&d);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&b);
        IntDeinit(&c);
        IntDeinit(&d);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (h_zero != h_decimal);
    
        IntDeinit(&zero);
        IntDeinit(&one);
        IntDeinit(&small);
    
        IntDeinit(&zero);
        IntDeinit(&one);
        IntDeinit(&small);
        IntDeinit(&large);
        IntDeinit(&zero);
        IntDeinit(&one);
        IntDeinit(&small);
        IntDeinit(&large);
        IntDeinit(&decimal);
        IntDeinit(&one);
        IntDeinit(&small);
        IntDeinit(&large);
        IntDeinit(&decimal);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&small);
        IntDeinit(&large);
        IntDeinit(&decimal);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (MapPairCount(&counts) == 2);
    
        IntDeinit(&k1);
        IntDeinit(&k2);
        IntDeinit(&k3);
    
        IntDeinit(&k1);
        IntDeinit(&k2);
        IntDeinit(&k3);
        IntDeinit(&probe);
        IntDeinit(&k1);
        IntDeinit(&k2);
        IntDeinit(&k3);
        IntDeinit(&probe);
        IntDeinit(&missing);
        IntDeinit(&k2);
        IntDeinit(&k3);
        IntDeinit(&probe);
        IntDeinit(&missing);
        MapDeinit(&counts);
        IntDeinit(&k3);
        IntDeinit(&probe);
        IntDeinit(&missing);
        MapDeinit(&counts);
        DefaultAllocatorDeinit(&alloc);
        fail      = fail || (IntCompare(&lhs, 0x8000000000000000u) != 0);
    
        IntDeinit(&lhs);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        bool fail = (IntCompare(&lhs, 9u) != -1);
    
        IntDeinit(&lhs);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        bool result = (IntIsOne(&one) == true);
    
        IntDeinit(&one);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result   = result && (int_compare_i64(&five, (i64)0) > 0);
    
        IntDeinit(&five);
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&five);
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ZstrCompare(StrBegin(&text), "12345678901234567890") == 0;
    
        IntDeinit(&integer);
        StrDeinit(&text);
        FloatDeinit(&value);
    
        FloatDeinit(&value);
        IntDeinit(&result_value);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
    
        FloatDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        FloatDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = FloatExponent(&value) == 2;
    
        IntDeinit(&whole);
        FloatDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        StrDeinit(&text);
        IntDeinit(&whole);
        FloatDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        StrDeinit(&text);
        IntDeinit(&whole);
        FloatDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (FloatCompare(&value, &whole) == 0);
    
        IntDeinit(&whole);
        FloatDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
    
        FloatDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
    
        FloatDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
    
        FloatDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
    
        FloatDeinit(&v);
        IntDeinit(&r);
        bool ok = LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
    
        FloatDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        FloatDeinit(&a);
        FloatDeinit(&b);
        IntDeinit(&whole);
        FloatDeinit(&result_value);
        StrDeinit(&text);
        FloatDeinit(&a);
        FloatDeinit(&b);
        IntDeinit(&whole);
        FloatDeinit(&result_value);
        StrDeinit(&text);
        FloatDeinit(&a);
        FloatDeinit(&b);
        IntDeinit(&whole);
        FloatDeinit(&result_value);
        StrDeinit(&text);
        FloatDeinit(&a);
        FloatDeinit(&b);
        IntDeinit(&whole);
        FloatDeinit(&result_value);
        StrDeinit(&text);
        bool pass = (ok == false);
    
        IntDeinit(&zero);
        FloatDeinit(&a);
        FloatDeinit(&result);
        FloatDeinit(&a);
        FloatDeinit(&r);
        IntDeinit(&b);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        FloatDeinit(&a);
        FloatDeinit(&r);
        IntDeinit(&b);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        FloatDeinit(&a);
        FloatDeinit(&r);
        IntDeinit(&b);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        FloatDeinit(&a);
        FloatDeinit(&r);
        IntDeinit(&b);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = (FloatToInt(&out, &neg) == false);
    
        IntDeinit(&out);
        FloatDeinit(&neg);
        DefaultAllocatorDeinit(&alloc);
    
        StrDeinit(&text);
        IntDeinit(&result);
        IntDeinit(&value.significand);
        DefaultAllocatorDeinit(&alloc);
        StrDeinit(&text);
        IntDeinit(&result);
        IntDeinit(&value.significand);
        DefaultAllocatorDeinit(&alloc);
        return right;
    
        StrDeinit(&text);
        IntDeinit(&result);
        FloatDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        bool right = ok && IntIsZero(&result);
    
        IntDeinit(&result);
        FloatDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        bool right = (ok == false);
    
        IntDeinit(&result);
        FloatDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        bool result = IntBitLength(&value) == 6;
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntByteLength(&value) == 2;
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !IntIsZero(&non_zero);
    
        IntDeinit(&zero);
        IntDeinit(&non_zero);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&zero);
        IntDeinit(&non_zero);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !IntIsOne(&two);
    
        IntDeinit(&one);
        IntDeinit(&two);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&one);
        IntDeinit(&two);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !IntIsEven(&odd);
    
        IntDeinit(&even);
        IntDeinit(&odd);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&even);
        IntDeinit(&odd);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !IntFitsU64(&big);
    
        IntDeinit(&small);
        IntDeinit(&big);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&small);
        IntDeinit(&big);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !error;
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntTrailingZeroCount(&zero) == 0);
    
        IntDeinit(&value);
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !IntIsPowerOfTwo(&zero);
    
        IntDeinit(&one);
        IntDeinit(&power);
        IntDeinit(&other);
    
        IntDeinit(&one);
        IntDeinit(&power);
        IntDeinit(&other);
        IntDeinit(&zero);
        IntDeinit(&one);
        IntDeinit(&power);
        IntDeinit(&other);
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&power);
        IntDeinit(&other);
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && error;
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&remainder, 0) == 0);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (h == 1469598103934665603ULL);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (h == expected);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&value) == 5);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        fail      = fail || (IntCompare(&value, 7u) != 0); // value preserved.
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        result      = result && (IntTrailingZeroCount(&value) == 3u);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&result_value) == 3);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntBitLength(&value) == 6);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntBitLength(&value) == 2);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&text);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        StrDeinit(&text);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (ZstrCompare(StrBegin(&text), "123456789012345678901234567900") == 0);
    
        IntDeinit(&base);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
        IntDeinit(&huge);
        IntDeinit(&base);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
        IntDeinit(&huge);
        StrDeinit(&text);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
        IntDeinit(&huge);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (IntToU64(&result_value) == 255);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntToU64(&preserved) == 99);
    
        IntDeinit(&base);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
        IntDeinit(&preserved);
        IntDeinit(&base);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
        IntDeinit(&preserved);
        IntDeinit(&huge);
        IntDeinit(&rhs);
        IntDeinit(&result_value);
        IntDeinit(&preserved);
        IntDeinit(&huge);
        StrDeinit(&text);
        IntDeinit(&result_value);
        IntDeinit(&preserved);
        IntDeinit(&huge);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (IntToU64(&result_value) == 99);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 126;
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ZstrCompare(StrBegin(&text), "308641972530864197250") == 0;
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        StrDeinit(&text);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (IntToU64(&result_value) == 0);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 152399025;
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (ZstrCompare(StrBegin(&text), "79792266297612001") == 0);
    
        IntDeinit(&base);
        IntDeinit(&exponent);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&exponent);
        IntDeinit(&result_value);
        StrDeinit(&text);
        IntDeinit(&base);
        IntDeinit(&exponent);
        IntDeinit(&result_value);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
    
        StrDeinit(&qtext);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        StrDeinit(&qtext);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 12;
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (ZstrCompare(StrBegin(&text), "137174210013717421") == 0);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        StrDeinit(&text);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (IntToU64(&result_value) == 99);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&result_value);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 3);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        StrDeinit(&text);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        bool result = IntToU64(&result_value) == 6;
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        IntMod(&remainder, &value, 97u);
    
        IntDeinit(&value);
        bool result = IntToU64(&remainder) == 3;
        IntDeinit(&remainder);
        IntDeinit(&value);
        bool result = IntToU64(&remainder) == 3;
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 6;
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 42;
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 8;
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 75);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 14;
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 4);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !IntIsPerfectSquare(&non_square);
    
        IntDeinit(&square);
        IntDeinit(&non_square);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&square);
        IntDeinit(&non_square);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && IntIsPerfectPower(&one);
    
        IntDeinit(&power);
        IntDeinit(&non_power);
        IntDeinit(&one);
    
        IntDeinit(&power);
        IntDeinit(&non_power);
        IntDeinit(&one);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&power);
        IntDeinit(&non_power);
        IntDeinit(&one);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntJacobi(&b, &n) == 0);
    
        IntDeinit(&a);
        IntDeinit(&p);
        IntDeinit(&b);
    
        IntDeinit(&a);
        IntDeinit(&p);
        IntDeinit(&b);
        IntDeinit(&n);
        IntDeinit(&a);
        IntDeinit(&p);
        IntDeinit(&b);
        IntDeinit(&n);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&p);
        IntDeinit(&b);
        IntDeinit(&n);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 94;
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 12;
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 9;
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 22;
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&check, 10) == 0);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&check);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 3;
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntToU64(&result_value) == 445;
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntToU64(&check) == 1);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&check, 10) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 99) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && !IntIsProbablePrime(&composite);
    
        IntDeinit(&prime);
        IntDeinit(&composite);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&prime);
        IntDeinit(&composite);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && ZstrCompare(StrBegin(&text), "1000000007") == 0;
    
        IntDeinit(&value);
        IntDeinit(&next);
        StrDeinit(&text);
    
        IntDeinit(&value);
        IntDeinit(&next);
        StrDeinit(&text);
        DefaultAllocatorDeinit(&alloc);
        result      = result && (IntToU64(&result_value) == 99);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&result_value, 99) == 0);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&remainder, 77) == 0);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&remainder, 77) == 0);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntCompare(&quotient, 99) == 0;
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntCompare(&result_value, 99) == 0;
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&result_value, 99) == 0);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && error;
    
        IntDeinit(&a);
        IntDeinit(&n);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&a);
        IntDeinit(&n);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&result_value, 99) == 0);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 99) != 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 99) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 99) != 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 0) >= 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 99) != 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 0) >= 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 13) < 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 99) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 0) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 0) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 1) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 99) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 99) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&root, 99) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result = result && (IntCompare(&root, 7) < 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&product) == (u64)121932631112635269ull);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&product);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&product);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&product);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntBitLength(&product) == 0u);
    
        IntDeinit(&a);
        IntDeinit(&zero);
        IntDeinit(&product);
    
        IntDeinit(&a);
        IntDeinit(&zero);
        IntDeinit(&product);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&zero);
        IntDeinit(&product);
        DefaultAllocatorDeinit(&alloc);
        return result;
        ok = ok && (IntToU64(&result) == 16807);
    
        IntDeinit(&base);
        IntDeinit(&result);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&base);
        IntDeinit(&result);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        IntGCD(NULL, &a, &b);
    
        IntDeinit(&a);
        IntDeinit(&b);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&a);
        IntDeinit(&b);
        DefaultAllocatorDeinit(&alloc);
        return false;
        IntGCD(&result, NULL, &b);
    
        IntDeinit(&b);
        IntDeinit(&result);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&b);
        IntDeinit(&result);
        DefaultAllocatorDeinit(&alloc);
        return false;
        IntGCD(&result, &a, NULL);
    
        IntDeinit(&a);
        IntDeinit(&result);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&a);
        IntDeinit(&result);
        DefaultAllocatorDeinit(&alloc);
        return false;
        IntModAdd(NULL, &a, &b, &m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        DefaultAllocatorDeinit(&alloc);
        return false;
        ok      = ok && (IntToU64(&result_value) == 3);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return ok;
    
        int_div_u64_rem(&quotient, NULL, 7);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return false;
        result      = result && (IntCompare(&result_value, 0) == 0);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && IntIsPerfectPower(&square_anchor);
    
        IntDeinit(&boundary);
        IntDeinit(&square_anchor);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&boundary);
        IntDeinit(&square_anchor);
        DefaultAllocatorDeinit(&alloc);
        return result;
        IntDivExact(NULL, &dividend, &divisor);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        DefaultAllocatorDeinit(&alloc);
        return false;
    
        StrDeinit(&bits);
        IntDeinit(&ones);
        IntDeinit(&one);
        IntDeinit(&sum);
        StrDeinit(&bits);
        IntDeinit(&ones);
        IntDeinit(&one);
        IntDeinit(&sum);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&ones);
        IntDeinit(&one);
        IntDeinit(&sum);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&remainder, 0) == 0);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 0);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 0);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 1);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 270);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 76479);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&power) == 16807u);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&power);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&power);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&power);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = rejected && (IntCompare(&power, &sentinel) == 0);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&power);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&power);
        IntDeinit(&sentinel);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&power);
        IntDeinit(&sentinel);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&exp);
        IntDeinit(&power);
        IntDeinit(&sentinel);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&quotient) == 142u);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = failed;
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&quotient) == 143u);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = failed;
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        fail      = fail || (IntBitLength(&value) != 3);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        fail      = fail || (IntBitLength(&value) != 1);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return !fail;
        bool result = ok && (IntToU64(&result_value) == 91);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&result_value) == 0);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&result_value) == 81);
    
        IntDeinit(&base);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&base);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&result_value) == 1);
    
        IntDeinit(&base);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&base);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&result_value) == 14);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&result_value) == 41152263u);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&qtext);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        StrDeinit(&qtext);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
    
        StrDeinit(&qtext);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        StrDeinit(&qtext);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&result_value) == 1u);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&result_value) == 889009735u);
    
        IntDeinit(&base);
        IntDeinit(&modulus);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&modulus);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&modulus);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&result_value) == 1u);
    
        IntDeinit(&base);
        IntDeinit(&modulus);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&modulus);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&modulus);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&result_value) == 8u);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (IntIsOdd(&zero) == false);
    
        IntDeinit(&zero);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool correct = ok && (IntToU64(&result) == (u64)2u);
    
        IntDeinit(&result);
        IntDeinit(&dividend);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&result);
        IntDeinit(&dividend);
        DefaultAllocatorDeinit(&alloc);
        return correct;
        result      = result && (err_bad == true);
    
        IntDeinit(&a);
        IntDeinit(&n_odd);
        IntDeinit(&n_even);
    
        IntDeinit(&a);
        IntDeinit(&n_odd);
        IntDeinit(&n_even);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&a);
        IntDeinit(&n_odd);
        IntDeinit(&n_even);
        DefaultAllocatorDeinit(&alloc);
        return result;
        pass = pass && (IntToU64(&check) == 1);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&result);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return pass;
        pass = pass && (IntToU64(&check) == 1);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&result);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&result);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return pass;
        result      = result && (IntCompare(&quotient, 99) == 0);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntCompare(&quotient, 99) == 0);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ok == false);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ok == false);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ok == false);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ok == false);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
    
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ok == false);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ok == false);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&dividend);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 0);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
    
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&value);
        IntDeinit(&root);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (symbol == -1);
    
        IntDeinit(&a);
        IntDeinit(&n);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&a);
        IntDeinit(&n);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntCompare(&check, 2) == 0);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&mod);
        IntDeinit(&root);
        IntDeinit(&check);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = !IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = !IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = !IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = !IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = !IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = IntIsProbablePrime(&value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = prime && !error;
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        StrDeinit(&qtext);
        StrDeinit(&rtext);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        StrDeinit(&rtext);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 41u);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && IntIsZero(&remainder);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        result      = result && (IntToU64(&remainder) == 42u);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = (ok == false);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return result;
        int_div_mod(NULL, &remainder, &dividend, &divisor);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&remainder);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&remainder);
        DefaultAllocatorDeinit(&alloc);
        return true;
        int_div_mod(&quotient, NULL, &dividend, &divisor);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
    
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&dividend);
        IntDeinit(&divisor);
        IntDeinit(&quotient);
        DefaultAllocatorDeinit(&alloc);
        return true;
        ok      = ok && (IntCompare(&result_value, 0) == 0);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        ok      = ok && (IntCompare(&result_value, 0) == 0);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        ok      = ok && (IntToU64(&result_value) == 444);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = int_pow_mod(&result_value, &base, &exp, &mod);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        IntDeinit(&exp);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        // After releasing every Int the test created, nothing the function
        bool result = ok && (IntToU64(&next) == 2);
    
        IntDeinit(&value);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&next) == 11);
    
        IntDeinit(&value);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&next) == 11);
    
        IntDeinit(&value);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
    
        IntDeinit(&value);
        IntDeinit(&next);
        DefaultAllocatorDeinit(&alloc);
        return result;
        (void)IntNextPrime(NULL, &value);
    
        IntDeinit(&value);
        DefaultAllocatorDeinit(&alloc);
        return true;
        ok      = ok && (IntToU64(&result_value) == 4);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
    
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        IntDeinit(&a);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&b);
        IntDeinit(&m);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool result = ok && (IntToU64(&result_value) == 12);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&result_value) == 1);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        bool result = ok && (IntToU64(&result_value) == 582344008);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
    
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&base);
        IntDeinit(&mod);
        IntDeinit(&result_value);
        DefaultAllocatorDeinit(&alloc);
        return result;
        ok      = ok && IntToU64(&r) == 123456ull * 7891011ull;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntIsZero(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 0xFFFFFFFFull + 0xFFFFFFFFull;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 17u;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 750u;
    
        IntDeinit(&x);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&x);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 6500u;
    
        IntDeinit(&x);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&x);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 750u;
    
        IntDeinit(&x);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&x);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&q) == 1000003u / 101u && IntToU64(&r) == 1000003u % 101u;
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&q);
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&q);
        IntDeinit(&r);
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&q);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&dvs);
        IntDeinit(&q);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntIsZero(&q) && IntToU64(&r) == 50u;
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&q);
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&q);
        IntDeinit(&r);
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&q);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&dvs);
        IntDeinit(&q);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 1000003u / 101u;
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 125u;
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r1) == 125u && IntToU64(&r2) == 125u && IntToU64(&r3) == 125u;
    
        IntDeinit(&dvd);
        IntDeinit(&r1);
        IntDeinit(&r2);
    
        IntDeinit(&dvd);
        IntDeinit(&r1);
        IntDeinit(&r2);
        IntDeinit(&r3);
        IntDeinit(&dvd);
        IntDeinit(&r1);
        IntDeinit(&r2);
        IntDeinit(&r3);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&r1);
        IntDeinit(&r2);
        IntDeinit(&r3);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&m1) == 3u && IntToU64(&m2) == 3u;
    
        IntDeinit(&dvd);
        IntDeinit(&q);
        IntDeinit(&r);
    
        IntDeinit(&dvd);
        IntDeinit(&q);
        IntDeinit(&r);
        IntDeinit(&m1);
        IntDeinit(&dvd);
        IntDeinit(&q);
        IntDeinit(&r);
        IntDeinit(&m1);
        IntDeinit(&m2);
        IntDeinit(&q);
        IntDeinit(&r);
        IntDeinit(&m1);
        IntDeinit(&m2);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&r);
        IntDeinit(&m1);
        IntDeinit(&m2);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 3u;
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
    
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&dvd);
        IntDeinit(&dvs);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 1594323u; // 3^13
    
        IntDeinit(&base);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&base);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 6u;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 42u;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&root) == 100u && IntIsZero(&rem);
    
        IntDeinit(&v);
        IntDeinit(&root);
        IntDeinit(&rem);
    
        IntDeinit(&v);
        IntDeinit(&root);
        IntDeinit(&rem);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&root);
        IntDeinit(&rem);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok     = ok && IntToU64(&root) == 9u && IntToU64(&rem) == 999u - 729u;
    
        IntDeinit(&v);
        IntDeinit(&v2);
        IntDeinit(&root);
    
        IntDeinit(&v);
        IntDeinit(&v2);
        IntDeinit(&root);
        IntDeinit(&rem);
        IntDeinit(&v);
        IntDeinit(&v2);
        IntDeinit(&root);
        IntDeinit(&rem);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v2);
        IntDeinit(&root);
        IntDeinit(&rem);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 100u;
    
        IntDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = IntIsPerfectSquare(&sq) && !IntIsPerfectSquare(&nsq);
    
        IntDeinit(&sq);
        IntDeinit(&nsq);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&sq);
        IntDeinit(&nsq);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = IntIsPerfectPower(&pw) && !IntIsPerfectPower(&npw);
    
        IntDeinit(&pw);
        IntDeinit(&npw);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&pw);
        IntDeinit(&npw);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntTryJacobi(&jr2, &x2, &n2) && jr2 == 0;
    
        IntDeinit(&x);
        IntDeinit(&n);
        IntDeinit(&x2);
    
        IntDeinit(&x);
        IntDeinit(&n);
        IntDeinit(&x2);
        IntDeinit(&n2);
        IntDeinit(&x);
        IntDeinit(&n);
        IntDeinit(&x2);
        IntDeinit(&n2);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&n);
        IntDeinit(&x2);
        IntDeinit(&n2);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == (12345u % 1009u + 67890u % 1009u) % 1009u;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 800u;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 1009u - 800u;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntIsZero(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == (12345ull * 67890ull) % 1009ull;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == (12345ull * 12345ull) % 1009ull;
    
        IntDeinit(&x);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = IntModDiv(&r, &x, &y, &m);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&y);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 96889010407ull % 1000000007ull; // 7^13 mod m
    
        IntDeinit(&base);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&base);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&base);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 96889010407ull % 1000000007ull;
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&m);
    
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&base);
        IntDeinit(&exp);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&exp);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && (IntToU64(&r) * 17u) % 3120u == 1u;
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 5u;
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = !IntModInv(&r, &v, &m); // returns false
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && (rv * rv) % 7u == 2u;
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && (rv * rv) % 17u == 2u;
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && (rv * rv) % 41u == 10u;
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = IntModSqrt(&r, &v, &m) && IntIsZero(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = IntModSqrt(&r, &v, &m) && IntToU64(&r) == 1u;
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = !IntModSqrt(&r, &v, &m);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = !IntModSqrt(&r, &v, &m);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = !IntModSqrt(&r, &v, &m);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
    
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&v);
        IntDeinit(&m);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = IntIsProbablePrime(&prime) && !IntIsProbablePrime(&composite);
    
        IntDeinit(&prime);
        IntDeinit(&composite);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&prime);
        IntDeinit(&composite);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        bool ok = !IntIsProbablePrime(&n);
    
        IntDeinit(&n);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 1000003u;
    
        IntDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&v);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntNextPrime(&r1, &v1) && IntToU64(&r1) == 3u;
    
        IntDeinit(&v0);
        IntDeinit(&r0);
        IntDeinit(&v1);
    
        IntDeinit(&v0);
        IntDeinit(&r0);
        IntDeinit(&v1);
        IntDeinit(&r1);
        IntDeinit(&v0);
        IntDeinit(&r0);
        IntDeinit(&v1);
        IntDeinit(&r1);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&r0);
        IntDeinit(&v1);
        IntDeinit(&r1);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 123456ull * 7891011ull;
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
    
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        IntDeinit(&x);
        IntDeinit(&y);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
        ok      = ok && IntToU64(&r) == 125u;
    
        IntDeinit(&dvd);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
    
        IntDeinit(&dvd);
        IntDeinit(&r);
        ok = ok && LEAK_CLEAN(dbg);
        DebugAllocatorDeinit(&dbg);
                }
    
                IntDeinit(&v);
                IntDeinit(&m);
                IntDeinit(&r);
    
                IntDeinit(&v);
                IntDeinit(&m);
                IntDeinit(&r);
            }
                IntDeinit(&v);
                IntDeinit(&m);
                IntDeinit(&r);
            }
        }
        ok      = ok && IntCompare(&inverse, 23u) == 0;
    
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&inverse);
    
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&inverse);
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&inverse);
    
        ok = ok && DebugAllocatorLiveCount(&dbg) == 0;
        ok      = ok && IntCompare(&check, 9u) == 0;
    
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&modulus);
        IntDeinit(&root);
        IntDeinit(&check);
    
        ok = ok && DebugAllocatorLiveCount(&dbg) == 0;
        ok      = ok && IntCompare(&check, 2u) == 0;
    
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&root);
    
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&value);
        IntDeinit(&modulus);
        IntDeinit(&root);
        IntDeinit(&check);
        IntDeinit(&modulus);
        IntDeinit(&root);
        IntDeinit(&check);
    
        ok = ok && DebugAllocatorLiveCount(&dbg) == 0;
        ok = ok && IntModSub(&r, &a3, &b3, &m) && IntIsZero(&r);
    
        IntDeinit(&a1);
        IntDeinit(&b1);
        IntDeinit(&a2);
    
        IntDeinit(&a1);
        IntDeinit(&b1);
        IntDeinit(&a2);
        IntDeinit(&b2);
        IntDeinit(&a1);
        IntDeinit(&b1);
        IntDeinit(&a2);
        IntDeinit(&b2);
        IntDeinit(&a3);
        IntDeinit(&b1);
        IntDeinit(&a2);
        IntDeinit(&b2);
        IntDeinit(&a3);
        IntDeinit(&b3);
        IntDeinit(&a2);
        IntDeinit(&b2);
        IntDeinit(&a3);
        IntDeinit(&b3);
        IntDeinit(&m);
        IntDeinit(&b2);
        IntDeinit(&a3);
        IntDeinit(&b3);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&a3);
        IntDeinit(&b3);
        IntDeinit(&m);
        IntDeinit(&r);
        IntDeinit(&b3);
        IntDeinit(&m);
        IntDeinit(&r);
    
        ok = ok && DebugAllocatorLiveCount(&dbg) == 0;
        ok      = ok && IntCompare(&next, 101u) == 0;
    
        IntDeinit(&value);
        IntDeinit(&next);
    
        IntDeinit(&value);
        IntDeinit(&next);
    
        ok = ok && DebugAllocatorLiveCount(&dbg) == 0;
        bool ok    = (error == false) && (prime == false);
    
        IntDeinit(&value);
    
        ok = ok && DebugAllocatorLiveCount(&dbg) == 0;
        StrDeinit(&bin_text);
        StrDeinit(&oct_text);
        IntDeinit(&dec);
        IntDeinit(&hex);
        IntDeinit(&bin);
        StrDeinit(&oct_text);
        IntDeinit(&dec);
        IntDeinit(&hex);
        IntDeinit(&bin);
        IntDeinit(&oct);
        IntDeinit(&dec);
        IntDeinit(&hex);
        IntDeinit(&bin);
        IntDeinit(&oct);
        DefaultAllocatorDeinit(&alloc);
        IntDeinit(&hex);
        IntDeinit(&bin);
        IntDeinit(&oct);
        DefaultAllocatorDeinit(&alloc);
        bool ok = (ZstrCompare(StrBegin(&t), "12345") == 0);
        StrDeinit(&t);
        IntDeinit(&v);
        ok = ok && (DebugAllocatorLiveCount(&dbg) == 0);
        DebugAllocatorDeinit(&dbg);
        bool ok = (ZstrCompare(StrBegin(&t), "99") == 0);
        StrDeinit(&t);
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (ZstrCompare(StrBegin(&t), "255") == 0);
        StrDeinit(&t);
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (out == NULL) && (ZstrCompare(StrBegin(&t), "777") == 0);
        StrDeinit(&t);
        IntDeinit(&v);
        DefaultAllocatorDeinit(&alloc);
        return ok;
        bool ok = (input != start); // pointer advanced => read succeeded
    
        IntDeinit(&value);
        ok = ok && (DebugAllocatorLiveCount(&dbg) == 0);
        ok = ok && (DebugAllocatorLiveBytes(&dbg) == 0);
Last updated on