Executable size and performance vs. C?

fn amicable(n:i32) -> i32 {
    let dn=d(n);
    let ddn=d(dn);
    let mut result:i32=0;
    if (ddn==n) && (n != dn) {
        if n<100000 {
            result = result + n;
        }
    }
    result
}

fn d(n:i32) -> i32 {
    let mut result:i32 =1;
    for m in 2..(n/2+1) {
        if (n % m) == 0 {
            result = result+m;
        }
    }
    result
}

fn main () {
    let mut result:i32=0;
    for i in 1..10000 {
        result = result + amicable(i);
    }
    println!("{}", result);
}