def zdt3_f
import unified-nsga-iii@0.2.2.0/problems.bend as Problemsimport Base
import unified-nsga-iii@0.2.2.0/util.bend as Util
205# C# Zdt3Problem: g * (1 - sqrt(r) - r * sin(10 π x0)), r = x0/g.
206def zdt3_f(+x: List<&2, F32>) -> List<&2, F32>:
207 +x0 = Util.get_f32(x, 0n)
208 +g = zdt_g(x)
209 +r = F32.div(x0, g)
210 +s = F32.sin(F32.mul(F32.mul(10.0, F32.pi()), x0))
211 x0 <> [F32.mul(g, F32.sub(F32.sub(1.0, F32.sqrt(r)), F32.mul(r, s)))]