I tested it this time, I messed up the brackets:
Code:
$calc( 500 + 100 *   $floor( $calc( ( X / 3 ) - 1 ) ) ) ;correct
$calc( 500 + 100 * ( $floor( $calc(   X / 3 ) - 1 ) ) ) ;wrong


Code:
raw USERNOTICE:*:{
  if ($msgtags(room-id).key == 12665) && (resub isin $msgtags) {
    if (($msgtags(msg-param-months).key) >= 3) {
      msg $1 !bonus $msgtags(display-name).key $calc( 500 + 100 *   $floor( $calc( ( $msgtags(msg-param-months).key / 3 ) - 1 ) ) )
    }
  }
}

><;; hopefully there won't be any need for further edits