use super::SOLVE_STEP_BOUND;
#[kani::proof]
#[kani::unwind(3)]
fn t1_f64_hdur_walk_steps_le_1() {
let v: f64 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f64);
let (_, steps) = crate::hifi::duration::f64_hdur_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(3)]
fn t1_f32_hdur_walk_steps_le_1() {
let v: f32 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f32);
let (_, steps) = crate::hifi::duration::f32_hdur_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(3)]
fn t1_f64_etai_walk_steps_le_1() {
let v: f64 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f64);
let (_, steps) = crate::hifi::epoch::f64_etai_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(3)]
fn t1_f64_etdt_walk_steps_le_1() {
let v: f64 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f64);
let (_, steps) = crate::hifi::epoch::f64_etdt_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(3)]
fn t2_f64_hdur_walk_steps_unit_binade() {
let v: f64 = kani::any();
kani::assume(v >= 1.0_f64 && v < 2.0_f64);
let (_, steps) = crate::hifi::duration::f64_hdur_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(3)]
fn t2_f32_hdur_walk_steps_unit_binade() {
let v: f32 = kani::any();
kani::assume(v >= 1.0_f32 && v < 2.0_f32);
let (_, steps) = crate::hifi::duration::f32_hdur_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(3)]
fn t2_f64_etai_walk_steps_unit_binade() {
let v: f64 = kani::any();
kani::assume(v >= 1.0_f64 && v < 2.0_f64);
let (_, steps) = crate::hifi::epoch::f64_etai_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(3)]
fn t2_f64_etdt_walk_steps_unit_binade() {
let v: f64 = kani::any();
kani::assume(v >= 1.0_f64 && v < 2.0_f64);
let (_, steps) = crate::hifi::epoch::f64_etdt_ceil_walk_steps_for_proof(v);
assert!(steps <= 1);
}
#[kani::proof]
#[kani::unwind(53)]
fn t1_f64_hdur_solve_steps_le_bound() {
let v: f64 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f64);
let (_, steps) = crate::hifi::duration::f64_hdur_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}
#[kani::proof]
#[kani::unwind(53)]
fn t1_f32_hdur_solve_steps_le_bound() {
let v: f32 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f32);
let (_, steps) = crate::hifi::duration::f32_hdur_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}
#[kani::proof]
#[kani::unwind(53)]
fn t1_f64_etai_solve_steps_le_bound() {
let v: f64 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f64);
let (_, steps) = crate::hifi::epoch::f64_etai_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}
#[kani::proof]
#[kani::unwind(53)]
fn t1_f64_etdt_solve_steps_le_bound() {
let v: f64 = kani::any();
kani::assume(v.is_finite() && !v.is_nan());
kani::assume(v.abs() <= 1e6_f64);
let (_, steps) = crate::hifi::epoch::f64_etdt_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}
#[kani::proof]
#[kani::unwind(53)]
fn t2_f64_hdur_solve_steps_unit_binade() {
let v: f64 = kani::any();
kani::assume(v >= 1.0_f64 && v < 2.0_f64);
let (_, steps) = crate::hifi::duration::f64_hdur_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}
#[kani::proof]
#[kani::unwind(53)]
fn t2_f32_hdur_solve_steps_unit_binade() {
let v: f32 = kani::any();
kani::assume(v >= 1.0_f32 && v < 2.0_f32);
let (_, steps) = crate::hifi::duration::f32_hdur_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}
#[kani::proof]
#[kani::unwind(53)]
fn t2_f64_etai_solve_steps_unit_binade() {
let v: f64 = kani::any();
kani::assume(v >= 1.0_f64 && v < 2.0_f64);
let (_, steps) = crate::hifi::epoch::f64_etai_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}
#[kani::proof]
#[kani::unwind(53)]
fn t2_f64_etdt_solve_steps_unit_binade() {
let v: f64 = kani::any();
kani::assume(v >= 1.0_f64 && v < 2.0_f64);
let (_, steps) = crate::hifi::epoch::f64_etdt_ceil_solve_steps_for_proof(v);
assert!(steps <= SOLVE_STEP_BOUND);
}