Timing of various functions on ATMEGA 328P chip (Arduino Uno, Arduino Nano, etc) [stub]

AWOL:
Four cycles at 16MHz?

Dream on

What am I doing wrong?

I run this code:

"
#include <digitalWriteFast.h>
#define PIN 14
void setup()
{
volatile byte pin;
pinModeFast(PIN, INPUT);
pinModeFast(PIN, OUTPUT);
digitalWriteFast(PIN, LOW);
digitalWriteFast(PIN, HIGH);
pin = digitalReadFast(PIN); // save a proper high/low value
}
void loop()
{
volatile int myVal;
digitalWriteFast(PIN, HIGH);
digitalWriteFast(PIN, LOW);
//myVal = tan(6000);
}
"
and get 500nS between the start of digitalWrite events (refer to attached image)

Then run this code:
"
#include <digitalWriteFast.h>
#define PIN 14
void setup()
{
volatile byte pin;
pinModeFast(PIN, INPUT);
pinModeFast(PIN, OUTPUT);
digitalWriteFast(PIN, LOW);
digitalWriteFast(PIN, HIGH);
pin = digitalReadFast(PIN); // save a proper high/low value
}
void loop()
{
volatile int myVal;
digitalWriteFast(PIN, HIGH);
digitalWriteFast(PIN, LOW);
myVal = tan(6000);
}
"

and get 750nS between the start of digitalWrite events (refer to attached image)

Since the only difference is whether or the myVal = tan(6000); (and time is same even if it is tan(1)) that means that the action of myVal = tan(6000); took exactly 250nS;

How else would you explain this?

ScopeWithMath.png

ScopeWithoutMath.png