Correct way to store 360 doubles that need to be read fast on Arduino Nano

The Arduino Serial.println() does not print such a small number.
I have changed my sketch to print it in scientific notation.
So which one is it ?

const float w1 = 2*PI/(23+56/60)/3600;
const float w2 = 2.0 * PI / ((23.0 + (56.0/60.0)) / 3600);
const float w3 = 2.0 * M_PI / ((23.0 + (56.0/60.0)) * 3600);
const float w4 = 2.0 * M_PI / (23.0 + (56.0/60.0)) * 3600;

char buffer[40];

void setup()
{
  Serial.begin( 9600);
  dtostre( w1, buffer, 8, 0);   Serial.println( buffer);
  dtostre( w2, buffer, 8, 0);   Serial.println( buffer);
  dtostre( w3, buffer, 8, 0);   Serial.println( buffer);
  dtostre( w4, buffer, 8, 0);   Serial.println( buffer);
}

void loop()
{
}

The result is:

7.5883880e-05
9.4510315e+02
7.2924624e-05
9.4510315e+02

I suppose that it is w1 or w3, but perhaps it is something else :confused:
When a line of code is a too long and not clear, then you can split it into multiple lines. You should tell the compiler which part should be calculated with integers and which part with float.

You wanted to reduce the calculation time of 350 µs to be able to use a very specific delay and keep those delays as accurate as possible. I think that is called a XY-problem: http://xyproblem.info/

With millis() all your problems are gone. My millis_clock.ino is an example of a clock that is just as accurate as the 16MHz crystal or resonator of the Arduino board.
The interval does not have to be 1 second, you can change the interval each time to a new value.
I suggest to use a board with a crystal for good accuracy. The Arduino Leonardo uses a crystal and some Arduino Uno clones have a crystal.