1425bb815Sopenharmony_ci// Copyright JS Foundation and other contributors, http://js.foundation 2425bb815Sopenharmony_ci// 3425bb815Sopenharmony_ci// Licensed under the Apache License, Version 2.0 (the "License"); 4425bb815Sopenharmony_ci// you may not use this file except in compliance with the License. 5425bb815Sopenharmony_ci// You may obtain a copy of the License at 6425bb815Sopenharmony_ci// 7425bb815Sopenharmony_ci// http://www.apache.org/licenses/LICENSE-2.0 8425bb815Sopenharmony_ci// 9425bb815Sopenharmony_ci// Unless required by applicable law or agreed to in writing, software 10425bb815Sopenharmony_ci// distributed under the License is distributed on an "AS IS" BASIS 11425bb815Sopenharmony_ci// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12425bb815Sopenharmony_ci// See the License for the specific language governing permissions and 13425bb815Sopenharmony_ci// limitations under the License. 14425bb815Sopenharmony_ci 15425bb815Sopenharmony_civar x = 7; 16425bb815Sopenharmony_civar y = 3; 17425bb815Sopenharmony_civar count = 1000000; 18425bb815Sopenharmony_ci 19425bb815Sopenharmony_cifunction cse_opt(x, y) 20425bb815Sopenharmony_ci{ 21425bb815Sopenharmony_ci var tmp1 = x * x; 22425bb815Sopenharmony_ci var tmp2 = y * y; 23425bb815Sopenharmony_ci var tmp3 = tmp1 * tmp1; 24425bb815Sopenharmony_ci var tmp4 = tmp2 * tmp2; 25425bb815Sopenharmony_ci 26425bb815Sopenharmony_ci for (var i = 0; i < count; i++) { 27425bb815Sopenharmony_ci var cached1 = tmp3 * x 28425bb815Sopenharmony_ci var cached2 = tmp4 * y; 29425bb815Sopenharmony_ci var cached_n_cached = cached1 + cached2; 30425bb815Sopenharmony_ci var ret_val = cached_n_cached + cached_n_cached; 31425bb815Sopenharmony_ci } 32425bb815Sopenharmony_ci 33425bb815Sopenharmony_ci return ret_val + ret_val; 34425bb815Sopenharmony_ci}; 35425bb815Sopenharmony_ci 36425bb815Sopenharmony_cicse_opt(x, y);