Let's start with the obvious: Ben Affleck is not a great actor, and his attempt to be a Pittsburgh native (and Steelers fan) resulted in little more than mispronouncing Primanti's and desperately trying to bury his Boston accent. Better still is when he tries to speak Spanish; he slurs his words like a mush mouth to try to sound like he speaks it fluently. This isn't too different from the way he speaks lines of English, I guess. He slurs a lot.
The actual main character in the film is played by Justin Timberlake. He plays pretty much the same guy he always plays, and that is essentially Justin Timberlake. this time, he's been given math skills as a crutch, but he is still the naive yet worldly honest yet bendable kid who finds himself in the middle of action for no particular reason.
The character of love interest is uninterestingly played by Gemma Arterton. It's not entirely her fault, as the character is written one dimensionally. She doesn't do anything on top of that, and the director seems to have acknowledged that she is not really all that vital to the film.
What is also not necessary for the film is a complex plot. Good news, they don't go overboard for that, either. I know they tried to be a little tricky, but they really went nowhere. I am pretty sure I saw all of the major plot points coming before they hit the screen.

Acting was kind of crappy
Story was predictable
Dialog was pretty bad
Directing was not great
Cinematography was bad - good landscape was wasted.
1.25/5