// N-Body simulation benchmark - floating point compute
fn simulate(steps: i32) -> f64 {
    let mut x = 0.0f64;
    let mut y = 100.0f64;
    let mut vx = 0.0f64;
    let mut vy = 6.28f64;
    let dt = 0.01f64;

    for _ in 0..steps {
        let r2 = x * x + y * y;
        let r = r2.sqrt();
        let f = 1000.0 / r2;

        let ax = -f * x / r;
        let ay = -f * y / r;

        vx += ax * dt;
        vy += ay * dt;
        x += vx * dt;
        y += vy * dt;
    }

    (x * x + y * y).sqrt()
}

fn main() {
    let final_distance = simulate(100000);
    println!("Final orbital distance: {}", final_distance);
}
