質問です。
fortran95を使っているのですが

do i=1, size(A)
A(i) = hoge + i * fuga
end do

みたいのを

A = hoge + [なにか] * fuga

のようにして添字を配列演算に用いて一行にまとめられないのでしょうか?
それと

do i=1, size(A)
hoge = 複雑な式
A(i) = hoge * fuga
B(i) = hoge * piyo
end do

のような場合、

A = 複雑な式 * fuga
B = 複雑な式 * piyo

と書く事で二度計算されてしまうのは無駄ですし
式が長くなって読みづらいのですが、配列演算に対する一時変数のようなものは無いのでしょうか。