1/2(abs(p)+abs(r) + sqrt((p-r)^2 + 4q^2))

Time bar (total: 2.8s)

start0.0ms (0.0%)

analyze0.0ms (0.0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.9%0.1%0.0%0.0%0.0%0
100.0%99.9%0.0%0.1%0.0%0.0%0.0%1
Compiler

Compiled 24 to 20 computations (16.7% saved)

sample718.0ms (25.4%)

Samples
700.0ms8 253×0valid
0.0ms1valid
0.0ms2valid
Precisions
Click to see histograms. Total time spent on operations: 392.0ms
ival-fabs: 148.0ms (37.7% of total, 52.9 MiB)
ival-pow2: 73.0ms (18.6% of total, 48.2 MiB)
ival-add!: 55.0ms (14.0% of total, 33.6 MiB)
ival-mult!: 53.0ms (13.5% of total, 29.1 MiB)
ival-sqrt!: 35.0ms (8.9% of total, 15.6 MiB)
ival-sub!: 20.0ms (5.1% of total, 11.6 MiB)
adjust: 8.0ms (2.0% of total, 2.2 MiB)
Bogosity

preprocess20.0ms (0.7%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
073205
1404200
21759200
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
40.8%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
Symmetry

(abs q)

(sort p r)

Compiler

Compiled 2 to 36 computations (-1700.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
(/ 1 2)
Outputs
#s(literal 1/2 binary64)
Samples
0.0ms0valid
Compiler

Compiled 5 to 5 computations (0.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series33.0ms (1.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07385427
Stop Event
iter-limit
Counts
18 → 145
Calls
Call 1
Inputs
%2 = (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
%4 = (fabs.f64 p)
%6 = (fabs.f64 r)
%7 = (+.f64 %4 %6)
%8 = (-.f64 p r)
%9 = (pow.f64 %8 #s(literal 2 binary64))
%12 = (pow.f64 q #s(literal 2 binary64))
%13 = (*.f64 #s(literal 4 binary64) %12)
%14 = (+.f64 %9 %13)
%15 = (sqrt.f64 %14)
%16 = (+.f64 %7 %15)
#s(literal 1 binary64)
#s(literal 2 binary64)
%2
p
%4
r
%6
%7
%8
%9
#s(literal 4 binary64)
q
%12
%13
%14
%15
%16
(*.f64 %2 %16)
Outputs
%5 = (fabs p)
%6 = (fabs.f64 p)
%9 = (fabs r)
%10 = (+ %5 %9)
%11 = (fabs.f64 r)
%12 = (+.f64 %6 %11)
%14 = (- p r)
%16 = (*.f64 #s(literal -1 binary64) r)
%18 = (-.f64 p r)
%21 = (pow %14 2)
%23 = (pow.f64 r #s(literal 2 binary64))
%26 = (*.f64 p r)
%31 = (fma.f64 p (+.f64 p (*.f64 #s(literal -2 binary64) r)) %23)
%35 = (pow q 2)
%36 = (* 4 %35)
%37 = (+ %21 %36)
%39 = (pow.f64 q #s(literal 2 binary64))
%40 = (fma.f64 #s(literal 4 binary64) %39 %23)
%46 = (sqrt %37)
%47 = (sqrt.f64 %40)
%49 = (/.f64 %26 %47)
%51 = (+.f64 %47 (*.f64 #s(literal -1 binary64) %49))
%53 = (/.f64 r %47)
%58 = (-.f64 #s(literal 1 binary64) (/.f64 %23 (pow.f64 %47 #s(literal 2 binary64))))
%60 = (/.f64 (*.f64 p %58) %47)
%64 = (+.f64 %47 (*.f64 p (fma.f64 #s(literal -1 binary64) %53 (*.f64 #s(literal 1/2 binary64) %60))))
%70 = (/.f64 (*.f64 p (*.f64 r %58)) (pow.f64 %47 #s(literal 3 binary64)))
%71 = (/.f64 %58 %47)
%77 = (+.f64 %47 (*.f64 p (fma.f64 #s(literal -1 binary64) %53 (*.f64 p (fma.f64 #s(literal 1/2 binary64) %70 (*.f64 #s(literal 1/2 binary64) %71))))))
%79 = (+ %10 %46)
%81 = (+.f64 %6 (+.f64 %11 %47))
%93 = (* 1/2 %79)
%94 = (*.f64 #s(literal 1/2 binary64) %81)
%112 = (pow.f64 p #s(literal 2 binary64))
%113 = (/.f64 #s(literal 1 binary64) p)
%114 = (fabs.f64 %113)
%115 = (*.f64 %112 %114)
%117 = (/.f64 %11 %112)
%121 = (/.f64 r p)
%124 = (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %121)))
%131 = (/.f64 %23 %112)
%136 = (/.f64 %39 %112)
%142 = (*.f64 #s(literal 2 binary64) %136)
%147 = (*.f64 %39 r)
%148 = (pow.f64 p #s(literal 3 binary64))
%158 = (/.f64 r %112)
%159 = (+.f64 %113 %117)
%164 = (/.f64 %39 %148)
%172 = (*.f64 #s(literal 1/2 binary64) %113)
%177 = (/.f64 (+.f64 %11 %16) %112)
%188 = (fabs.f64 (/.f64 #s(literal -1 binary64) p))
%189 = (*.f64 %112 %188)
%200 = (*.f64 #s(literal 2 binary64) r)
%214 = (*.f64 #s(literal -1 binary64) p)
%218 = (/.f64 %39 p)
%219 = (*.f64 #s(literal -2 binary64) %218)
%228 = (*.f64 #s(literal 2 binary64) %39)
%243 = (+.f64 r %11)
%244 = (/.f64 %243 p)
%264 = (*.f64 #s(literal -1/2 binary64) %188)
%291 = (fma.f64 r (+.f64 r (*.f64 #s(literal -2 binary64) p)) %112)
%293 = (fma.f64 #s(literal 4 binary64) %39 %112)
%299 = (sqrt.f64 %293)
%301 = (/.f64 %26 %299)
%303 = (+.f64 %299 (*.f64 #s(literal -1 binary64) %301))
%305 = (/.f64 p %299)
%308 = (-.f64 #s(literal 1 binary64) (/.f64 %112 (pow.f64 %299 #s(literal 2 binary64))))
%309 = (*.f64 r %308)
%310 = (/.f64 %309 %299)
%314 = (+.f64 %299 (*.f64 r (fma.f64 #s(literal -1 binary64) %305 (*.f64 #s(literal 1/2 binary64) %310))))
%318 = (/.f64 (*.f64 p %309) (pow.f64 %299 #s(literal 3 binary64)))
%319 = (/.f64 %308 %299)
%325 = (+.f64 %299 (*.f64 r (fma.f64 #s(literal -1 binary64) %305 (*.f64 r (fma.f64 #s(literal 1/2 binary64) %318 (*.f64 #s(literal 1/2 binary64) %319))))))
%328 = (+.f64 %6 (+.f64 %11 %299))
%339 = (*.f64 #s(literal 1/2 binary64) %328)
%355 = (/.f64 #s(literal 1 binary64) r)
%356 = (fabs.f64 %355)
%357 = (*.f64 %23 %356)
%359 = (/.f64 %6 %23)
%363 = (/.f64 p r)
%371 = (/.f64 %112 %23)
%376 = (/.f64 %39 %23)
%384 = (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %363)))
%386 = (*.f64 #s(literal 2 binary64) %376)
%391 = (*.f64 p %39)
%392 = (pow.f64 r #s(literal 3 binary64))
%402 = (/.f64 p %23)
%403 = (+.f64 %355 %359)
%408 = (/.f64 %39 %392)
%416 = (*.f64 #s(literal 1/2 binary64) %355)
%421 = (/.f64 (+.f64 %6 %214) %23)
%432 = (fabs.f64 (/.f64 #s(literal -1 binary64) r))
%433 = (*.f64 %23 %432)
%442 = (*.f64 #s(literal 2 binary64) p)
%456 = (/.f64 %39 r)
%457 = (*.f64 #s(literal -2 binary64) %456)
%480 = (+.f64 p %6)
%481 = (/.f64 %480 r)
%501 = (*.f64 #s(literal -1/2 binary64) %432)
%524 = (pow.f64 %18 #s(literal 2 binary64))
%528 = (sqrt.f64 %524)
%530 = (/.f64 %39 %528)
%532 = (+.f64 %528 (*.f64 #s(literal 2 binary64) %530))
%534 = (pow.f64 %528 #s(literal 3 binary64))
%535 = (/.f64 %39 %534)
%536 = (/.f64 #s(literal 1 binary64) %528)
%537 = (*.f64 #s(literal 2 binary64) %536)
%540 = (+.f64 %528 (*.f64 %39 (fma.f64 #s(literal -2 binary64) %535 %537)))
%544 = (/.f64 %39 (pow.f64 %528 #s(literal 5 binary64)))
%546 = (/.f64 #s(literal 1 binary64) %534)
%551 = (+.f64 %528 (*.f64 %39 (fma.f64 %39 (-.f64 (*.f64 #s(literal 4 binary64) %544) (*.f64 #s(literal 2 binary64) %546)) %537)))
%554 = (+.f64 %6 (+.f64 %11 %528))
%579 = (/.f64 %524 %39)
%585 = (*.f64 #s(literal 1/4 binary64) %579)
%587 = (*.f64 q (+.f64 #s(literal 2 binary64) %585))
%590 = (pow.f64 %18 #s(literal 4 binary64))
%592 = (/.f64 %590 (pow.f64 q #s(literal 4 binary64)))
%595 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %592 %585)))
%605 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %592 (fma.f64 #s(literal 1/512 binary64) (/.f64 (pow.f64 %18 #s(literal 6 binary64)) (pow.f64 q #s(literal 6 binary64))) %585))))
%609 = (+.f64 (/.f64 %6 q) (/.f64 %11 q))
%613 = (fma.f64 #s(literal 1/4 binary64) %579 %609)
%621 = (/.f64 %12 q)
%622 = (*.f64 #s(literal 1/2 binary64) %621)
%627 = (fma.f64 #s(literal 1/8 binary64) %579 %622)
%650 = (/.f64 %524 q)
%660 = (/.f64 %590 %39)
%681 = (*.f64 #s(literal 1/2 binary64) %12)
(approx 1 #s(literal 0 binary64))
(approx p p)
(approx %5 %6)
(approx %10 %12)
(approx %14 %16)
(approx %14 %18)
(approx %21 %23)
(approx %21 (fma.f64 #s(literal -2 binary64) %26 %23))
(approx %21 %31)
(approx %37 %40)
(approx %37 (fma.f64 #s(literal -2 binary64) %26 %40))
(approx %37 (fma.f64 #s(literal 4 binary64) %39 %31))
(approx %46 %47)
(approx %46 %51)
(approx %46 %64)
(approx %46 %77)
(approx %79 %81)
(approx %79 (+.f64 %6 (+.f64 %11 %51)))
(approx %79 (+.f64 %6 (+.f64 %11 %64)))
(approx %79 (+.f64 %6 (+.f64 %11 %77)))
(approx %93 %94)
(approx %93 (fma.f64 #s(literal -1/2 binary64) %49 %94))
(approx %93 (fma.f64 #s(literal 1/2 binary64) %81 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %53 (*.f64 #s(literal 1/4 binary64) %60)))))
(approx %93 (fma.f64 #s(literal 1/2 binary64) %81 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %53 (*.f64 p (fma.f64 #s(literal 1/4 binary64) %70 (*.f64 #s(literal 1/4 binary64) %71)))))))
(approx %5 %115)
(approx %10 (*.f64 %112 (+.f64 %114 %117)))
(approx %14 %124)
(approx %21 %112)
(approx %21 (*.f64 %112 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) %121))))
(approx %21 (*.f64 %112 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %121 %131))))
(approx %37 (*.f64 %112 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %121 (fma.f64 #s(literal 4 binary64) %136 %131)))))
(approx %46 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %121 %142))))
(approx %46 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %121 (fma.f64 #s(literal 2 binary64) (/.f64 %147 %148) %142)))))
(approx %79 (*.f64 %112 (+.f64 %114 %113)))
(approx %79 (*.f64 %112 (+.f64 %114 (fma.f64 #s(literal -1 binary64) %158 %159))))
(approx %79 (*.f64 %112 (+.f64 %114 (fma.f64 #s(literal -1 binary64) %158 (fma.f64 #s(literal 2 binary64) %164 %159)))))
(approx %93 (*.f64 #s(literal 1/2 binary64) %115))
(approx %93 (*.f64 %112 (fma.f64 #s(literal 1/2 binary64) %114 %172)))
(approx %93 (*.f64 %112 (fma.f64 #s(literal 1/2 binary64) %114 (fma.f64 #s(literal 1/2 binary64) %177 %172))))
(approx %93 (*.f64 %112 (fma.f64 #s(literal 1/2 binary64) %114 (fma.f64 #s(literal 1/2 binary64) %177 (fma.f64 #s(literal 1/2 binary64) %113 %164)))))
(approx %5 (*.f64 #s(literal -1 binary64) %189))
(approx %10 (*.f64 %112 (fma.f64 #s(literal -1 binary64) %188 %117)))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 p (-.f64 %121 #s(literal 1 binary64)))))
(approx %21 (*.f64 %112 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %23 p) %200) p)))))
(approx %37 (*.f64 %112 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %40 p) %200) p)))))
(approx %46 %214)
(approx %46 (*.f64 #s(literal -1 binary64) %124))
(approx %46 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r %219) p))))))
(approx %46 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %147 p) %228) p))) p))))))
(approx %79 (*.f64 %112 (-.f64 (*.f64 #s(literal -1 binary64) %188) %113)))
(approx %79 (*.f64 %112 (fma.f64 #s(literal -1 binary64) %188 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %244)) p)))))
(approx %79 (*.f64 %112 (fma.f64 #s(literal -1 binary64) %188 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (+.f64 %11 %219)) p))) p)))))
(approx %93 (*.f64 #s(literal -1/2 binary64) %189))
(approx %93 (*.f64 %112 (-.f64 %264 %172)))
(approx %93 (*.f64 %112 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %244)) p) %264)))
(approx %93 (*.f64 %112 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %218 (*.f64 #s(literal 1/2 binary64) %243)) p))) p) %264)))
(approx r r)
(approx %9 %11)
(approx %14 (+.f64 p %16))
(approx %21 (fma.f64 #s(literal -2 binary64) %26 %112))
(approx %21 %291)
(approx %37 %293)
(approx %37 (fma.f64 #s(literal -2 binary64) %26 %293))
(approx %37 (fma.f64 #s(literal 4 binary64) %39 %291))
(approx %46 %299)
(approx %46 %303)
(approx %46 %314)
(approx %46 %325)
(approx %79 %328)
(approx %79 (+.f64 %6 (+.f64 %11 %303)))
(approx %79 (+.f64 %6 (+.f64 %11 %314)))
(approx %79 (+.f64 %6 (+.f64 %11 %325)))
(approx %93 %339)
(approx %93 (fma.f64 #s(literal -1/2 binary64) %301 %339))
(approx %93 (fma.f64 #s(literal 1/2 binary64) %328 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %305 (*.f64 #s(literal 1/4 binary64) %310)))))
(approx %93 (fma.f64 #s(literal 1/2 binary64) %328 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %305 (*.f64 r (fma.f64 #s(literal 1/4 binary64) %318 (*.f64 #s(literal 1/4 binary64) %319)))))))
(approx %9 %357)
(approx %10 (*.f64 %23 (+.f64 %356 %359)))
(approx %14 (*.f64 r (-.f64 %363 #s(literal 1 binary64))))
(approx %21 (*.f64 %23 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) %363))))
(approx %21 (*.f64 %23 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %363 %371))))
(approx %37 (*.f64 %23 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %363 (fma.f64 #s(literal 4 binary64) %376 %371)))))
(approx %46 %384)
(approx %46 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %363 %386))))
(approx %46 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %363 (fma.f64 #s(literal 2 binary64) (/.f64 %391 %392) %386)))))
(approx %79 (*.f64 %23 (+.f64 %356 %355)))
(approx %79 (*.f64 %23 (+.f64 %356 (fma.f64 #s(literal -1 binary64) %402 %403))))
(approx %79 (*.f64 %23 (+.f64 %356 (fma.f64 #s(literal -1 binary64) %402 (fma.f64 #s(literal 2 binary64) %408 %403)))))
(approx %93 (*.f64 #s(literal 1/2 binary64) %357))
(approx %93 (*.f64 %23 (fma.f64 #s(literal 1/2 binary64) %356 %416)))
(approx %93 (*.f64 %23 (fma.f64 #s(literal 1/2 binary64) %356 (fma.f64 #s(literal 1/2 binary64) %421 %416))))
(approx %93 (*.f64 %23 (fma.f64 #s(literal 1/2 binary64) %356 (fma.f64 #s(literal 1/2 binary64) %421 (fma.f64 #s(literal 1/2 binary64) %355 %408)))))
(approx %9 (*.f64 #s(literal -1 binary64) %433))
(approx %10 (*.f64 %23 (fma.f64 #s(literal -1 binary64) %432 %359)))
(approx %14 (*.f64 #s(literal -1 binary64) %384))
(approx %21 (*.f64 %23 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %112 r) %442) r)))))
(approx %37 (*.f64 %23 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %293 r) %442) r)))))
(approx %46 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p %457) r))))))
(approx %46 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %391 r) %228) r))) r))))))
(approx %79 (*.f64 %23 (-.f64 (*.f64 #s(literal -1 binary64) %432) %355)))
(approx %79 (*.f64 %23 (fma.f64 #s(literal -1 binary64) %432 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %481)) r)))))
(approx %79 (*.f64 %23 (fma.f64 #s(literal -1 binary64) %432 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (+.f64 %6 %457)) r))) r)))))
(approx %93 (*.f64 #s(literal -1/2 binary64) %433))
(approx %93 (*.f64 %23 (-.f64 %501 %416)))
(approx %93 (*.f64 %23 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %481)) r) %501)))
(approx %93 (*.f64 %23 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %456 (*.f64 #s(literal 1/2 binary64) %480)) r))) r) %501)))
(approx q q)
(approx %35 %39)
(approx %36 (*.f64 #s(literal 4 binary64) %39))
(approx %37 %524)
(approx %37 (fma.f64 #s(literal 4 binary64) %39 %524))
(approx %46 %528)
(approx %46 %532)
(approx %46 %540)
(approx %46 %551)
(approx %79 %554)
(approx %79 (+.f64 %6 (+.f64 %11 %532)))
(approx %79 (+.f64 %6 (+.f64 %11 %540)))
(approx %79 (+.f64 %6 (+.f64 %11 %551)))
(approx %93 (*.f64 #s(literal 1/2 binary64) %554))
(approx %93 (fma.f64 #s(literal 1/2 binary64) %554 %530))
(approx %93 (fma.f64 #s(literal 1/2 binary64) %554 (*.f64 %39 (fma.f64 #s(literal -1 binary64) %535 %536))))
(approx %93 (fma.f64 #s(literal 1/2 binary64) %554 (*.f64 %39 (fma.f64 %39 (-.f64 (*.f64 #s(literal 2 binary64) %544) %546) %536))))
(approx %37 (*.f64 %39 (+.f64 #s(literal 4 binary64) %579)))
(approx %46 (*.f64 #s(literal 2 binary64) q))
(approx %46 %587)
(approx %46 %595)
(approx %46 %605)
(approx %79 (*.f64 q (+.f64 #s(literal 2 binary64) %609)))
(approx %79 (*.f64 q (+.f64 #s(literal 2 binary64) %613)))
(approx %79 (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %592 %613))))
(approx %93 (*.f64 q (+.f64 #s(literal 1 binary64) %622)))
(approx %93 (*.f64 q (+.f64 #s(literal 1 binary64) %627)))
(approx %93 (*.f64 q (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/128 binary64) %592 %627))))
(approx %46 (*.f64 #s(literal -2 binary64) q))
(approx %46 (*.f64 #s(literal -1 binary64) %587))
(approx %46 (*.f64 #s(literal -1 binary64) %595))
(approx %46 (*.f64 #s(literal -1 binary64) %605))
(approx %79 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) %621)))))
(approx %79 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %11 (*.f64 #s(literal -1/4 binary64) %650))) q))))))
(approx %79 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %11 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/64 binary64) %660 (*.f64 #s(literal 1/4 binary64) %524)) q)))) q))))))
(approx %93 (*.f64 #s(literal -1 binary64) q))
(approx %93 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) %621)))))
(approx %93 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) %650 %681) q))))))
(approx %93 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/128 binary64) %660 (*.f64 #s(literal 1/8 binary64) %524)) q) %681) q))))))
Calls

9 calls:

TimeVariablePoint
1.0ms
p
inf
1.0ms
q
inf
1.0ms
r
inf
1.0ms
r
0
1.0ms
q
-inf

rewrite108.0ms (3.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01893
03193
19893
230693
3126493
0409993
0446876
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
18 → 740
Calls
Call 1
Inputs
%2 = (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
%4 = (fabs.f64 p)
%6 = (fabs.f64 r)
%7 = (+.f64 %4 %6)
%8 = (-.f64 p r)
%9 = (pow.f64 %8 #s(literal 2 binary64))
%12 = (pow.f64 q #s(literal 2 binary64))
%13 = (*.f64 #s(literal 4 binary64) %12)
%14 = (+.f64 %9 %13)
%15 = (sqrt.f64 %14)
%16 = (+.f64 %7 %15)
#s(literal 1 binary64)
#s(literal 2 binary64)
%2
p
%4
r
%6
%7
%8
%9
#s(literal 4 binary64)
q
%12
%13
%14
%15
%16
(*.f64 %2 %16)
Outputs
%4 = (fabs.f64 p)
%5 = (sqrt.f64 %4)
%6 = (neg.f64 %5)
%7 = (neg.f64 %6)
%9 = (*.f64 %5 %4)
%10 = (sqrt.f64 %9)
%11 = (sqrt.f64 %5)
%18 = (*.f64 p p)
%35 = (neg.f64 %4)
%36 = (neg.f64 %35)
%39 = (neg.f64 p)
%43 = (fabs.f64 r)
%44 = (sqrt.f64 %43)
%45 = (neg.f64 %44)
%46 = (neg.f64 %45)
%48 = (*.f64 %44 %43)
%49 = (sqrt.f64 %48)
%50 = (sqrt.f64 %44)
%57 = (*.f64 r r)
%69 = (neg.f64 %43)
%73 = (neg.f64 r)
%76 = (+.f64 %43 %4)
%80 = (-.f64 r p)
%85 = (-.f64 p r)
%91 = (neg.f64 %76)
%93 = (*.f64 %7 %5)
%97 = (*.f64 %46 %44)
%125 = (*.f64 %7 %6)
%130 = (*.f64 %46 %45)
%146 = (fabs.f64 %80)
%147 = (neg.f64 %146)
%148 = (neg.f64 %147)
%153 = (*.f64 %85 %85)
%168 = (*.f64 %80 %85)
%170 = (*.f64 #s(literal -2 binary64) r)
%171 = (fma.f64 %170 p %18)
%173 = (+.f64 p p)
%174 = (-.f64 %173 r)
%175 = (*.f64 %73 %174)
%177 = (fma.f64 %170 p %57)
%179 = (*.f64 r %174)
%180 = (neg.f64 %179)
%192 = (*.f64 %80 %39)
%196 = (*.f64 %85 p)
%202 = (*.f64 %73 %85)
%203 = (neg.f64 %202)
%204 = (neg.f64 %203)
%208 = (*.f64 %39 %80)
%227 = (fma.f64 r r %18)
%235 = (neg.f64 %173)
%239 = (*.f64 %73 p)
%253 = (*.f64 %173 r)
%255 = (*.f64 %80 r)
%260 = (*.f64 r %80)
%263 = (*.f64 p %80)
%282 = (*.f64 %80 p)
%287 = (*.f64 %85 r)
%289 = (*.f64 %73 %80)
%291 = (*.f64 r %85)
%293 = (*.f64 %80 %73)
%297 = (*.f64 (neg.f64 %48) %44)
%299 = (*.f64 %45 %48)
%301 = (*.f64 %73 r)
%303 = (-.f64 %253 %18)
%324 = (*.f64 r p)
%333 = (*.f64 #s(literal -2 binary64) %324)
%360 = (fabs.f64 q)
%361 = (neg.f64 %360)
%362 = (neg.f64 %361)
%364 = (neg.f64 q)
%365 = (neg.f64 %364)
%366 = (neg.f64 %365)
%372 = (*.f64 q q)
%388 = (*.f64 %364 q)
%394 = (*.f64 %361 #s(literal 2 binary64))
%396 = (*.f64 %365 #s(literal 2 binary64))
%398 = (*.f64 %360 #s(literal 2 binary64))
%400 = (*.f64 %364 #s(literal 2 binary64))
%402 = (*.f64 #s(literal 2 binary64) %361)
%404 = (*.f64 #s(literal 2 binary64) %365)
%406 = (*.f64 #s(literal 2 binary64) %360)
%408 = (*.f64 #s(literal 2 binary64) %364)
%410 = (*.f64 #s(literal 4 binary64) %360)
%412 = (*.f64 #s(literal 4 binary64) %364)
%414 = (*.f64 q #s(literal 2 binary64))
%416 = (*.f64 #s(literal 2 binary64) q)
%419 = (*.f64 #s(literal -4 binary64) q)
%421 = (*.f64 q #s(literal 4 binary64))
%424 = (*.f64 %360 #s(literal 4 binary64))
%426 = (*.f64 %364 #s(literal 4 binary64))
%429 = (*.f64 %372 #s(literal 4 binary64))
%436 = (*.f64 #s(literal -4 binary64) %372)
%438 = (*.f64 %372 #s(literal 2 binary64))
%440 = (*.f64 #s(literal 2 binary64) %372)
%452 = (fma.f64 %372 #s(literal 4 binary64) %153)
%453 = (sqrt.f64 %452)
%454 = (neg.f64 %453)
%458 = (pow.f64 %452 #s(literal 2 binary64))
%469 = (fma.f64 %419 q %168)
%471 = (*.f64 %148 %146)
%490 = (*.f64 (neg.f64 (*.f64 #s(literal -4 binary64) %360)) %360)
%494 = (*.f64 (neg.f64 (*.f64 #s(literal -4 binary64) %364)) %364)
%497 = (*.f64 %361 (*.f64 %360 #s(literal -4 binary64)))
%500 = (*.f64 %365 (*.f64 %364 #s(literal -4 binary64)))
%502 = (*.f64 %365 %421)
%504 = (*.f64 %364 %419)
%511 = (fma.f64 %421 q %171)
%513 = (-.f64 %436 %57)
%514 = (fma.f64 %173 r %513)
%515 = (neg.f64 %514)
%517 = (fma.f64 r %174 %436)
%518 = (neg.f64 %517)
%520 = (fma.f64 %421 q %57)
%521 = (fma.f64 %170 p %520)
%587 = (fma.f64 %73 %85 %429)
%615 = (fma.f64 %421 q %196)
%621 = (fma.f64 %421 q %18)
%653 = (*.f64 %454 %453)
%656 = (*.f64 %453 %454)
%683 = (sqrt.f64 %453)
%684 = (neg.f64 %683)
%799 = (+.f64 %453 %76)
%804 = (neg.f64 %799)
%807 = (+.f64 %453 %4)
%809 = (+.f64 %453 %43)
%837 = (neg.f64 %807)
%839 = (neg.f64 %809)
%849 = (*.f64 %799 #s(literal 1/2 binary64))
%855 = (*.f64 #s(literal -1/2 binary64) %809)
%856 = (*.f64 %4 #s(literal 1/2 binary64))
%859 = (*.f64 %839 #s(literal 1/2 binary64))
%862 = (*.f64 %809 #s(literal 1/2 binary64))
%863 = (neg.f64 %862)
%866 = (*.f64 %91 #s(literal 1/2 binary64))
%867 = (*.f64 %453 #s(literal 1/2 binary64))
%870 = (*.f64 #s(literal -1/2 binary64) %76)
%873 = (*.f64 %76 #s(literal 1/2 binary64))
%874 = (neg.f64 %873)
%883 = (*.f64 #s(literal 1/2 binary64) %44)
%884 = (fma.f64 %4 #s(literal 1/2 binary64) %867)
%886 = (*.f64 #s(literal 1/2 binary64) %807)
%888 = (*.f64 %807 #s(literal 1/2 binary64))
%890 = (*.f64 #s(literal 1/2 binary64) %5)
%891 = (neg.f64 %855)
%893 = (neg.f64 %859)
%895 = (neg.f64 %863)
%898 = (*.f64 %43 #s(literal 1/2 binary64))
%900 = (*.f64 %44 #s(literal 1/2 binary64))
%904 = (*.f64 %5 #s(literal 1/2 binary64))
%910 = (neg.f64 %870)
%913 = (*.f64 %454 #s(literal -1/2 binary64))
%915 = (*.f64 #s(literal -1/2 binary64) %454)
%917 = (*.f64 #s(literal -1/2 binary64) %453)
%918 = (neg.f64 %917)
%957 = (fma.f64 %453 #s(literal 1/2 binary64) %856)
%959 = (*.f64 (neg.f64 %883) %44)
%961 = (*.f64 %45 %900)
%963 = (*.f64 #s(literal -1/2 binary64) %43)
%965 = (*.f64 %69 #s(literal 1/2 binary64))
%967 = (neg.f64 %898)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 1/2 binary64)
p
(*.f64 %7 %7)
(*.f64 %10 %11)
(*.f64 %6 %6)
(*.f64 %11 %10)
(*.f64 %5 %5)
(*.f64 #s(literal 1 binary64) %4)
(pow.f64 %6 #s(literal 2 binary64))
(pow.f64 (*.f64 %18 %18) #s(literal 1/4 binary64))
(pow.f64 %5 #s(literal 2 binary64))
(pow.f64 %18 #s(literal 1/2 binary64))
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %5 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(sqrt.f64 %18)
(fabs.f64 %36)
(fabs.f64 %35)
(fabs.f64 %39)
(fabs.f64 %4)
%4
r
(*.f64 %46 %46)
(*.f64 %49 %50)
(*.f64 %45 %45)
(*.f64 %50 %49)
(*.f64 %44 %44)
(*.f64 #s(literal 1 binary64) %43)
(pow.f64 %45 #s(literal 2 binary64))
(pow.f64 (*.f64 %57 %57) #s(literal 1/4 binary64))
(pow.f64 %44 #s(literal 2 binary64))
(pow.f64 %57 #s(literal 1/2 binary64))
(pow.f64 %43 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %44 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %57 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %43 #s(literal -1 binary64)))
(neg.f64 %69)
(sqrt.f64 %57)
(fabs.f64 %69)
(fabs.f64 %73)
(fabs.f64 %43)
%43
(*.f64 #s(literal 1 binary64) %76)
(pow.f64 %76 #s(literal 1 binary64))
(/.f64 (*.f64 (+.f64 r p) %80) (-.f64 %43 %4))
(/.f64 (*.f64 (+.f64 p r) %85) (-.f64 %4 %43))
(/.f64 #s(literal 1 binary64) (pow.f64 %76 #s(literal -1 binary64)))
(neg.f64 %91)
(fma.f64 %46 %46 %93)
(fma.f64 %46 %46 %36)
(fma.f64 %46 %46 %4)
(fma.f64 %7 %7 %97)
(fma.f64 %7 %7 %43)
(fma.f64 %49 %50 %93)
(fma.f64 %49 %50 %36)
(fma.f64 %49 %50 %4)
(fma.f64 %10 %11 %97)
(fma.f64 %10 %11 %43)
(fma.f64 %45 %45 %93)
(fma.f64 %45 %45 %36)
(fma.f64 %45 %45 %4)
(fma.f64 %6 %6 %97)
(fma.f64 %6 %6 %43)
(fma.f64 %50 %49 %93)
(fma.f64 %50 %49 %36)
(fma.f64 %50 %49 %4)
(fma.f64 %11 %10 %97)
(fma.f64 %11 %10 %43)
(fma.f64 %44 %44 %93)
(fma.f64 %44 %44 %36)
(fma.f64 %44 %44 %4)
(fma.f64 %5 %5 %97)
(fma.f64 %5 %5 %43)
(fma.f64 #s(literal 1 binary64) %43 %93)
(fma.f64 #s(literal 1 binary64) %43 %36)
(fma.f64 #s(literal 1 binary64) %43 %4)
(fma.f64 #s(literal 1 binary64) %4 %97)
(fma.f64 #s(literal 1 binary64) %4 %43)
(-.f64 %43 %125)
(-.f64 %43 (neg.f64 %36))
(-.f64 %43 %35)
(-.f64 %4 %130)
(-.f64 %4 %69)
(+.f64 %43 %93)
(+.f64 %43 %36)
%76
(+.f64 %4 %97)
(+.f64 %4 %43)
(*.f64 #s(literal 1 binary64) %85)
(pow.f64 %85 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %85 #s(literal -1 binary64)))
(neg.f64 %80)
(fma.f64 #s(literal 1 binary64) %73 p)
(-.f64 %73 %39)
%85
(+.f64 %73 p)
(+.f64 p %73)
(*.f64 %148 %148)
(*.f64 %147 %147)
(*.f64 %146 %146)
(*.f64 %80 %80)
%153
(*.f64 #s(literal 1 binary64) %153)
(pow.f64 %147 #s(literal 2 binary64))
(pow.f64 %146 #s(literal 2 binary64))
(pow.f64 %80 #s(literal 2 binary64))
(pow.f64 %153 #s(literal 1 binary64))
(pow.f64 %85 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %146 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %80 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %153 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %85 #s(literal -2 binary64)))
(neg.f64 %168)
(fma.f64 %48 %44 %171)
(fma.f64 %9 %5 %175)
(fma.f64 %9 %5 %177)
(fma.f64 %9 %5 %180)
(fma.f64 %36 %36 %175)
(fma.f64 %36 %36 %177)
(fma.f64 %36 %36 %180)
(fma.f64 %35 %35 %175)
(fma.f64 %35 %35 %177)
(fma.f64 %35 %35 %180)
(fma.f64 %44 %48 %171)
(fma.f64 %5 %9 %175)
(fma.f64 %5 %9 %177)
(fma.f64 %5 %9 %180)
(fma.f64 %80 r %192)
(fma.f64 %69 %69 %171)
(fma.f64 %73 %73 %171)
(fma.f64 %73 %85 %196)
(fma.f64 %39 %39 %175)
(fma.f64 %39 %39 %177)
(fma.f64 %39 %39 %180)
(fma.f64 %85 %73 %196)
(fma.f64 %85 p %204)
(fma.f64 %85 p %202)
(fma.f64 %43 %43 %171)
(fma.f64 r %80 %208)
(fma.f64 r r %171)
(fma.f64 %4 %4 %175)
(fma.f64 %4 %4 %177)
(fma.f64 %4 %4 %180)
(fma.f64 p %85 %204)
(fma.f64 p %85 %202)
(fma.f64 p p %175)
(fma.f64 p p %177)
(fma.f64 p p %180)
(fma.f64 #s(literal 1 binary64) %202 %196)
(fma.f64 #s(literal 1 binary64) %196 %204)
(fma.f64 #s(literal 1 binary64) %196 %202)
(fma.f64 #s(literal 1 binary64) %171 %57)
(fma.f64 #s(literal 1 binary64) %57 %171)
(fma.f64 #s(literal 1 binary64) %18 %175)
(fma.f64 #s(literal 1 binary64) %18 %177)
(fma.f64 #s(literal 1 binary64) %18 %180)
(-.f64 %227 (*.f64 (neg.f64 %170) p))
(-.f64 %227 (*.f64 (neg.f64 (*.f64 #s(literal -2 binary64) p)) r))
(-.f64 %227 (*.f64 (neg.f64 %235) r))
(-.f64 %227 (*.f64 (neg.f64 %239) #s(literal 2 binary64)))
(-.f64 %227 (*.f64 %235 %73))
(-.f64 %227 (*.f64 %239 #s(literal -2 binary64)))
(-.f64 %227 (*.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 4 binary64) %239)))
(-.f64 %227 (*.f64 #s(literal -2 binary64) %239))
(-.f64 %227 %253)
(-.f64 %255 (neg.f64 %192))
(-.f64 %255 (*.f64 %85 %39))
(-.f64 %260 (neg.f64 %208))
(-.f64 %260 %263)
(-.f64 %180 (*.f64 (neg.f64 %9) %5))
(-.f64 %180 (*.f64 %36 %35))
(-.f64 %180 (*.f64 %6 %9))
(-.f64 %180 (*.f64 %35 %4))
(-.f64 %180 (neg.f64 %18))
(-.f64 %180 (*.f64 %39 p))
(-.f64 %180 (*.f64 p %39))
(-.f64 %202 (*.f64 %39 %85))
(-.f64 %202 %282)
(-.f64 %202 %263)
(-.f64 %202 (neg.f64 %196))
(-.f64 %196 %287)
(-.f64 %196 %289)
(-.f64 %196 %291)
(-.f64 %196 %293)
(-.f64 %196 %203)
(-.f64 %171 %297)
(-.f64 %171 %299)
(-.f64 %171 %301)
(-.f64 %57 %303)
(-.f64 %18 (neg.f64 %177))
(-.f64 %18 %179)
(sqrt.f64 (*.f64 %153 %153))
(fabs.f64 %168)
(fabs.f64 %153)
(+.f64 (fma.f64 p p (*.f64 #s(literal 2 binary64) (*.f64 %39 r))) %57)
(+.f64 (fma.f64 r r (*.f64 #s(literal 2 binary64) (*.f64 r %39))) %18)
(+.f64 (-.f64 %57 (*.f64 #s(literal 2 binary64) (*.f64 %73 %39))) %18)
(+.f64 %227 (*.f64 (neg.f64 (*.f64 %324 #s(literal 1/2 binary64))) #s(literal 4 binary64)))
(+.f64 %227 (*.f64 (neg.f64 (*.f64 #s(literal 2 binary64) r)) p))
(+.f64 %227 (*.f64 %333 #s(literal 1 binary64)))
(+.f64 %227 (*.f64 %73 %173))
(+.f64 %227 (*.f64 %39 (*.f64 r #s(literal 2 binary64))))
(+.f64 %227 (*.f64 %39 (+.f64 r r)))
(+.f64 %227 (*.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 4 binary64) %324)))
(+.f64 %227 %333)
(+.f64 %255 %192)
(+.f64 %260 %208)
(+.f64 %180 %18)
(+.f64 %202 %196)
(+.f64 %196 %204)
(+.f64 %196 %202)
(+.f64 %171 %57)
(+.f64 %57 %171)
(+.f64 %18 %175)
(+.f64 %18 %177)
(+.f64 %18 %180)
#s(literal 4 binary64)
q
(*.f64 %362 %362)
(*.f64 %366 %366)
(*.f64 %361 %361)
(*.f64 %365 %365)
(*.f64 %360 %360)
(*.f64 %364 %364)
%372
(*.f64 #s(literal 1 binary64) %372)
(pow.f64 %361 #s(literal 2 binary64))
(pow.f64 %365 #s(literal 2 binary64))
(pow.f64 %360 #s(literal 2 binary64))
(pow.f64 %364 #s(literal 2 binary64))
(pow.f64 %372 #s(literal 1 binary64))
(pow.f64 q #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %360 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %364 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %372 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 q #s(literal -2 binary64)))
(neg.f64 %388)
(sqrt.f64 (*.f64 %372 %372))
(fabs.f64 %388)
(fabs.f64 %372)
(*.f64 %394 %394)
(*.f64 %396 %396)
(*.f64 %398 %398)
(*.f64 %400 %400)
(*.f64 %402 %402)
(*.f64 %404 %404)
(*.f64 %406 %406)
(*.f64 %408 %408)
(*.f64 %410 %360)
(*.f64 %412 %364)
(*.f64 %414 %414)
(*.f64 %416 %416)
(*.f64 %419 %364)
(*.f64 %421 q)
(*.f64 %388 #s(literal -4 binary64))
(*.f64 %360 %424)
(*.f64 %364 %426)
(*.f64 #s(literal -4 binary64) %388)
%429
(*.f64 q %421)
(*.f64 #s(literal 4 binary64) %372)
(*.f64 #s(literal 1 binary64) %429)
(pow.f64 %429 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %429 #s(literal -1 binary64)))
(neg.f64 %436)
(fma.f64 %372 #s(literal 2 binary64) %438)
(fma.f64 #s(literal 2 binary64) %372 %440)
(-.f64 %438 (neg.f64 %438))
(-.f64 %438 (*.f64 %388 #s(literal 2 binary64)))
(-.f64 %440 (*.f64 #s(literal -2 binary64) %372))
(-.f64 %440 (neg.f64 %440))
(+.f64 %438 %438)
(+.f64 %440 %440)
(*.f64 %454 %454)
(*.f64 %453 %453)
(*.f64 #s(literal 1 binary64) %452)
(pow.f64 %458 #s(literal 1/2 binary64))
(pow.f64 %454 #s(literal 2 binary64))
(pow.f64 %453 #s(literal 2 binary64))
(pow.f64 %452 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %458 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %453 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %452 #s(literal -1 binary64)))
(neg.f64 %469)
(fma.f64 %394 %394 %471)
(fma.f64 %394 %394 %153)
(fma.f64 %396 %396 %471)
(fma.f64 %396 %396 %153)
(fma.f64 %398 %398 %471)
(fma.f64 %398 %398 %153)
(fma.f64 %400 %400 %471)
(fma.f64 %400 %400 %153)
(fma.f64 %402 %402 %471)
(fma.f64 %402 %402 %153)
(fma.f64 %404 %404 %471)
(fma.f64 %404 %404 %153)
(fma.f64 %406 %406 %471)
(fma.f64 %406 %406 %153)
(fma.f64 %408 %408 %471)
(fma.f64 %408 %408 %153)
(fma.f64 %148 %148 %490)
(fma.f64 %148 %148 %494)
(fma.f64 %148 %148 %497)
(fma.f64 %148 %148 %500)
(fma.f64 %148 %148 %502)
(fma.f64 %148 %148 %504)
(fma.f64 %148 %148 %429)
(fma.f64 %410 %360 %471)
(fma.f64 %410 %360 %153)
(fma.f64 %412 %364 %471)
(fma.f64 %412 %364 %153)
(fma.f64 %48 %44 %511)
(fma.f64 %9 %5 %515)
(fma.f64 %9 %5 %518)
(fma.f64 %9 %5 %521)
(fma.f64 %414 %414 %471)
(fma.f64 %414 %414 %153)
(fma.f64 %416 %416 %471)
(fma.f64 %416 %416 %153)
(fma.f64 %36 %36 %515)
(fma.f64 %36 %36 %518)
(fma.f64 %36 %36 %521)
(fma.f64 %147 %147 %490)
(fma.f64 %147 %147 %494)
(fma.f64 %147 %147 %497)
(fma.f64 %147 %147 %500)
(fma.f64 %147 %147 %502)
(fma.f64 %147 %147 %504)
(fma.f64 %147 %147 %429)
(fma.f64 %419 %364 %471)
(fma.f64 %419 %364 %153)
(fma.f64 %421 q %471)
(fma.f64 %421 q %153)
(fma.f64 %388 #s(literal -4 binary64) %471)
(fma.f64 %388 #s(literal -4 binary64) %153)
(fma.f64 %35 %35 %515)
(fma.f64 %35 %35 %518)
(fma.f64 %35 %35 %521)
(fma.f64 %146 %146 %490)
(fma.f64 %146 %146 %494)
(fma.f64 %146 %146 %497)
(fma.f64 %146 %146 %500)
(fma.f64 %146 %146 %502)
(fma.f64 %146 %146 %504)
(fma.f64 %146 %146 %429)
(fma.f64 %360 %424 %471)
(fma.f64 %360 %424 %153)
(fma.f64 %364 %426 %471)
(fma.f64 %364 %426 %153)
(fma.f64 %44 %48 %511)
(fma.f64 %5 %9 %515)
(fma.f64 %5 %9 %518)
(fma.f64 %5 %9 %521)
(fma.f64 #s(literal -4 binary64) %388 %471)
(fma.f64 #s(literal -4 binary64) %388 %153)
(fma.f64 %80 %80 %490)
(fma.f64 %80 %80 %494)
(fma.f64 %80 %80 %497)
(fma.f64 %80 %80 %500)
(fma.f64 %80 %80 %502)
(fma.f64 %80 %80 %504)
(fma.f64 %80 %80 %429)
(fma.f64 %69 %69 %511)
(fma.f64 %73 %73 %511)
(fma.f64 %39 %39 %515)
(fma.f64 %39 %39 %518)
(fma.f64 %39 %39 %521)
(fma.f64 %372 #s(literal 4 binary64) %471)
%452
(fma.f64 q %421 %471)
(fma.f64 q %421 %153)
(fma.f64 #s(literal 4 binary64) %372 %471)
(fma.f64 #s(literal 4 binary64) %372 %153)
(fma.f64 %85 %85 %490)
(fma.f64 %85 %85 %494)
(fma.f64 %85 %85 %497)
(fma.f64 %85 %85 %500)
(fma.f64 %85 %85 %502)
(fma.f64 %85 %85 %504)
(fma.f64 %85 %85 %429)
(fma.f64 %85 p %587)
(fma.f64 %43 %43 %511)
(fma.f64 r r %511)
(fma.f64 %4 %4 %515)
(fma.f64 %4 %4 %518)
(fma.f64 %4 %4 %521)
(fma.f64 p %85 %587)
(fma.f64 p p %515)
(fma.f64 p p %518)
(fma.f64 p p %521)
(fma.f64 #s(literal 1 binary64) %511 %57)
(fma.f64 #s(literal 1 binary64) %520 %171)
(fma.f64 #s(literal 1 binary64) %196 %587)
(fma.f64 #s(literal 1 binary64) %171 %520)
(fma.f64 #s(literal 1 binary64) %57 %511)
(fma.f64 #s(literal 1 binary64) %18 %515)
(fma.f64 #s(literal 1 binary64) %18 %518)
(fma.f64 #s(literal 1 binary64) %18 %521)
(fma.f64 #s(literal 1 binary64) %429 %471)
(fma.f64 #s(literal 1 binary64) %429 %153)
(fma.f64 #s(literal 1 binary64) %153 %490)
(fma.f64 #s(literal 1 binary64) %153 %494)
(fma.f64 #s(literal 1 binary64) %153 %497)
(fma.f64 #s(literal 1 binary64) %153 %500)
(fma.f64 #s(literal 1 binary64) %153 %502)
(fma.f64 #s(literal 1 binary64) %153 %504)
(fma.f64 #s(literal 1 binary64) %153 %429)
(-.f64 %615 %287)
(-.f64 %615 %289)
(-.f64 %615 %291)
(-.f64 %615 %293)
(-.f64 %615 %203)
(-.f64 %621 %179)
(-.f64 %511 %297)
(-.f64 %511 %299)
(-.f64 %511 %301)
(-.f64 %520 %303)
(-.f64 %202 (fma.f64 %419 q %282))
(-.f64 %196 (neg.f64 %587))
(-.f64 %171 %513)
(-.f64 %57 (fma.f64 %419 q %303))
(-.f64 %18 (neg.f64 %521))
(-.f64 %18 %514)
(-.f64 %18 %517)
(-.f64 %429 (*.f64 %148 %147))
(-.f64 %429 %168)
(-.f64 %153 (*.f64 (neg.f64 %410) %360))
(-.f64 %153 (*.f64 (neg.f64 %412) %364))
(-.f64 %153 (*.f64 %361 %424))
(-.f64 %153 (*.f64 %365 %426))
(-.f64 %153 %436)
(sqrt.f64 %458)
(fabs.f64 (neg.f64 %653))
(fabs.f64 (neg.f64 %656))
(fabs.f64 %469)
(fabs.f64 %653)
(fabs.f64 %656)
(fabs.f64 %452)
(+.f64 %615 %202)
(+.f64 %621 %175)
(+.f64 %621 %180)
(+.f64 %511 %57)
(+.f64 %520 %171)
(+.f64 %196 %587)
(+.f64 %171 %520)
(+.f64 %57 %511)
(+.f64 %18 %515)
(+.f64 %18 %518)
(+.f64 %18 %521)
(+.f64 %429 %471)
(+.f64 %429 %153)
(+.f64 %153 %490)
(+.f64 %153 %494)
(+.f64 %153 %497)
(+.f64 %153 %500)
(+.f64 %153 %502)
(+.f64 %153 %504)
(+.f64 %153 %429)
(*.f64 %684 %684)
(*.f64 %683 %683)
(*.f64 #s(literal 1 binary64) %453)
(pow.f64 %683 #s(literal 2 binary64))
(pow.f64 %458 #s(literal 1/4 binary64))
(pow.f64 %453 #s(literal 1 binary64))
(pow.f64 %452 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %453 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %452 #s(literal -1/2 binary64)))
(neg.f64 %454)
%453
(fabs.f64 %454)
(fabs.f64 %453)
(hypot.f64 %394 %148)
(hypot.f64 %394 %147)
(hypot.f64 %394 %146)
(hypot.f64 %394 %80)
(hypot.f64 %394 %85)
(hypot.f64 %396 %148)
(hypot.f64 %396 %147)
(hypot.f64 %396 %146)
(hypot.f64 %396 %80)
(hypot.f64 %396 %85)
(hypot.f64 %398 %148)
(hypot.f64 %398 %147)
(hypot.f64 %398 %146)
(hypot.f64 %398 %80)
(hypot.f64 %398 %85)
(hypot.f64 %400 %148)
(hypot.f64 %400 %147)
(hypot.f64 %400 %146)
(hypot.f64 %400 %80)
(hypot.f64 %400 %85)
(hypot.f64 %402 %148)
(hypot.f64 %402 %147)
(hypot.f64 %402 %146)
(hypot.f64 %402 %80)
(hypot.f64 %402 %85)
(hypot.f64 %404 %148)
(hypot.f64 %404 %147)
(hypot.f64 %404 %146)
(hypot.f64 %404 %80)
(hypot.f64 %404 %85)
(hypot.f64 %406 %148)
(hypot.f64 %406 %147)
(hypot.f64 %406 %146)
(hypot.f64 %406 %80)
(hypot.f64 %406 %85)
(hypot.f64 %408 %148)
(hypot.f64 %408 %147)
(hypot.f64 %408 %146)
(hypot.f64 %408 %80)
(hypot.f64 %408 %85)
(hypot.f64 %148 %394)
(hypot.f64 %148 %396)
(hypot.f64 %148 %398)
(hypot.f64 %148 %400)
(hypot.f64 %148 %402)
(hypot.f64 %148 %404)
(hypot.f64 %148 %406)
(hypot.f64 %148 %408)
(hypot.f64 %148 %414)
(hypot.f64 %148 %416)
(hypot.f64 %414 %148)
(hypot.f64 %414 %147)
(hypot.f64 %414 %146)
(hypot.f64 %414 %80)
(hypot.f64 %414 %85)
(hypot.f64 %416 %148)
(hypot.f64 %416 %147)
(hypot.f64 %416 %146)
(hypot.f64 %416 %80)
(hypot.f64 %416 %85)
(hypot.f64 %147 %394)
(hypot.f64 %147 %396)
(hypot.f64 %147 %398)
(hypot.f64 %147 %400)
(hypot.f64 %147 %402)
(hypot.f64 %147 %404)
(hypot.f64 %147 %406)
(hypot.f64 %147 %408)
(hypot.f64 %147 %414)
(hypot.f64 %147 %416)
(hypot.f64 %146 %394)
(hypot.f64 %146 %396)
(hypot.f64 %146 %398)
(hypot.f64 %146 %400)
(hypot.f64 %146 %402)
(hypot.f64 %146 %404)
(hypot.f64 %146 %406)
(hypot.f64 %146 %408)
(hypot.f64 %146 %414)
(hypot.f64 %146 %416)
(hypot.f64 %80 %394)
(hypot.f64 %80 %396)
(hypot.f64 %80 %398)
(hypot.f64 %80 %400)
(hypot.f64 %80 %402)
(hypot.f64 %80 %404)
(hypot.f64 %80 %406)
(hypot.f64 %80 %408)
(hypot.f64 %80 %414)
(hypot.f64 %80 %416)
(hypot.f64 %85 %394)
(hypot.f64 %85 %396)
(hypot.f64 %85 %398)
(hypot.f64 %85 %400)
(hypot.f64 %85 %402)
(hypot.f64 %85 %404)
(hypot.f64 %85 %406)
(hypot.f64 %85 %408)
(hypot.f64 %85 %414)
(hypot.f64 %85 %416)
(*.f64 #s(literal 1 binary64) %799)
(pow.f64 %799 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %799 #s(literal -1 binary64)))
(neg.f64 %804)
(fma.f64 %684 %684 %76)
(fma.f64 %46 %46 %807)
(fma.f64 %7 %7 %809)
(fma.f64 %49 %50 %807)
(fma.f64 %10 %11 %809)
(fma.f64 %45 %45 %807)
(fma.f64 %6 %6 %809)
(fma.f64 %683 %683 %76)
(fma.f64 %50 %49 %807)
(fma.f64 %11 %10 %809)
(fma.f64 %44 %44 %807)
(fma.f64 %5 %5 %809)
(fma.f64 #s(literal 1 binary64) %807 %97)
(fma.f64 #s(literal 1 binary64) %807 %43)
(fma.f64 #s(literal 1 binary64) %809 %93)
(fma.f64 #s(literal 1 binary64) %809 %36)
(fma.f64 #s(literal 1 binary64) %809 %4)
(fma.f64 #s(literal 1 binary64) %453 %76)
(fma.f64 #s(literal 1 binary64) %76 %453)
(fma.f64 #s(literal 1 binary64) %43 %807)
(fma.f64 #s(literal 1 binary64) %4 %809)
(-.f64 %807 %130)
(-.f64 %807 %69)
(-.f64 %809 %125)
(-.f64 %809 %35)
(-.f64 %453 %91)
(-.f64 %76 (*.f64 %684 %683))
(-.f64 %76 %454)
(-.f64 %43 %837)
(-.f64 %4 %839)
(+.f64 %807 %97)
(+.f64 %807 %43)
(+.f64 %809 %93)
(+.f64 %809 %36)
(+.f64 %809 %4)
%799
(+.f64 %76 %453)
(+.f64 %43 %807)
(+.f64 %4 %809)
%849
(*.f64 #s(literal 1/2 binary64) %799)
(*.f64 #s(literal 1 binary64) %849)
(pow.f64 %849 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %849 #s(literal -1 binary64)))
(neg.f64 (-.f64 %855 %856))
(neg.f64 (-.f64 %859 %856))
(neg.f64 (-.f64 %863 %856))
(neg.f64 (-.f64 %866 %867))
(neg.f64 (-.f64 %870 %867))
(neg.f64 (-.f64 %874 %867))
(neg.f64 (*.f64 %804 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %804))
(neg.f64 (neg.f64 %849))
(fma.f64 %883 %44 %884)
(fma.f64 %883 %44 %886)
(fma.f64 %883 %44 %888)
(fma.f64 %890 %5 %891)
(fma.f64 %890 %5 %893)
(fma.f64 %890 %5 %895)
(fma.f64 %890 %5 %862)
(fma.f64 %807 #s(literal 1/2 binary64) %898)
(fma.f64 %44 %900 %884)
(fma.f64 %44 %900 %886)
(fma.f64 %44 %900 %888)
(fma.f64 %5 %904 %891)
(fma.f64 %5 %904 %893)
(fma.f64 %5 %904 %895)
(fma.f64 %5 %904 %862)
(fma.f64 %809 #s(literal 1/2 binary64) %856)
(fma.f64 %453 #s(literal 1/2 binary64) %910)
(fma.f64 %453 #s(literal 1/2 binary64) %873)
(fma.f64 %76 #s(literal 1/2 binary64) %913)
(fma.f64 %76 #s(literal 1/2 binary64) %915)
(fma.f64 %76 #s(literal 1/2 binary64) %918)
(fma.f64 %76 #s(literal 1/2 binary64) %867)
(fma.f64 %43 #s(literal 1/2 binary64) %884)
(fma.f64 %43 #s(literal 1/2 binary64) %886)
(fma.f64 %43 #s(literal 1/2 binary64) %888)
(fma.f64 %4 #s(literal 1/2 binary64) %891)
(fma.f64 %4 #s(literal 1/2 binary64) %893)
(fma.f64 %4 #s(literal 1/2 binary64) %895)
(fma.f64 %4 #s(literal 1/2 binary64) %862)
(fma.f64 #s(literal 1/2 binary64) %807 %898)
(fma.f64 #s(literal 1/2 binary64) %809 %856)
(fma.f64 #s(literal 1/2 binary64) %453 %910)
(fma.f64 #s(literal 1/2 binary64) %453 %873)
(fma.f64 #s(literal 1/2 binary64) %76 %913)
(fma.f64 #s(literal 1/2 binary64) %76 %915)
(fma.f64 #s(literal 1/2 binary64) %76 %918)
(fma.f64 #s(literal 1/2 binary64) %76 %867)
(fma.f64 #s(literal 1/2 binary64) %43 %884)
(fma.f64 #s(literal 1/2 binary64) %43 %886)
(fma.f64 #s(literal 1/2 binary64) %43 %888)
(fma.f64 #s(literal 1/2 binary64) %4 %891)
(fma.f64 #s(literal 1/2 binary64) %4 %893)
(fma.f64 #s(literal 1/2 binary64) %4 %895)
(fma.f64 #s(literal 1/2 binary64) %4 %862)
(fma.f64 #s(literal 1 binary64) %862 %856)
(fma.f64 #s(literal 1 binary64) %898 %884)
(fma.f64 #s(literal 1 binary64) %898 %886)
(fma.f64 #s(literal 1 binary64) %898 %888)
(fma.f64 #s(literal 1 binary64) %856 %891)
(fma.f64 #s(literal 1 binary64) %856 %893)
(fma.f64 #s(literal 1 binary64) %856 %895)
(fma.f64 #s(literal 1 binary64) %856 %862)
(fma.f64 #s(literal 1 binary64) %867 %910)
(fma.f64 #s(literal 1 binary64) %867 %873)
(fma.f64 #s(literal 1 binary64) %873 %913)
(fma.f64 #s(literal 1 binary64) %873 %915)
(fma.f64 #s(literal 1 binary64) %873 %918)
(fma.f64 #s(literal 1 binary64) %873 %867)
(-.f64 %957 %959)
(-.f64 %957 %961)
(-.f64 %957 %963)
(-.f64 %957 %965)
(-.f64 %957 %967)
(-.f64 %886 %959)
(-.f64 %886 %961)
(-.f64 %886 %963)
(-.f64 %886 %965)
(-.f64 %886 %967)
(-.f64 %888 %959)
(-.f64 %888 %961)
(-.f64 %888 %963)
(-.f64 %888 %965)
(-.f64 %888 %967)
(-.f64 %862 (*.f64 (neg.f64 %890) %5))
(-.f64 %862 (*.f64 %6 %904))
(-.f64 %862 (*.f64 #s(literal -1/2 binary64) %4))
(-.f64 %862 (*.f64 %35 #s(literal 1/2 binary64)))
(-.f64 %862 (neg.f64 %856))
(-.f64 %898 (*.f64 #s(literal -1/2 binary64) %807))
(-.f64 %898 (*.f64 %837 #s(literal 1/2 binary64)))
(-.f64 %898 (neg.f64 %884))
(-.f64 %898 (neg.f64 %886))
(-.f64 %898 (neg.f64 %888))
(-.f64 %856 %855)
(-.f64 %856 %859)
(-.f64 %856 %863)
(-.f64 %867 (*.f64 #s(literal 1/2 binary64) %91))
(-.f64 %867 %866)
(-.f64 %867 %870)
(-.f64 %867 %874)
(-.f64 %873 (neg.f64 %918))
(-.f64 %873 %917)
(+.f64 %957 %898)
(+.f64 %886 %898)
(+.f64 %888 %898)
(+.f64 %862 %856)
(+.f64 %898 %884)
(+.f64 %898 %886)
(+.f64 %898 %888)
(+.f64 %856 %891)
(+.f64 %856 %893)
(+.f64 %856 %895)
(+.f64 %856 %862)
(+.f64 %867 %910)
(+.f64 %867 %873)
(+.f64 %873 %913)
(+.f64 %873 %915)
(+.f64 %873 %918)
(+.f64 %873 %867)

reconstruct46.0ms (1.6%)

Counts
885 → 249
Compiler

Compiled 885 to 1 546 computations (-74.7% saved)

eval23.0ms (0.8%)

Compiler

Compiled 244 to 1 301 computations (-433.2% saved)

prune4.0ms (0.2%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2377244
Fresh000
Picked101
Done000
Total2387245
Accuracy
100.0%
Counts
245 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (hypot.f64 (*.f64 (neg.f64 (fabs.f64 q)) #s(literal 2 binary64)) (neg.f64 (neg.f64 (fabs.f64 (-.f64 r p)))))))
58.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (approx (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 p r)))))))
45.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (approx (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))) (*.f64 #s(literal 2 binary64) q))))
39.0%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (approx (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))) (*.f64 #s(literal -1 binary64) p))))
12.6%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (approx (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))) (*.f64 #s(literal -2 binary64) q))))
40.8%
%22 = (-.f64 p r)
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (*.f64 %22 %22))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
1.1%
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))))) (*.f64 #s(literal -1 binary64) q))
Compiler

Compiled 7 to 47 computations (-571.4% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
(/ 1 2)
Outputs
#s(literal 1/2 binary64)
Samples
0.0ms0valid
Compiler

Compiled 5 to 5 computations (0.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total, 0.0 MiB)

series49.0ms (1.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
011759972
Stop Event
iter-limit
Counts
52 → 244
Calls
Call 1
Inputs
%2 = (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
%4 = (fabs.f64 p)
%6 = (fabs.f64 r)
%7 = (+.f64 %4 %6)
%8 = (-.f64 p r)
%14 = (*.f64 #s(literal -1 binary64) p)
%22 = (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2))))
%23 = (approx %22 %14)
%24 = (/.f64 p r)
%25 = (*.f64 #s(literal -1 binary64) %24)
%26 = (+.f64 #s(literal 1 binary64) %25)
%27 = (*.f64 r %26)
%28 = (approx %22 %27)
%29 = (*.f64 #s(literal 2 binary64) q)
%30 = (approx %22 %29)
%31 = (*.f64 #s(literal -2 binary64) q)
%32 = (approx %22 %31)
%33 = (*.f64 #s(literal -1 binary64) q)
%41 = (+.f64 %6 %4)
%42 = (-.f64 r p)
%43 = (fabs.f64 %42)
%44 = (neg.f64 %43)
%45 = (neg.f64 %44)
%46 = (*.f64 %8 %8)
%47 = (fabs.f64 q)
%48 = (neg.f64 %47)
%49 = (*.f64 q q)
%50 = (*.f64 %48 #s(literal 2 binary64))
%51 = (fma.f64 %49 #s(literal 4 binary64) %46)
%52 = (sqrt.f64 %51)
%53 = (hypot.f64 %50 %45)
%54 = (+.f64 %52 %41)
%56 = (+.f64 %7 %53)
%58 = (+.f64 %7 %23)
%60 = (+.f64 %7 %28)
%62 = (+.f64 %7 %30)
%64 = (+.f64 %7 %32)
#s(literal 1 binary64)
#s(literal 2 binary64)
%2
p
%4
r
%6
%7
%8
#s(literal 4 binary64)
q
#s(literal 1/2 binary64)
#s(literal -1 binary64)
#s(literal -2 binary64)
%14
%23
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) %22)) %33)
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
%54
(*.f64 %54 #s(literal 1/2 binary64))
%56
(*.f64 %2 %56)
%58
(*.f64 %2 %58)
%60
(*.f64 %2 %60)
%62
(*.f64 %2 %62)
%64
(*.f64 %2 %64)
Outputs
%5 = (fabs p)
%6 = (fabs.f64 p)
%9 = (fabs r)
%10 = (+ %5 %9)
%11 = (fabs.f64 r)
%12 = (+.f64 %6 %11)
%14 = (- p r)
%16 = (*.f64 #s(literal -1 binary64) r)
%18 = (-.f64 p r)
%22 = (*.f64 #s(literal -1 binary64) p)
%31 = (sqrt (+ (pow %14 2) (* 4 (pow q 2))))
%34 = (pow.f64 q #s(literal 2 binary64))
%35 = (pow.f64 r #s(literal 2 binary64))
%36 = (fma.f64 #s(literal 4 binary64) %34 %35)
%37 = (sqrt.f64 %36)
%39 = (*.f64 p r)
%40 = (/.f64 %39 %37)
%42 = (+.f64 %37 (*.f64 #s(literal -1 binary64) %40))
%44 = (/.f64 r %37)
%49 = (-.f64 #s(literal 1 binary64) (/.f64 %35 (pow.f64 %37 #s(literal 2 binary64))))
%51 = (/.f64 (*.f64 p %49) %37)
%55 = (+.f64 %37 (*.f64 p (fma.f64 #s(literal -1 binary64) %44 (*.f64 #s(literal 1/2 binary64) %51))))
%61 = (/.f64 (*.f64 p (*.f64 r %49)) (pow.f64 %37 #s(literal 3 binary64)))
%62 = (/.f64 %49 %37)
%68 = (+.f64 %37 (*.f64 p (fma.f64 #s(literal -1 binary64) %44 (*.f64 p (fma.f64 #s(literal 1/2 binary64) %61 (*.f64 #s(literal 1/2 binary64) %62))))))
%70 = (/ p r)
%71 = (/.f64 p r)
%73 = (* -1 %70)
%74 = (*.f64 #s(literal -1 binary64) %71)
%76 = (+ 1 %73)
%78 = (+.f64 #s(literal 1 binary64) %74)
%80 = (* r %76)
%82 = (+.f64 r %22)
%86 = (* 1/2 (+ %10 %31))
%88 = (+.f64 %6 (+.f64 %11 %37))
%89 = (*.f64 #s(literal 1/2 binary64) %88)
%107 = (- r p)
%108 = (fabs %107)
%109 = (-.f64 r p)
%110 = (fabs.f64 %109)
%112 = (neg %108)
%115 = (* %14 %14)
%122 = (fma.f64 p (+.f64 p (*.f64 #s(literal -2 binary64) r)) %35)
%124 = (* q q)
%126 = (+ (* %124 4) %115)
%132 = (fabs q)
%133 = (neg %132)
%134 = (* %133 2)
%136 = (neg %112)
%139 = (sqrt (+ (* %134 %134) (* %136 %136)))
%140 = (fabs.f64 q)
%141 = (pow.f64 %140 #s(literal 2 binary64))
%142 = (pow.f64 %110 #s(literal 2 binary64))
%144 = (sqrt.f64 (fma.f64 #s(literal 4 binary64) %141 %142))
%148 = (+ (sqrt %126) (+ %9 %5))
%159 = (+ %10 %139)
%161 = (+.f64 %6 (+.f64 %11 %144))
%163 = (* 1/2 %159)
%166 = (pow.f64 p #s(literal 2 binary64))
%167 = (/.f64 #s(literal 1 binary64) p)
%168 = (fabs.f64 %167)
%169 = (*.f64 %166 %168)
%171 = (/.f64 %11 %166)
%175 = (/.f64 r p)
%178 = (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %175)))
%180 = (/.f64 %34 %166)
%181 = (*.f64 #s(literal 2 binary64) %180)
%186 = (*.f64 %34 r)
%187 = (pow.f64 p #s(literal 3 binary64))
%194 = (/.f64 #s(literal 1 binary64) r)
%199 = (*.f64 p (-.f64 %175 #s(literal 1 binary64)))
%203 = (*.f64 #s(literal 1/2 binary64) %167)
%208 = (/.f64 (+.f64 %11 %16) %166)
%213 = (/.f64 %34 %187)
%226 = (/.f64 %35 %166)
%237 = (sqrt.f64 (pow.f64 %168 #s(literal 2 binary64)))
%240 = (pow.f64 p #s(literal 4 binary64))
%242 = (/.f64 %141 (*.f64 %240 %237))
%243 = (*.f64 #s(literal 2 binary64) %242)
%247 = (pow.f64 %140 #s(literal 4 binary64))
%249 = (pow.f64 p #s(literal 8 binary64))
%252 = (/.f64 %247 (*.f64 %249 (pow.f64 %237 #s(literal 3 binary64))))
%258 = (pow.f64 %140 #s(literal 6 binary64))
%260 = (pow.f64 p #s(literal 12 binary64))
%274 = (/.f64 r %166)
%275 = (+.f64 %167 %171)
%285 = (+.f64 %168 %237)
%286 = (*.f64 %166 %285)
%292 = (fma.f64 #s(literal 2 binary64) %242 %171)
%304 = (*.f64 #s(literal 1/2 binary64) %171)
%309 = (fma.f64 #s(literal 1/2 binary64) %285 (fma.f64 #s(literal 1/2 binary64) %171 %242))
%316 = (fabs.f64 (/.f64 #s(literal -1 binary64) p))
%317 = (*.f64 %166 %316)
%320 = (fma.f64 #s(literal -1 binary64) %316 %171)
%327 = (/.f64 %34 p)
%328 = (*.f64 #s(literal -2 binary64) %327)
%337 = (*.f64 #s(literal 2 binary64) %34)
%354 = (*.f64 #s(literal -1/2 binary64) %316)
%358 = (+.f64 r %11)
%359 = (/.f64 %358 p)
%377 = (*.f64 #s(literal 2 binary64) r)
%392 = (sqrt.f64 (pow.f64 %316 #s(literal 2 binary64)))
%396 = (/.f64 %141 (*.f64 %240 %392))
%397 = (*.f64 #s(literal 2 binary64) %396)
%403 = (/.f64 %247 (*.f64 %249 (pow.f64 %392 #s(literal 3 binary64))))
%417 = (*.f64 #s(literal -1 binary64) %316)
%438 = (+.f64 %392 %417)
%439 = (*.f64 %166 %438)
%445 = (fma.f64 #s(literal -1 binary64) %316 (fma.f64 #s(literal 2 binary64) %396 %171))
%459 = (fma.f64 #s(literal 1/2 binary64) %438 (fma.f64 #s(literal 1/2 binary64) %171 %396))
%468 = (fma.f64 #s(literal 4 binary64) %34 %166)
%469 = (sqrt.f64 %468)
%471 = (/.f64 %39 %469)
%473 = (+.f64 %469 (*.f64 #s(literal -1 binary64) %471))
%475 = (/.f64 p %469)
%478 = (-.f64 #s(literal 1 binary64) (/.f64 %166 (pow.f64 %469 #s(literal 2 binary64))))
%479 = (*.f64 r %478)
%480 = (/.f64 %479 %469)
%484 = (+.f64 %469 (*.f64 r (fma.f64 #s(literal -1 binary64) %475 (*.f64 #s(literal 1/2 binary64) %480))))
%488 = (/.f64 (*.f64 p %479) (pow.f64 %469 #s(literal 3 binary64)))
%489 = (/.f64 %478 %469)
%495 = (+.f64 %469 (*.f64 r (fma.f64 #s(literal -1 binary64) %475 (*.f64 r (fma.f64 #s(literal 1/2 binary64) %488 (*.f64 #s(literal 1/2 binary64) %489))))))
%500 = (+.f64 %6 (+.f64 %11 %469))
%501 = (*.f64 #s(literal 1/2 binary64) %500)
%522 = (fma.f64 r (+.f64 r (*.f64 #s(literal -2 binary64) p)) %166)
%539 = (fabs.f64 %194)
%540 = (*.f64 %35 %539)
%542 = (/.f64 %6 %35)
%547 = (*.f64 r (-.f64 %71 #s(literal 1 binary64)))
%549 = (*.f64 r %78)
%551 = (/.f64 %34 %35)
%552 = (*.f64 #s(literal 2 binary64) %551)
%557 = (*.f64 p %34)
%558 = (pow.f64 r #s(literal 3 binary64))
%567 = (*.f64 #s(literal 1/2 binary64) %194)
%572 = (/.f64 (+.f64 %6 %22) %35)
%577 = (/.f64 %34 %558)
%589 = (/.f64 %166 %35)
%600 = (sqrt.f64 (pow.f64 %539 #s(literal 2 binary64)))
%603 = (pow.f64 r #s(literal 4 binary64))
%605 = (/.f64 %141 (*.f64 %603 %600))
%606 = (*.f64 #s(literal 2 binary64) %605)
%610 = (pow.f64 r #s(literal 8 binary64))
%613 = (/.f64 %247 (*.f64 %610 (pow.f64 %600 #s(literal 3 binary64))))
%618 = (pow.f64 r #s(literal 12 binary64))
%631 = (/.f64 p %35)
%632 = (+.f64 %194 %542)
%642 = (+.f64 %539 %600)
%643 = (*.f64 %35 %642)
%649 = (fma.f64 #s(literal 2 binary64) %605 %542)
%661 = (*.f64 #s(literal 1/2 binary64) %542)
%666 = (fma.f64 #s(literal 1/2 binary64) %642 (fma.f64 #s(literal 1/2 binary64) %542 %605))
%673 = (fabs.f64 (/.f64 #s(literal -1 binary64) r))
%674 = (*.f64 %35 %673)
%677 = (fma.f64 #s(literal -1 binary64) %673 %542)
%682 = (/.f64 %34 r)
%683 = (*.f64 #s(literal -2 binary64) %682)
%706 = (*.f64 #s(literal -1/2 binary64) %673)
%710 = (+.f64 p %6)
%711 = (/.f64 %710 r)
%729 = (*.f64 #s(literal 2 binary64) p)
%744 = (sqrt.f64 (pow.f64 %673 #s(literal 2 binary64)))
%748 = (/.f64 %141 (*.f64 %603 %744))
%749 = (*.f64 #s(literal 2 binary64) %748)
%755 = (/.f64 %247 (*.f64 %610 (pow.f64 %744 #s(literal 3 binary64))))
%769 = (*.f64 #s(literal -1 binary64) %673)
%790 = (+.f64 %744 %769)
%791 = (*.f64 %35 %790)
%797 = (fma.f64 #s(literal -1 binary64) %673 (fma.f64 #s(literal 2 binary64) %748 %542))
%811 = (fma.f64 #s(literal 1/2 binary64) %790 (fma.f64 #s(literal 1/2 binary64) %542 %748))
%818 = (pow.f64 %18 #s(literal 2 binary64))
%819 = (sqrt.f64 %818)
%821 = (/.f64 %34 %819)
%823 = (+.f64 %819 (*.f64 #s(literal 2 binary64) %821))
%825 = (pow.f64 %819 #s(literal 3 binary64))
%826 = (/.f64 %34 %825)
%827 = (/.f64 #s(literal 1 binary64) %819)
%828 = (*.f64 #s(literal 2 binary64) %827)
%831 = (+.f64 %819 (*.f64 %34 (fma.f64 #s(literal -2 binary64) %826 %828)))
%834 = (/.f64 %34 (pow.f64 %819 #s(literal 5 binary64)))
%836 = (/.f64 #s(literal 1 binary64) %825)
%841 = (+.f64 %819 (*.f64 %34 (fma.f64 %34 (-.f64 (*.f64 #s(literal 4 binary64) %834) (*.f64 #s(literal 2 binary64) %836)) %828)))
%854 = (+.f64 %6 (+.f64 %11 %819))
%888 = (/.f64 %818 %34)
%889 = (*.f64 #s(literal 1/4 binary64) %888)
%891 = (*.f64 q (+.f64 #s(literal 2 binary64) %889))
%894 = (pow.f64 %18 #s(literal 4 binary64))
%895 = (pow.f64 q #s(literal 4 binary64))
%896 = (/.f64 %894 %895)
%899 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %896 %889)))
%908 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %896 (fma.f64 #s(literal 1/512 binary64) (/.f64 (pow.f64 %18 #s(literal 6 binary64)) (pow.f64 q #s(literal 6 binary64))) %889))))
%910 = (/.f64 %12 q)
%911 = (*.f64 #s(literal 1/2 binary64) %910)
%916 = (fma.f64 #s(literal 1/8 binary64) %888 %911)
%926 = (fabs.f64 (/.f64 #s(literal 1 binary64) q))
%927 = (*.f64 %34 %926)
%940 = (sqrt.f64 (*.f64 #s(literal 4 binary64) (pow.f64 %926 #s(literal 2 binary64))))
%941 = (*.f64 %34 %940)
%944 = (/.f64 %142 (*.f64 %895 %940))
%945 = (*.f64 #s(literal 1/2 binary64) %944)
%950 = (pow.f64 %110 #s(literal 4 binary64))
%951 = (pow.f64 q #s(literal 8 binary64))
%954 = (/.f64 %950 (*.f64 %951 (pow.f64 %940 #s(literal 3 binary64))))
%960 = (pow.f64 %110 #s(literal 6 binary64))
%961 = (pow.f64 q #s(literal 12 binary64))
%972 = (+.f64 (/.f64 %6 q) (/.f64 %11 q))
%976 = (fma.f64 #s(literal 1/4 binary64) %888 %972)
%986 = (+.f64 (/.f64 %6 %34) (/.f64 %11 %34))
%990 = (fma.f64 #s(literal 1/2 binary64) %944 %986)
%1001 = (*.f64 #s(literal 1/2 binary64) (/.f64 %12 %34))
%1002 = (fma.f64 #s(literal 1/2 binary64) %940 %1001)
%1005 = (fma.f64 #s(literal 1/4 binary64) %944 %1002)
%1023 = (/.f64 %818 q)
%1024 = (*.f64 #s(literal 1/2 binary64) %12)
%1032 = (/.f64 %894 %34)
%1044 = (fabs.f64 (/.f64 #s(literal -1 binary64) q))
%1045 = (*.f64 %34 %1044)
%1053 = (sqrt.f64 (*.f64 #s(literal 4 binary64) (pow.f64 %1044 #s(literal 2 binary64))))
%1054 = (*.f64 %34 %1053)
%1057 = (/.f64 %142 (*.f64 %895 %1053))
%1058 = (*.f64 #s(literal 1/2 binary64) %1057)
%1064 = (/.f64 %950 (*.f64 %951 (pow.f64 %1053 #s(literal 3 binary64))))
%1107 = (fma.f64 #s(literal 1/2 binary64) %1057 %986)
%1117 = (fma.f64 #s(literal 1/2 binary64) %1053 %1001)
%1120 = (fma.f64 #s(literal 1/4 binary64) %1057 %1117)
(approx 1 #s(literal 0 binary64))
(approx p p)
(approx %5 %6)
(approx %10 %12)
(approx %14 %16)
(approx %14 %18)
(approx (* -1 p) %22)
(approx %31 %37)
(approx %31 %42)
(approx %31 %55)
(approx %31 %68)
(approx %70 %71)
(approx %73 %74)
(approx %76 #s(literal 1 binary64))
(approx %76 %78)
(approx %80 r)
(approx %80 %82)
(approx %86 %89)
(approx %86 (fma.f64 #s(literal -1/2 binary64) %40 %89))
(approx %86 (fma.f64 #s(literal 1/2 binary64) %88 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %44 (*.f64 #s(literal 1/4 binary64) %51)))))
(approx %86 (fma.f64 #s(literal 1/2 binary64) %88 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %44 (*.f64 p (fma.f64 #s(literal 1/4 binary64) %61 (*.f64 #s(literal 1/4 binary64) %62)))))))
(approx %108 %110)
(approx %112 (*.f64 #s(literal -1 binary64) %110))
(approx %115 %35)
(approx %115 (fma.f64 #s(literal -2 binary64) %39 %35))
(approx %115 %122)
(approx %126 %36)
(approx %126 (fma.f64 #s(literal -2 binary64) %39 %36))
(approx %126 (fma.f64 #s(literal 4 binary64) %34 %122))
(approx %139 %144)
(approx %148 %88)
(approx %148 (+.f64 %6 (+.f64 %11 %42)))
(approx %148 (+.f64 %6 (+.f64 %11 %55)))
(approx %148 (+.f64 %6 (+.f64 %11 %68)))
(approx %159 %161)
(approx %163 (*.f64 #s(literal 1/2 binary64) %161))
(approx %5 %169)
(approx %10 (*.f64 %166 (+.f64 %168 %171)))
(approx %14 %178)
(approx %31 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %175 %181))))
(approx %31 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %175 (fma.f64 #s(literal 2 binary64) (/.f64 %186 %187) %181)))))
(approx %76 (*.f64 p (-.f64 %167 %194)))
(approx %80 %199)
(approx %86 (*.f64 #s(literal 1/2 binary64) %169))
(approx %86 (*.f64 %166 (fma.f64 #s(literal 1/2 binary64) %168 %203)))
(approx %86 (*.f64 %166 (fma.f64 #s(literal 1/2 binary64) %168 (fma.f64 #s(literal 1/2 binary64) %208 %203))))
(approx %86 (*.f64 %166 (fma.f64 #s(literal 1/2 binary64) %168 (fma.f64 #s(literal 1/2 binary64) %208 (fma.f64 #s(literal 1/2 binary64) %167 %213)))))
(approx %108 (*.f64 #s(literal -1 binary64) %169))
(approx %115 %166)
(approx %115 (*.f64 %166 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) %175))))
(approx %115 (*.f64 %166 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %175 %226))))
(approx %126 (*.f64 %166 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %175 (fma.f64 #s(literal 4 binary64) %180 %226)))))
(approx %139 (*.f64 %166 %237))
(approx %139 (*.f64 %166 (+.f64 %237 %243)))
(approx %139 (*.f64 %166 (+.f64 %237 (fma.f64 #s(literal -2 binary64) %252 %243))))
(approx %139 (*.f64 %166 (+.f64 %237 (fma.f64 #s(literal -2 binary64) %252 (fma.f64 #s(literal 2 binary64) %242 (*.f64 #s(literal 4 binary64) (/.f64 %258 (*.f64 %260 (pow.f64 %237 #s(literal 5 binary64))))))))))
(approx %148 (*.f64 %166 (+.f64 %168 %167)))
(approx %148 (*.f64 %166 (+.f64 %168 (fma.f64 #s(literal -1 binary64) %274 %275))))
(approx %148 (*.f64 %166 (+.f64 %168 (fma.f64 #s(literal -1 binary64) %274 (fma.f64 #s(literal 2 binary64) %213 %275)))))
(approx %159 %286)
(approx %159 (*.f64 %166 (+.f64 %168 (+.f64 %237 %171))))
(approx %159 (*.f64 %166 (+.f64 %168 (+.f64 %237 %292))))
(approx %159 (*.f64 %166 (+.f64 %168 (+.f64 %237 (fma.f64 #s(literal -2 binary64) %252 %292)))))
(approx %163 (*.f64 #s(literal 1/2 binary64) %286))
(approx %163 (*.f64 %166 (fma.f64 #s(literal 1/2 binary64) %285 %304)))
(approx %163 (*.f64 %166 %309))
(approx %163 (*.f64 %166 (fma.f64 #s(literal -1 binary64) %252 %309)))
(approx %5 (*.f64 #s(literal -1 binary64) %317))
(approx %10 (*.f64 %166 %320))
(approx %14 (*.f64 #s(literal -1 binary64) %199))
(approx %31 (*.f64 #s(literal -1 binary64) %178))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r %328) p))))))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %186 p) %337) p))) p))))))
(approx %76 (*.f64 #s(literal -1 binary64) (*.f64 p (-.f64 %194 %167))))
(approx %86 (*.f64 #s(literal -1/2 binary64) %317))
(approx %86 (*.f64 %166 (-.f64 %354 %203)))
(approx %86 (*.f64 %166 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %359)) p) %354)))
(approx %86 (*.f64 %166 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %327 (*.f64 #s(literal 1/2 binary64) %358)) p))) p) %354)))
(approx %108 %317)
(approx %115 (*.f64 %166 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %35 p) %377) p)))))
(approx %126 (*.f64 %166 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %36 p) %377) p)))))
(approx %139 (*.f64 %166 %392))
(approx %139 (*.f64 %166 (+.f64 %392 %397)))
(approx %139 (*.f64 %166 (+.f64 %392 (fma.f64 #s(literal -2 binary64) %403 %397))))
(approx %139 (*.f64 %166 (+.f64 %392 (fma.f64 #s(literal -2 binary64) %403 (fma.f64 #s(literal 2 binary64) %396 (*.f64 #s(literal 4 binary64) (/.f64 %258 (*.f64 %260 (pow.f64 %392 #s(literal 5 binary64))))))))))
(approx %148 (*.f64 %166 (-.f64 %417 %167)))
(approx %148 (*.f64 %166 (fma.f64 #s(literal -1 binary64) %316 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %359)) p)))))
(approx %148 (*.f64 %166 (fma.f64 #s(literal -1 binary64) %316 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (+.f64 %11 %328)) p))) p)))))
(approx %159 %439)
(approx %159 (*.f64 %166 (+.f64 %392 %320)))
(approx %159 (*.f64 %166 (+.f64 %392 %445)))
(approx %159 (*.f64 %166 (+.f64 %392 (fma.f64 #s(literal -2 binary64) %403 %445))))
(approx %163 (*.f64 #s(literal 1/2 binary64) %439))
(approx %163 (*.f64 %166 (fma.f64 #s(literal 1/2 binary64) %438 %304)))
(approx %163 (*.f64 %166 %459))
(approx %163 (*.f64 %166 (fma.f64 #s(literal -1 binary64) %403 %459)))
(approx %9 %11)
(approx %14 (+.f64 p %16))
(approx %31 %469)
(approx %31 %473)
(approx %31 %484)
(approx %31 %495)
(approx %76 (/.f64 %82 r))
(approx %86 %501)
(approx %86 (fma.f64 #s(literal -1/2 binary64) %471 %501))
(approx %86 (fma.f64 #s(literal 1/2 binary64) %500 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %475 (*.f64 #s(literal 1/4 binary64) %480)))))
(approx %86 (fma.f64 #s(literal 1/2 binary64) %500 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %475 (*.f64 r (fma.f64 #s(literal 1/4 binary64) %488 (*.f64 #s(literal 1/4 binary64) %489)))))))
(approx %107 %109)
(approx %115 (fma.f64 #s(literal -2 binary64) %39 %166))
(approx %115 %522)
(approx %126 %468)
(approx %126 (fma.f64 #s(literal -2 binary64) %39 %468))
(approx %126 (fma.f64 #s(literal 4 binary64) %34 %522))
(approx %148 %500)
(approx %148 (+.f64 %6 (+.f64 %11 %473)))
(approx %148 (+.f64 %6 (+.f64 %11 %484)))
(approx %148 (+.f64 %6 (+.f64 %11 %495)))
(approx %9 %540)
(approx %10 (*.f64 %35 (+.f64 %539 %542)))
(approx %14 %547)
(approx %31 %549)
(approx %31 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %71 %552))))
(approx %31 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %71 (fma.f64 #s(literal 2 binary64) (/.f64 %557 %558) %552)))))
(approx %86 (*.f64 #s(literal 1/2 binary64) %540))
(approx %86 (*.f64 %35 (fma.f64 #s(literal 1/2 binary64) %539 %567)))
(approx %86 (*.f64 %35 (fma.f64 #s(literal 1/2 binary64) %539 (fma.f64 #s(literal 1/2 binary64) %572 %567))))
(approx %86 (*.f64 %35 (fma.f64 #s(literal 1/2 binary64) %539 (fma.f64 #s(literal 1/2 binary64) %572 (fma.f64 #s(literal 1/2 binary64) %194 %577)))))
(approx %112 (*.f64 #s(literal -1 binary64) %540))
(approx %115 (*.f64 %35 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) %71))))
(approx %115 (*.f64 %35 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %71 %589))))
(approx %126 (*.f64 %35 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -2 binary64) %71 (fma.f64 #s(literal 4 binary64) %551 %589)))))
(approx %139 (*.f64 %35 %600))
(approx %139 (*.f64 %35 (+.f64 %600 %606)))
(approx %139 (*.f64 %35 (+.f64 %600 (fma.f64 #s(literal -2 binary64) %613 %606))))
(approx %139 (*.f64 %35 (+.f64 %600 (fma.f64 #s(literal -2 binary64) %613 (fma.f64 #s(literal 2 binary64) %605 (*.f64 #s(literal 4 binary64) (/.f64 %258 (*.f64 %618 (pow.f64 %600 #s(literal 5 binary64))))))))))
(approx %148 (*.f64 %35 (+.f64 %539 %194)))
(approx %148 (*.f64 %35 (+.f64 %539 (fma.f64 #s(literal -1 binary64) %631 %632))))
(approx %148 (*.f64 %35 (+.f64 %539 (fma.f64 #s(literal -1 binary64) %631 (fma.f64 #s(literal 2 binary64) %577 %632)))))
(approx %159 %643)
(approx %159 (*.f64 %35 (+.f64 %539 (+.f64 %600 %542))))
(approx %159 (*.f64 %35 (+.f64 %539 (+.f64 %600 %649))))
(approx %159 (*.f64 %35 (+.f64 %539 (+.f64 %600 (fma.f64 #s(literal -2 binary64) %613 %649)))))
(approx %163 (*.f64 #s(literal 1/2 binary64) %643))
(approx %163 (*.f64 %35 (fma.f64 #s(literal 1/2 binary64) %642 %661)))
(approx %163 (*.f64 %35 %666))
(approx %163 (*.f64 %35 (fma.f64 #s(literal -1 binary64) %613 %666)))
(approx %9 (*.f64 #s(literal -1 binary64) %674))
(approx %10 (*.f64 %35 %677))
(approx %14 (*.f64 #s(literal -1 binary64) %549))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p %683) r))))))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %557 r) %337) r))) r))))))
(approx %80 (*.f64 #s(literal -1 binary64) %547))
(approx %86 (*.f64 #s(literal -1/2 binary64) %674))
(approx %86 (*.f64 %35 (-.f64 %706 %567)))
(approx %86 (*.f64 %35 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %711)) r) %706)))
(approx %86 (*.f64 %35 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %682 (*.f64 #s(literal 1/2 binary64) %710)) r))) r) %706)))
(approx %112 %674)
(approx %115 (*.f64 %35 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %166 r) %729) r)))))
(approx %126 (*.f64 %35 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 %468 r) %729) r)))))
(approx %139 (*.f64 %35 %744))
(approx %139 (*.f64 %35 (+.f64 %744 %749)))
(approx %139 (*.f64 %35 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %755 %749))))
(approx %139 (*.f64 %35 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %755 (fma.f64 #s(literal 2 binary64) %748 (*.f64 #s(literal 4 binary64) (/.f64 %258 (*.f64 %618 (pow.f64 %744 #s(literal 5 binary64))))))))))
(approx %148 (*.f64 %35 (-.f64 %769 %194)))
(approx %148 (*.f64 %35 (fma.f64 #s(literal -1 binary64) %673 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %711)) r)))))
(approx %148 (*.f64 %35 (fma.f64 #s(literal -1 binary64) %673 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (+.f64 %6 %683)) r))) r)))))
(approx %159 %791)
(approx %159 (*.f64 %35 (+.f64 %744 %677)))
(approx %159 (*.f64 %35 (+.f64 %744 %797)))
(approx %159 (*.f64 %35 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %755 %797))))
(approx %163 (*.f64 #s(literal 1/2 binary64) %791))
(approx %163 (*.f64 %35 (fma.f64 #s(literal 1/2 binary64) %790 %661)))
(approx %163 (*.f64 %35 %811))
(approx %163 (*.f64 %35 (fma.f64 #s(literal -1 binary64) %755 %811)))
(approx q q)
(approx %31 %819)
(approx %31 %823)
(approx %31 %831)
(approx %31 %841)
(approx (* 2 q) (*.f64 #s(literal 2 binary64) q))
(approx (* -2 q) (*.f64 #s(literal -2 binary64) q))
(approx (* -1 q) (*.f64 #s(literal -1 binary64) q))
(approx %86 (*.f64 #s(literal 1/2 binary64) %854))
(approx %86 (fma.f64 #s(literal 1/2 binary64) %854 %821))
(approx %86 (fma.f64 #s(literal 1/2 binary64) %854 (*.f64 %34 (fma.f64 #s(literal -1 binary64) %826 %827))))
(approx %86 (fma.f64 #s(literal 1/2 binary64) %854 (*.f64 %34 (fma.f64 %34 (-.f64 (*.f64 #s(literal 2 binary64) %834) %836) %827))))
(approx %132 %140)
(approx %133 (*.f64 #s(literal -1 binary64) %140))
(approx %124 %34)
(approx %134 (*.f64 #s(literal -2 binary64) %140))
(approx %126 %818)
(approx %126 (fma.f64 #s(literal 4 binary64) %34 %818))
(approx %148 %854)
(approx %148 (+.f64 %6 (+.f64 %11 %823)))
(approx %148 (+.f64 %6 (+.f64 %11 %831)))
(approx %148 (+.f64 %6 (+.f64 %11 %841)))
(approx %31 %891)
(approx %31 %899)
(approx %31 %908)
(approx %86 (*.f64 q (+.f64 #s(literal 1 binary64) %911)))
(approx %86 (*.f64 q (+.f64 #s(literal 1 binary64) %916)))
(approx %86 (*.f64 q (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/128 binary64) %896 %916))))
(approx %132 %927)
(approx %133 (*.f64 #s(literal -1 binary64) %927))
(approx %134 (*.f64 #s(literal -2 binary64) %927))
(approx %126 (*.f64 #s(literal 4 binary64) %34))
(approx %126 (*.f64 %34 (+.f64 #s(literal 4 binary64) %888)))
(approx %139 %941)
(approx %139 (*.f64 %34 (+.f64 %940 %945)))
(approx %139 (*.f64 %34 (+.f64 %940 (fma.f64 #s(literal -1/8 binary64) %954 %945))))
(approx %139 (*.f64 %34 (+.f64 %940 (fma.f64 #s(literal -1/8 binary64) %954 (fma.f64 #s(literal 1/16 binary64) (/.f64 %960 (*.f64 %961 (pow.f64 %940 #s(literal 5 binary64)))) %945)))))
(approx %148 (*.f64 q (+.f64 #s(literal 2 binary64) %972)))
(approx %148 (*.f64 q (+.f64 #s(literal 2 binary64) %976)))
(approx %148 (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %896 %976))))
(approx %159 (*.f64 %34 (+.f64 %940 %986)))
(approx %159 (*.f64 %34 (+.f64 %940 %990)))
(approx %159 (*.f64 %34 (+.f64 %940 (fma.f64 #s(literal -1/8 binary64) %954 %990))))
(approx %163 (*.f64 #s(literal 1/2 binary64) %941))
(approx %163 (*.f64 %34 %1002))
(approx %163 (*.f64 %34 %1005))
(approx %163 (*.f64 %34 (fma.f64 #s(literal -1/16 binary64) %954 %1005)))
(approx %31 (*.f64 #s(literal -1 binary64) %891))
(approx %31 (*.f64 #s(literal -1 binary64) %899))
(approx %31 (*.f64 #s(literal -1 binary64) %908))
(approx %86 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) %910)))))
(approx %86 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) %1023 %1024) q))))))
(approx %86 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/128 binary64) %1032 (*.f64 #s(literal 1/8 binary64) %818)) q) %1024) q))))))
(approx %132 (*.f64 #s(literal -1 binary64) %1045))
(approx %133 %1045)
(approx %134 (*.f64 #s(literal 2 binary64) %1045))
(approx %139 %1054)
(approx %139 (*.f64 %34 (+.f64 %1053 %1058)))
(approx %139 (*.f64 %34 (+.f64 %1053 (fma.f64 #s(literal -1/8 binary64) %1064 %1058))))
(approx %139 (*.f64 %34 (+.f64 %1053 (fma.f64 #s(literal -1/8 binary64) %1064 (fma.f64 #s(literal 1/16 binary64) (/.f64 %960 (*.f64 %961 (pow.f64 %1053 #s(literal 5 binary64)))) %1058)))))
(approx %148 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) %910)))))
(approx %148 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %11 (*.f64 #s(literal -1/4 binary64) %1023))) q))))))
(approx %148 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %11 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/64 binary64) %1032 (*.f64 #s(literal 1/4 binary64) %818)) q)))) q))))))
(approx %159 (*.f64 %34 (+.f64 %1053 %986)))
(approx %159 (*.f64 %34 (+.f64 %1053 %1107)))
(approx %159 (*.f64 %34 (+.f64 %1053 (fma.f64 #s(literal -1/8 binary64) %1064 %1107))))
(approx %163 (*.f64 #s(literal 1/2 binary64) %1054))
(approx %163 (*.f64 %34 %1117))
(approx %163 (*.f64 %34 %1120))
(approx %163 (*.f64 %34 (fma.f64 #s(literal -1/16 binary64) %1064 %1120)))
Calls

9 calls:

TimeVariablePoint
3.0ms
p
inf
3.0ms
q
-inf
2.0ms
q
inf
2.0ms
r
inf
2.0ms
r
-inf

rewrite85.0ms (3.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
063506
0107471
1370406
21277406
04140406
04371367
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
52 → 1 483
Calls
Call 1
Inputs
%2 = (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
%4 = (fabs.f64 p)
%6 = (fabs.f64 r)
%7 = (+.f64 %4 %6)
%8 = (-.f64 p r)
%14 = (*.f64 #s(literal -1 binary64) p)
%22 = (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2))))
%23 = (approx %22 %14)
%24 = (/.f64 p r)
%25 = (*.f64 #s(literal -1 binary64) %24)
%26 = (+.f64 #s(literal 1 binary64) %25)
%27 = (*.f64 r %26)
%28 = (approx %22 %27)
%29 = (*.f64 #s(literal 2 binary64) q)
%30 = (approx %22 %29)
%31 = (*.f64 #s(literal -2 binary64) q)
%32 = (approx %22 %31)
%33 = (*.f64 #s(literal -1 binary64) q)
%41 = (+.f64 %6 %4)
%42 = (-.f64 r p)
%43 = (fabs.f64 %42)
%44 = (neg.f64 %43)
%45 = (neg.f64 %44)
%46 = (*.f64 %8 %8)
%47 = (fabs.f64 q)
%48 = (neg.f64 %47)
%49 = (*.f64 q q)
%50 = (*.f64 %48 #s(literal 2 binary64))
%51 = (fma.f64 %49 #s(literal 4 binary64) %46)
%52 = (sqrt.f64 %51)
%53 = (hypot.f64 %50 %45)
%54 = (+.f64 %52 %41)
%56 = (+.f64 %7 %53)
%58 = (+.f64 %7 %23)
%60 = (+.f64 %7 %28)
%62 = (+.f64 %7 %30)
%64 = (+.f64 %7 %32)
#s(literal 1 binary64)
#s(literal 2 binary64)
%2
p
%4
r
%6
%7
%8
#s(literal 4 binary64)
q
#s(literal 1/2 binary64)
#s(literal -1 binary64)
#s(literal -2 binary64)
%14
%23
%24
%25
%26
%27
%28
%29
%30
%31
%32
%33
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) %22)) %33)
%41
%42
%43
%44
%45
%46
%47
%48
%49
%50
%51
%52
%53
%54
(*.f64 %54 #s(literal 1/2 binary64))
%56
(*.f64 %2 %56)
%58
(*.f64 %2 %58)
%60
(*.f64 %2 %60)
%62
(*.f64 %2 %62)
%64
(*.f64 %2 %64)
Outputs
%4 = (fabs.f64 p)
%5 = (sqrt.f64 %4)
%7 = (*.f64 %5 #s(literal -1 binary64))
%9 = (*.f64 #s(literal -1 binary64) %5)
%11 = (neg.f64 %5)
%17 = (*.f64 p p)
%22 = (*.f64 %4 #s(literal -1 binary64))
%24 = (*.f64 #s(literal -1 binary64) %4)
%27 = (neg.f64 p)
%28 = (neg.f64 %27)
%29 = (*.f64 %28 #s(literal -1 binary64))
%42 = (neg.f64 %4)
%47 = (fabs.f64 r)
%48 = (sqrt.f64 %47)
%49 = (neg.f64 %48)
%51 = (*.f64 r #s(literal 2 binary64))
%52 = (fabs.f64 %51)
%56 = (*.f64 #s(literal 1/2 binary64) r)
%57 = (fabs.f64 %56)
%61 = (*.f64 r r)
%67 = (neg.f64 %47)
%69 = (neg.f64 r)
%72 = (+.f64 %47 %4)
%73 = (pow.f64 %72 #s(literal 1 binary64))
%75 = (-.f64 r p)
%78 = (/.f64 (*.f64 (+.f64 r p) %75) (-.f64 %47 %4))
%80 = (-.f64 p r)
%83 = (/.f64 (*.f64 (+.f64 p r) %80) (-.f64 %4 %47))
%85 = (/.f64 #s(literal 1 binary64) (pow.f64 %72 #s(literal -1 binary64)))
%86 = (neg.f64 %72)
%87 = (neg.f64 %86)
%88 = (neg.f64 %67)
%89 = (fma.f64 %7 %7 %88)
%90 = (fma.f64 %7 %7 %47)
%91 = (fma.f64 %9 %9 %88)
%92 = (fma.f64 %9 %9 %47)
%93 = (neg.f64 %42)
%94 = (fma.f64 %49 %49 %93)
%95 = (fma.f64 %49 %49 %4)
%96 = (fma.f64 %11 %11 %88)
%97 = (fma.f64 %11 %11 %47)
%98 = (fma.f64 %52 #s(literal 1/2 binary64) %93)
%99 = (fma.f64 %52 #s(literal 1/2 binary64) %4)
%100 = (fma.f64 %48 %48 %93)
%101 = (fma.f64 %48 %48 %4)
%102 = (fma.f64 %5 %5 %88)
%103 = (fma.f64 %5 %5 %47)
%104 = (fma.f64 %47 #s(literal 1 binary64) %93)
%105 = (fma.f64 %47 #s(literal 1 binary64) %4)
%106 = (fma.f64 %4 #s(literal 1 binary64) %88)
%107 = (fma.f64 %4 #s(literal 1 binary64) %47)
%108 = (fma.f64 #s(literal 2 binary64) %57 %93)
%109 = (fma.f64 #s(literal 2 binary64) %57 %4)
%110 = (fma.f64 #s(literal 1 binary64) %47 %93)
%111 = (fma.f64 #s(literal 1 binary64) %47 %4)
%112 = (fma.f64 #s(literal 1 binary64) %4 %88)
%113 = (fma.f64 #s(literal 1 binary64) %4 %47)
%114 = (*.f64 %11 %5)
%115 = (-.f64 %47 %114)
%116 = (*.f64 %42 #s(literal 1 binary64))
%117 = (-.f64 %47 %116)
%119 = (-.f64 %47 (neg.f64 %93))
%120 = (-.f64 %47 %24)
%121 = (-.f64 %47 %42)
%122 = (*.f64 %49 %48)
%123 = (-.f64 %4 %122)
%125 = (-.f64 %4 (neg.f64 %88))
%126 = (-.f64 %4 %67)
%127 = (+.f64 %93 %88)
%128 = (+.f64 %88 %93)
%129 = (+.f64 %47 %93)
%130 = (+.f64 %4 %88)
%131 = (+.f64 %4 %47)
%136 = (/.f64 p r)
%137 = (neg.f64 %136)
%142 = (*.f64 %136 r)
%161 = (*.f64 (neg.f64 %51) #s(literal 1/2 binary64))
%163 = (*.f64 %69 #s(literal 1 binary64))
%166 = (*.f64 #s(literal -2 binary64) %56)
%185 = (sqrt (- (pow (- r p) 2) (* -4 (pow q 2))))
%186 = (approx %185 %27)
%190 = (/.f64 p %51)
%192 = (/.f64 p #s(literal 2 binary64))
%196 = (/.f64 p #s(literal 1/2 binary64))
%198 = (/.f64 p #s(literal 1 binary64))
%199 = (/.f64 #s(literal 1 binary64) r)
%204 = (/.f64 #s(literal -1 binary64) r)
%210 = (/.f64 p %56)
%212 = (*.f64 #s(literal 1/2 binary64) %136)
%216 = (*.f64 %28 #s(literal 2 binary64))
%218 = (*.f64 %27 #s(literal 2 binary64))
%219 = (*.f64 %69 #s(literal 2 binary64))
%221 = (*.f64 p #s(literal 2 binary64))
%223 = (*.f64 #s(literal 2 binary64) %28)
%224 = (*.f64 #s(literal 2 binary64) r)
%226 = (*.f64 #s(literal 2 binary64) %27)
%227 = (*.f64 #s(literal 2 binary64) %69)
%229 = (*.f64 #s(literal 2 binary64) p)
%241 = (*.f64 %204 p)
%243 = (*.f64 %137 #s(literal 1 binary64))
%245 = (*.f64 #s(literal 1 binary64) %137)
%247 = (*.f64 #s(literal -2 binary64) %212)
%250 = (/.f64 #s(literal -1 binary64) %51)
%253 = (/.f64 #s(literal -1 binary64) %56)
%276 = (/.f64 %75 r)
%278 = (/.f64 r #s(literal 1/2 binary64))
%281 = (/.f64 r %56)
%283 = (/.f64 %276 #s(literal 1 binary64))
%284 = (/.f64 r r)
%286 = (/.f64 %276 r)
%287 = (/.f64 r #s(literal 1 binary64))
%289 = (/.f64 r %51)
%292 = (/.f64 r #s(literal 2 binary64))
%345 = (/.f64 %80 r)
%369 = (/.f64 %142 r)
%375 = (*.f64 %69 %136)
%376 = (/.f64 %375 r)
%388 = (*.f64 %276 r)
%389 = (*.f64 r %276)
%390 = (pow.f64 %75 #s(literal 1 binary64))
%391 = (*.f64 %27 r)
%393 = (/.f64 (fma.f64 r r %391) r)
%395 = (/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -1 binary64)))
%397 = (neg.f64 (*.f64 %345 r))
%399 = (neg.f64 (*.f64 %69 %276))
%401 = (neg.f64 (*.f64 %276 %69))
%403 = (neg.f64 (*.f64 r %345))
%404 = (neg.f64 %80)
%406 = (fma.f64 %289 (/.f64 %27 #s(literal 1/2 binary64)) r)
%408 = (fma.f64 %292 (/.f64 %27 %56) r)
%410 = (fma.f64 (/.f64 %27 %51) %278 r)
%411 = (fma.f64 %287 %137 r)
%413 = (fma.f64 (/.f64 %27 #s(literal 2 binary64)) %281 r)
%414 = (/.f64 %27 #s(literal 1 binary64))
%415 = (fma.f64 %414 %284 r)
%416 = (fma.f64 %284 %414 r)
%417 = (fma.f64 %391 %199 r)
%418 = (fma.f64 %142 #s(literal -1 binary64) r)
%419 = (fma.f64 %69 %136 r)
%420 = (fma.f64 %137 %287 r)
%421 = (fma.f64 %137 r r)
%422 = (fma.f64 %136 %69 r)
%423 = (fma.f64 #s(literal -1 binary64) %142 r)
%424 = (fma.f64 #s(literal -1 binary64) p r)
%425 = (fma.f64 r %137 r)
%426 = (fma.f64 p #s(literal -1 binary64) r)
%427 = (fma.f64 #s(literal 1 binary64) %27 r)
%428 = (-.f64 %375 %161)
%429 = (-.f64 %375 %163)
%430 = (-.f64 %375 %166)
%431 = (-.f64 %375 %69)
%432 = (-.f64 %27 %161)
%433 = (-.f64 %27 %163)
%434 = (-.f64 %27 %166)
%435 = (-.f64 %27 %69)
%437 = (-.f64 r (*.f64 #s(literal 1 binary64) %142))
%439 = (-.f64 r (*.f64 %375 #s(literal -1 binary64)))
%441 = (-.f64 r (*.f64 %137 %69))
%442 = (-.f64 r %142)
%443 = (-.f64 r %28)
%444 = (+.f64 %375 r)
%445 = (+.f64 %27 r)
%446 = (+.f64 r %29)
%447 = (+.f64 r %375)
%448 = (+.f64 r %27)
%449 = (approx %185 %75)
%455 = (+.f64 q q)
%459 = (neg.f64 q)
%462 = (*.f64 #s(literal -2 binary64) q)
%464 = (neg.f64 %459)
%469 = (*.f64 %459 #s(literal 1 binary64))
%475 = (approx %185 %455)
%485 = (*.f64 %459 #s(literal -2 binary64))
%487 = (*.f64 #s(literal -2 binary64) %459)
%490 = (approx %185 %462)
%506 = (approx (* (+ %185 (+ (fabs r) (fabs p))) 1/2) %459)
%510 = (fabs.f64 %75)
%511 = (sqrt.f64 %510)
%512 = (neg.f64 %511)
%513 = (*.f64 %512 %512)
%514 = (fabs.f64 %276)
%515 = (*.f64 %514 %47)
%516 = (*.f64 %511 %511)
%517 = (*.f64 %47 %514)
%518 = (*.f64 %75 %80)
%519 = (*.f64 %518 %518)
%521 = (pow.f64 %519 #s(literal 1/4 binary64))
%522 = (pow.f64 %511 #s(literal 2 binary64))
%523 = (*.f64 %75 %75)
%524 = (pow.f64 %523 #s(literal 1/2 binary64))
%525 = (pow.f64 %510 #s(literal 1 binary64))
%527 = (/.f64 #s(literal 1 binary64) (pow.f64 %510 #s(literal -1 binary64)))
%528 = (neg.f64 %510)
%529 = (neg.f64 %528)
%530 = (sqrt.f64 %523)
%531 = (fabs.f64 %510)
%532 = (fabs.f64 %528)
%533 = (fabs.f64 %80)
%537 = (*.f64 %276 %276)
%561 = (*.f64 r p)
%563 = (fma.f64 p p (*.f64 #s(literal -2 binary64) %561))
%565 = (*.f64 %561 #s(literal 2 binary64))
%566 = (-.f64 %565 %61)
%567 = (neg.f64 %566)
%574 = (*.f64 p %80)
%577 = (*.f64 r %75)
%579 = (*.f64 %75 r)
%581 = (*.f64 %80 p)
%609 = (*.f64 #s(literal 2 binary64) %391)
%610 = (fma.f64 p p %609)
%611 = (neg.f64 %61)
%613 = (*.f64 %67 %47)
%615 = (*.f64 %69 r)
%617 = (*.f64 r %69)
%642 = (pow.f64 %375 #s(literal 2 binary64))
%656 = (pow.f64 %28 #s(literal 2 binary64))
%683 = (fabs.f64 q)
%684 = (sqrt.f64 %683)
%685 = (*.f64 %684 #s(literal -1 binary64))
%687 = (*.f64 #s(literal -1 binary64) %684)
%689 = (neg.f64 %684)
%694 = (*.f64 q q)
%695 = (*.f64 %694 %694)
%702 = (*.f64 %683 #s(literal -1 binary64))
%704 = (*.f64 #s(literal -1 binary64) %683)
%707 = (*.f64 %464 #s(literal -1 binary64))
%709 = (*.f64 %464 #s(literal 1 binary64))
%713 = (*.f64 #s(literal -1 binary64) %464)
%716 = (*.f64 #s(literal 1 binary64) %464)
%718 = (*.f64 #s(literal 1 binary64) %459)
%720 = (neg.f64 %683)
%721 = (neg.f64 %720)
%732 = (*.f64 %720 #s(literal -1 binary64))
%734 = (*.f64 #s(literal -1 binary64) %720)
%736 = (*.f64 %721 #s(literal -1 binary64))
%738 = (*.f64 %721 #s(literal 1 binary64))
%741 = (*.f64 #s(literal -1 binary64) %721)
%744 = (*.f64 #s(literal 1 binary64) %721)
%746 = (neg.f64 %721)
%756 = (*.f64 %459 q)
%786 = (*.f64 %756 #s(literal 1 binary64))
%788 = (*.f64 #s(literal 1 binary64) %756)
%794 = (*.f64 %694 #s(literal -1 binary64))
%796 = (*.f64 %464 %459)
%798 = (*.f64 %459 %464)
%800 = (*.f64 #s(literal -1 binary64) %694)
%825 = (*.f64 %683 #s(literal -2 binary64))
%830 = (fabs.f64 %455)
%839 = (fma.f64 %694 #s(literal 4 binary64) %523)
%840 = (sqrt.f64 %839)
%841 = (neg.f64 %840)
%844 = (*.f64 %839 %839)
%851 = (*.f64 #s(literal -4 binary64) %683)
%854 = (*.f64 %683 %851)
%859 = (*.f64 #s(literal -4 binary64) %756)
%861 = (*.f64 %756 #s(literal -4 binary64))
%863 = (*.f64 %746 %851)
%865 = (*.f64 q #s(literal 4 binary64))
%866 = (*.f64 %464 %865)
%868 = (*.f64 %694 #s(literal 4 binary64))
%870 = (*.f64 %721 #s(literal -2 binary64))
%872 = (*.f64 %464 #s(literal -2 binary64))
%875 = (*.f64 #s(literal -2 binary64) %721)
%877 = (*.f64 #s(literal -2 binary64) %464)
%880 = (*.f64 #s(literal -2 binary64) %683)
%882 = (*.f64 %464 #s(literal 2 binary64))
%884 = (*.f64 #s(literal 2 binary64) %464)
%886 = (*.f64 #s(literal -4 binary64) q)
%887 = (fabs.f64 %886)
%889 = (*.f64 #s(literal 4 binary64) %683)
%892 = (fabs.f64 %851)
%894 = (fabs.f64 %865)
%897 = (*.f64 %694 #s(literal 2 binary64))
%901 = (*.f64 #s(literal 2 binary64) %694)
%913 = (*.f64 %720 #s(literal 4 binary64))
%920 = (*.f64 %683 #s(literal 4 binary64))
%949 = (fma.f64 %865 q %563)
%954 = (fma.f64 r r %868)
%994 = (sqrt.f64 %840)
%995 = (*.f64 %994 %994)
%996 = (pow.f64 %839 #s(literal 1/2 binary64))
%997 = (pow.f64 %840 #s(literal 1 binary64))
%999 = (/.f64 #s(literal 1 binary64) (pow.f64 %840 #s(literal -1 binary64)))
%1000 = (neg.f64 %841)
%1001 = (fabs.f64 %1000)
%1002 = (fabs.f64 %841)
%1003 = (fabs.f64 %840)
%1004 = (hypot.f64 %870 %510)
%1005 = (hypot.f64 %870 %528)
%1006 = (hypot.f64 %870 %75)
%1007 = (hypot.f64 %870 %80)
%1008 = (hypot.f64 %872 %510)
%1009 = (hypot.f64 %872 %528)
%1010 = (hypot.f64 %872 %75)
%1011 = (hypot.f64 %872 %80)
%1012 = (hypot.f64 %485 %510)
%1013 = (hypot.f64 %485 %528)
%1014 = (hypot.f64 %485 %75)
%1015 = (hypot.f64 %485 %80)
%1016 = (hypot.f64 %875 %510)
%1017 = (hypot.f64 %875 %528)
%1018 = (hypot.f64 %875 %75)
%1019 = (hypot.f64 %875 %80)
%1020 = (hypot.f64 %877 %510)
%1021 = (hypot.f64 %877 %528)
%1022 = (hypot.f64 %877 %75)
%1023 = (hypot.f64 %877 %80)
%1024 = (hypot.f64 %487 %510)
%1025 = (hypot.f64 %487 %528)
%1026 = (hypot.f64 %487 %75)
%1027 = (hypot.f64 %487 %80)
%1028 = (hypot.f64 %880 %510)
%1029 = (hypot.f64 %880 %528)
%1030 = (hypot.f64 %880 %75)
%1031 = (hypot.f64 %880 %80)
%1032 = (hypot.f64 %882 %510)
%1033 = (hypot.f64 %882 %528)
%1034 = (hypot.f64 %882 %75)
%1035 = (hypot.f64 %882 %80)
%1036 = (hypot.f64 %884 %510)
%1037 = (hypot.f64 %884 %528)
%1038 = (hypot.f64 %884 %75)
%1039 = (hypot.f64 %884 %80)
%1040 = (hypot.f64 %462 %510)
%1041 = (hypot.f64 %462 %528)
%1042 = (hypot.f64 %462 %75)
%1043 = (hypot.f64 %462 %80)
%1044 = (hypot.f64 %830 %510)
%1045 = (hypot.f64 %830 %528)
%1046 = (hypot.f64 %830 %75)
%1047 = (hypot.f64 %830 %80)
%1048 = (hypot.f64 %825 %510)
%1049 = (hypot.f64 %825 %528)
%1050 = (hypot.f64 %825 %75)
%1051 = (hypot.f64 %825 %80)
%1052 = (hypot.f64 %510 %870)
%1053 = (hypot.f64 %510 %872)
%1054 = (hypot.f64 %510 %485)
%1055 = (hypot.f64 %510 %875)
%1056 = (hypot.f64 %510 %877)
%1057 = (hypot.f64 %510 %487)
%1058 = (hypot.f64 %510 %880)
%1059 = (hypot.f64 %510 %882)
%1060 = (hypot.f64 %510 %884)
%1061 = (hypot.f64 %510 %462)
%1062 = (hypot.f64 %510 %830)
%1063 = (hypot.f64 %510 %825)
%1064 = (hypot.f64 %510 %455)
%1065 = (hypot.f64 %528 %870)
%1066 = (hypot.f64 %528 %872)
%1067 = (hypot.f64 %528 %485)
%1068 = (hypot.f64 %528 %875)
%1069 = (hypot.f64 %528 %877)
%1070 = (hypot.f64 %528 %487)
%1071 = (hypot.f64 %528 %880)
%1072 = (hypot.f64 %528 %882)
%1073 = (hypot.f64 %528 %884)
%1074 = (hypot.f64 %528 %462)
%1075 = (hypot.f64 %528 %830)
%1076 = (hypot.f64 %528 %825)
%1077 = (hypot.f64 %528 %455)
%1078 = (hypot.f64 %75 %870)
%1079 = (hypot.f64 %75 %872)
%1080 = (hypot.f64 %75 %485)
%1081 = (hypot.f64 %75 %875)
%1082 = (hypot.f64 %75 %877)
%1083 = (hypot.f64 %75 %487)
%1084 = (hypot.f64 %75 %880)
%1085 = (hypot.f64 %75 %882)
%1086 = (hypot.f64 %75 %884)
%1087 = (hypot.f64 %75 %462)
%1088 = (hypot.f64 %75 %830)
%1089 = (hypot.f64 %75 %825)
%1090 = (hypot.f64 %75 %455)
%1091 = (hypot.f64 %455 %510)
%1092 = (hypot.f64 %455 %528)
%1093 = (hypot.f64 %455 %75)
%1094 = (hypot.f64 %455 %80)
%1095 = (hypot.f64 %80 %870)
%1096 = (hypot.f64 %80 %872)
%1097 = (hypot.f64 %80 %485)
%1098 = (hypot.f64 %80 %875)
%1099 = (hypot.f64 %80 %877)
%1100 = (hypot.f64 %80 %487)
%1101 = (hypot.f64 %80 %880)
%1102 = (hypot.f64 %80 %882)
%1103 = (hypot.f64 %80 %884)
%1104 = (hypot.f64 %80 %462)
%1105 = (hypot.f64 %80 %830)
%1106 = (hypot.f64 %80 %825)
%1107 = (hypot.f64 %80 %455)
%1108 = (+.f64 %840 %72)
%1109 = (pow.f64 %1108 #s(literal 1 binary64))
%1111 = (/.f64 #s(literal 1 binary64) (pow.f64 %1108 #s(literal -1 binary64)))
%1112 = (+.f64 %840 %4)
%1114 = (neg.f64 (-.f64 %67 %1112))
%1115 = (+.f64 %840 %47)
%1117 = (neg.f64 (-.f64 %42 %1115))
%1118 = (-.f64 %42 %840)
%1120 = (neg.f64 (-.f64 %1118 %47))
%1121 = (neg.f64 %1115)
%1123 = (neg.f64 (-.f64 %1121 %4))
%1124 = (neg.f64 %1108)
%1125 = (neg.f64 %1124)
%1126 = (fma.f64 %7 %7 %1115)
%1127 = (fma.f64 %9 %9 %1115)
%1128 = (neg.f64 %1118)
%1129 = (fma.f64 %49 %49 %1128)
%1130 = (+.f64 %4 %840)
%1131 = (fma.f64 %49 %49 %1130)
%1132 = (fma.f64 %11 %11 %1115)
%1133 = (fma.f64 %52 #s(literal 1/2 binary64) %1128)
%1134 = (fma.f64 %52 #s(literal 1/2 binary64) %1130)
%1135 = (fma.f64 %994 %994 %72)
%1136 = (fma.f64 %48 %48 %1128)
%1137 = (fma.f64 %48 %48 %1130)
%1138 = (fma.f64 %5 %5 %1115)
%1139 = (fma.f64 %47 #s(literal 1 binary64) %1128)
%1140 = (fma.f64 %47 #s(literal 1 binary64) %1130)
%1141 = (fma.f64 %4 #s(literal 1 binary64) %1115)
%1142 = (fma.f64 #s(literal 2 binary64) %57 %1128)
%1143 = (fma.f64 #s(literal 2 binary64) %57 %1130)
%1144 = (fma.f64 #s(literal 1 binary64) %47 %1128)
%1145 = (fma.f64 #s(literal 1 binary64) %47 %1130)
%1146 = (fma.f64 #s(literal 1 binary64) %4 %1115)
%1147 = (-.f64 %1112 %122)
%1148 = (-.f64 %1112 %67)
%1149 = (-.f64 %1115 %114)
%1150 = (-.f64 %1115 %116)
%1151 = (-.f64 %1115 %24)
%1152 = (-.f64 %1115 %42)
%1153 = (-.f64 %840 %86)
%1155 = (-.f64 %72 (neg.f64 %1000))
%1156 = (-.f64 %72 %841)
%1157 = (-.f64 %47 %1118)
%1158 = (-.f64 %4 %1121)
%1159 = (+.f64 %1112 %88)
%1160 = (+.f64 %1112 %47)
%1161 = (+.f64 %1115 %93)
%1162 = (+.f64 %1115 %4)
%1163 = (+.f64 %72 %1000)
%1164 = (+.f64 %72 %840)
%1165 = (+.f64 %47 %1128)
%1166 = (+.f64 %47 %1130)
%1167 = (+.f64 %4 %1115)
%1168 = (*.f64 %1108 #s(literal 1/2 binary64))
%1169 = (*.f64 #s(literal 1/2 binary64) %1108)
%1170 = (pow.f64 %1168 #s(literal 1 binary64))
%1172 = (/.f64 #s(literal 1 binary64) (pow.f64 %1168 #s(literal -1 binary64)))
%1174 = (neg.f64 (*.f64 %1124 #s(literal 1/2 binary64)))
%1176 = (neg.f64 (*.f64 #s(literal 1/2 binary64) %1124))
%1177 = (*.f64 #s(literal -1/2 binary64) %840)
%1178 = (*.f64 %72 #s(literal 1/2 binary64))
%1180 = (neg.f64 (-.f64 %1177 %1178))
%1181 = (*.f64 %4 #s(literal 1/2 binary64))
%1182 = (fma.f64 %1115 #s(literal 1/2 binary64) %1181)
%1183 = (fma.f64 %840 #s(literal 1/2 binary64) %1178)
%1184 = (*.f64 %1000 #s(literal 1/2 binary64))
%1185 = (fma.f64 %72 #s(literal 1/2 binary64) %1184)
%1186 = (neg.f64 %1177)
%1187 = (fma.f64 %72 #s(literal 1/2 binary64) %1186)
%1188 = (*.f64 %840 #s(literal 1/2 binary64))
%1189 = (fma.f64 %72 #s(literal 1/2 binary64) %1188)
%1190 = (*.f64 %1115 #s(literal 1/2 binary64))
%1191 = (fma.f64 %4 #s(literal 1/2 binary64) %1190)
%1192 = (*.f64 #s(literal 1/2 binary64) %4)
%1193 = (fma.f64 #s(literal 1/2 binary64) %1115 %1192)
%1194 = (fma.f64 #s(literal 1/2 binary64) %840 %1178)
%1195 = (fma.f64 #s(literal 1/2 binary64) %72 %1184)
%1196 = (fma.f64 #s(literal 1/2 binary64) %72 %1186)
%1197 = (fma.f64 #s(literal 1/2 binary64) %72 %1188)
%1198 = (*.f64 #s(literal 1/2 binary64) %1115)
%1199 = (fma.f64 #s(literal 1/2 binary64) %4 %1198)
%1201 = (-.f64 %1198 (*.f64 #s(literal -1/2 binary64) %4))
%1203 = (-.f64 %1198 (neg.f64 %1192))
%1205 = (-.f64 %1192 (*.f64 #s(literal -1/2 binary64) %1115))
%1207 = (-.f64 %1192 (neg.f64 %1198))
%1209 = (-.f64 %1190 (*.f64 %42 #s(literal 1/2 binary64)))
%1211 = (-.f64 %1190 (neg.f64 %1181))
%1213 = (-.f64 %1181 (*.f64 %1121 #s(literal 1/2 binary64)))
%1215 = (-.f64 %1181 (neg.f64 %1190))
%1216 = (*.f64 %86 #s(literal 1/2 binary64))
%1217 = (-.f64 %1188 %1216)
%1218 = (*.f64 #s(literal -1/2 binary64) %72)
%1219 = (-.f64 %1188 %1218)
%1220 = (neg.f64 %1178)
%1221 = (-.f64 %1188 %1220)
%1222 = (-.f64 %1178 %1177)
%1223 = (+.f64 %1198 %1192)
%1224 = (+.f64 %1192 %1198)
%1225 = (+.f64 %1190 %1181)
%1226 = (+.f64 %1181 %1190)
%1227 = (+.f64 %1188 %1178)
%1228 = (+.f64 %1178 %1184)
%1229 = (+.f64 %1178 %1186)
%1230 = (+.f64 %1178 %1188)
%1231 = (+.f64 %186 %72)
%1235 = (neg.f64 %186)
%1238 = (+.f64 %186 %4)
%1241 = (+.f64 %186 %47)
%1246 = (-.f64 %42 %186)
%1249 = (neg.f64 %1241)
%1252 = (neg.f64 %1231)
%1256 = (neg.f64 %1246)
%1258 = (+.f64 %4 %186)
%1281 = (neg.f64 %1235)
%1296 = (*.f64 %1231 #s(literal 1/2 binary64))
%1305 = (*.f64 #s(literal -1/2 binary64) %186)
%1309 = (*.f64 %1281 #s(literal 1/2 binary64))
%1311 = (neg.f64 %1305)
%1313 = (*.f64 %186 #s(literal 1/2 binary64))
%1315 = (*.f64 %1241 #s(literal 1/2 binary64))
%1321 = (*.f64 #s(literal 1/2 binary64) %1241)
%1341 = (+.f64 %449 %72)
%1345 = (neg.f64 %449)
%1348 = (+.f64 %449 %4)
%1351 = (+.f64 %449 %47)
%1356 = (-.f64 %42 %449)
%1359 = (neg.f64 %1351)
%1362 = (neg.f64 %1341)
%1366 = (neg.f64 %1356)
%1368 = (+.f64 %4 %449)
%1391 = (neg.f64 %1345)
%1406 = (*.f64 %1341 #s(literal 1/2 binary64))
%1415 = (*.f64 #s(literal -1/2 binary64) %449)
%1419 = (*.f64 %1391 #s(literal 1/2 binary64))
%1421 = (neg.f64 %1415)
%1423 = (*.f64 %449 #s(literal 1/2 binary64))
%1425 = (*.f64 %1351 #s(literal 1/2 binary64))
%1431 = (*.f64 #s(literal 1/2 binary64) %1351)
%1451 = (+.f64 %475 %72)
%1455 = (neg.f64 %475)
%1458 = (+.f64 %475 %4)
%1461 = (+.f64 %475 %47)
%1466 = (-.f64 %42 %475)
%1469 = (neg.f64 %1461)
%1472 = (neg.f64 %1451)
%1476 = (neg.f64 %1466)
%1478 = (+.f64 %4 %475)
%1501 = (neg.f64 %1455)
%1516 = (*.f64 %1451 #s(literal 1/2 binary64))
%1525 = (*.f64 #s(literal -1/2 binary64) %475)
%1529 = (*.f64 %1501 #s(literal 1/2 binary64))
%1531 = (neg.f64 %1525)
%1533 = (*.f64 %475 #s(literal 1/2 binary64))
%1535 = (*.f64 %1461 #s(literal 1/2 binary64))
%1541 = (*.f64 #s(literal 1/2 binary64) %1461)
%1561 = (+.f64 %490 %72)
%1565 = (neg.f64 %490)
%1568 = (+.f64 %490 %4)
%1571 = (+.f64 %490 %47)
%1576 = (-.f64 %42 %490)
%1579 = (neg.f64 %1571)
%1582 = (neg.f64 %1561)
%1586 = (neg.f64 %1576)
%1588 = (+.f64 %4 %490)
%1611 = (neg.f64 %1565)
%1626 = (*.f64 %1561 #s(literal 1/2 binary64))
%1635 = (*.f64 #s(literal -1/2 binary64) %490)
%1639 = (*.f64 %1611 #s(literal 1/2 binary64))
%1641 = (neg.f64 %1635)
%1643 = (*.f64 %490 #s(literal 1/2 binary64))
%1645 = (*.f64 %1571 #s(literal 1/2 binary64))
%1651 = (*.f64 #s(literal 1/2 binary64) %1571)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 1/2 binary64)
p
(*.f64 %7 %7)
(*.f64 %9 %9)
(*.f64 %11 %11)
(*.f64 %5 %5)
(*.f64 %4 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %4)
(pow.f64 %5 #s(literal 2 binary64))
(pow.f64 %17 #s(literal 1/2 binary64))
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(neg.f64 %22)
(neg.f64 %24)
(sqrt.f64 %17)
(fabs.f64 %29)
(fabs.f64 (*.f64 %28 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %27 #s(literal 1 binary64)))
(fabs.f64 %22)
(fabs.f64 (*.f64 #s(literal -1 binary64) %28))
(fabs.f64 %24)
(fabs.f64 (*.f64 #s(literal 1 binary64) %28))
(fabs.f64 %28)
(fabs.f64 %42)
(fabs.f64 %27)
(fabs.f64 %4)
%4
r
(*.f64 %49 %49)
(*.f64 %52 #s(literal 1/2 binary64))
(*.f64 %48 %48)
(*.f64 %47 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %57)
(*.f64 #s(literal 1 binary64) %47)
(pow.f64 %48 #s(literal 2 binary64))
(pow.f64 %61 #s(literal 1/2 binary64))
(pow.f64 %47 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %47 #s(literal -1 binary64)))
(sqrt.f64 %61)
(fabs.f64 %67)
(fabs.f64 %69)
(fabs.f64 %47)
%47
%73
%78
%83
%85
%87
%89
%90
%91
%92
%94
%95
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%115
%117
%119
%120
%121
%123
%125
%126
%127
%128
%129
%72
%130
%131
(pow.f64 %80 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %80 #s(literal -1 binary64)))
(neg.f64 %75)
(fma.f64 %69 %137 %69)
(fma.f64 %27 #s(literal -1 binary64) %69)
(fma.f64 %136 r %69)
(fma.f64 #s(literal -1 binary64) %27 %69)
(fma.f64 #s(literal -1 binary64) r %142)
(fma.f64 #s(literal -1 binary64) r %28)
(fma.f64 #s(literal -1 binary64) r p)
(fma.f64 r %136 %69)
(fma.f64 r #s(literal -1 binary64) %142)
(fma.f64 r #s(literal -1 binary64) %28)
(fma.f64 r #s(literal -1 binary64) p)
(fma.f64 p #s(literal 1 binary64) %69)
(fma.f64 #s(literal 1 binary64) p %69)
(-.f64 %142 r)
(-.f64 %28 r)
(-.f64 %69 %27)
%80
(+.f64 %142 %69)
(+.f64 %28 %69)
(+.f64 %69 %142)
(+.f64 %69 %28)
(+.f64 %69 p)
(+.f64 p %161)
(+.f64 p %163)
(+.f64 p %166)
(+.f64 p %69)
#s(literal 4 binary64)
q
#s(literal 1/2 binary64)
#s(literal -1 binary64)
#s(literal -2 binary64)
(*.f64 #s(literal -1 binary64) p)
(*.f64 p #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) %27)
(pow.f64 %27 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %27 #s(literal -1 binary64)))
(neg.f64 %28)
%27
(pow.f64 %186 #s(literal 1 binary64))
%186
(/.f64 #s(literal 1 binary64) (pow.f64 %186 #s(literal -1 binary64)))
(*.f64 %190 #s(literal 2 binary64))
(*.f64 %192 (/.f64 #s(literal 1 binary64) %56))
(*.f64 (/.f64 #s(literal 1 binary64) %51) %196)
(*.f64 %198 %199)
(*.f64 %28 %199)
(*.f64 %199 %198)
(*.f64 %199 p)
(*.f64 %27 %204)
(*.f64 %137 #s(literal -1 binary64))
(*.f64 %136 #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) %137)
(*.f64 p %199)
(*.f64 #s(literal 1/2 binary64) %210)
(*.f64 #s(literal 2 binary64) %212)
(*.f64 #s(literal 1 binary64) %136)
(pow.f64 %136 #s(literal 1 binary64))
(/.f64 %216 %51)
(/.f64 %218 %219)
(/.f64 %221 %51)
(/.f64 %223 %224)
(/.f64 %226 %227)
(/.f64 %229 %224)
(/.f64 %28 r)
(/.f64 %27 %69)
%136
(/.f64 #s(literal 1 binary64) (/.f64 r %28))
(/.f64 #s(literal 1 binary64) (/.f64 %69 %27))
(/.f64 #s(literal 1 binary64) (pow.f64 %136 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 r p))
(neg.f64 %241)
(neg.f64 %243)
(neg.f64 %245)
(neg.f64 %247)
(neg.f64 %137)
(*.f64 %250 %196)
(*.f64 %190 #s(literal -2 binary64))
(*.f64 %192 %253)
(*.f64 %198 %204)
(*.f64 %204 %198)
(*.f64 #s(literal -1/2 binary64) %210)
(*.f64 %28 %204)
(*.f64 %27 %199)
(*.f64 %136 #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) %136)
(*.f64 p %204)
(pow.f64 %137 #s(literal 1 binary64))
(/.f64 %28 %69)
(/.f64 %27 r)
(/.f64 p %69)
(/.f64 #s(literal 1 binary64) (/.f64 %69 %28))
(/.f64 #s(literal 1 binary64) (/.f64 %69 p))
(/.f64 #s(literal 1 binary64) (/.f64 r %27))
(/.f64 #s(literal 1 binary64) (pow.f64 %137 #s(literal -1 binary64)))
%137
(*.f64 (/.f64 %276 %51) %278)
(*.f64 (/.f64 %276 #s(literal 2 binary64)) %281)
(*.f64 %283 %284)
(*.f64 %286 %287)
(*.f64 %289 (/.f64 %276 #s(literal 1/2 binary64)))
(*.f64 %292 (/.f64 %276 %56))
(*.f64 %287 %286)
(*.f64 %284 %283)
(*.f64 %75 %199)
(pow.f64 %276 #s(literal 1 binary64))
(/.f64 (fma.f64 %137 #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 1 binary64) %69 %28) %69)
(/.f64 (fma.f64 #s(literal 1 binary64) %69 p) %69)
(/.f64 (-.f64 (*.f64 #s(literal 1 binary64) %69) %27) %69)
(/.f64 (fma.f64 %28 #s(literal 2 binary64) %227) %219)
(/.f64 (fma.f64 %27 #s(literal 2 binary64) %224) %51)
(/.f64 (fma.f64 p #s(literal 2 binary64) %227) %219)
(/.f64 (fma.f64 #s(literal 2 binary64) %69 %216) %227)
(/.f64 (fma.f64 #s(literal 2 binary64) r %218) %224)
(/.f64 (fma.f64 #s(literal 2 binary64) %69 %221) %227)
(/.f64 (fma.f64 %28 #s(literal 2 binary64) %219) %219)
(/.f64 (fma.f64 %27 #s(literal 2 binary64) %51) %51)
(/.f64 (fma.f64 p #s(literal 2 binary64) %219) %219)
(/.f64 (fma.f64 #s(literal 2 binary64) %69 %223) %227)
(/.f64 (fma.f64 #s(literal 2 binary64) r %226) %224)
(/.f64 (fma.f64 #s(literal 2 binary64) %69 %229) %227)
(/.f64 (-.f64 %224 %223) %224)
(/.f64 (-.f64 %227 %226) %227)
(/.f64 (-.f64 %224 %229) %224)
%276
(/.f64 %80 %69)
(/.f64 #s(literal 1 binary64) (/.f64 r %75))
(/.f64 #s(literal 1 binary64) (pow.f64 %276 #s(literal -1 binary64)))
(neg.f64 (/.f64 %75 %69))
(neg.f64 %345)
(fma.f64 %250 %196 %284)
(fma.f64 %250 %196 #s(literal 1 binary64))
(fma.f64 %190 #s(literal -2 binary64) %284)
(fma.f64 %190 #s(literal -2 binary64) #s(literal 1 binary64))
(fma.f64 %192 %253 %284)
(fma.f64 %192 %253 #s(literal 1 binary64))
(fma.f64 %198 %204 %284)
(fma.f64 %198 %204 #s(literal 1 binary64))
(fma.f64 %204 %198 %284)
(fma.f64 %204 %198 #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) %210 %284)
(fma.f64 #s(literal -1/2 binary64) %210 #s(literal 1 binary64))
(fma.f64 %28 %204 %284)
(fma.f64 %28 %204 #s(literal 1 binary64))
(fma.f64 %27 %199 %284)
(fma.f64 %27 %199 #s(literal 1 binary64))
(fma.f64 %136 #s(literal -1 binary64) %284)
(fma.f64 %136 #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1 binary64) %136 %284)
(fma.f64 #s(literal -1 binary64) %136 #s(literal 1 binary64))
(fma.f64 p %204 %284)
(fma.f64 p %204 #s(literal 1 binary64))
(-.f64 %284 %369)
(-.f64 %284 %136)
(-.f64 %137 #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) %369)
(-.f64 #s(literal 1 binary64) %136)
(+.f64 %376 %284)
(+.f64 %284 %376)
(+.f64 %284 %137)
(+.f64 %137 %284)
(+.f64 %137 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) %241)
(+.f64 #s(literal 1 binary64) %243)
(+.f64 #s(literal 1 binary64) %245)
(+.f64 #s(literal 1 binary64) %247)
(+.f64 #s(literal 1 binary64) %376)
(+.f64 #s(literal 1 binary64) %137)
%388
%389
%390
%393
%395
%397
%399
%401
%403
%404
%406
%408
%410
%411
%413
%415
%416
%417
%418
%419
%420
%421
%422
%423
%424
%425
%426
%427
%428
%429
%430
%431
%432
%433
%434
%435
%437
%439
%441
%442
%443
%75
%444
%445
%446
%447
%448
(pow.f64 %449 #s(literal 1 binary64))
%449
(/.f64 #s(literal 1 binary64) (pow.f64 %449 #s(literal -1 binary64)))
(*.f64 q #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) q)
(pow.f64 %455 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %455 #s(literal -1 binary64)))
(neg.f64 (-.f64 %459 q))
(neg.f64 %462)
(fma.f64 %459 #s(literal -1 binary64) %464)
(fma.f64 #s(literal -1 binary64) %459 %464)
(fma.f64 q #s(literal 1 binary64) %464)
(fma.f64 #s(literal 1 binary64) q %464)
(-.f64 %464 %469)
(-.f64 %464 %459)
(-.f64 q %459)
(+.f64 %464 %464)
(+.f64 q %464)
%455
(pow.f64 %475 #s(literal 1 binary64))
%475
(/.f64 #s(literal 1 binary64) (pow.f64 %475 #s(literal -1 binary64)))
(*.f64 %459 #s(literal 2 binary64))
%462
(*.f64 q #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) %459)
(pow.f64 %462 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %462 #s(literal -1 binary64)))
(neg.f64 %485)
(neg.f64 %487)
(neg.f64 %455)
(pow.f64 %490 #s(literal 1 binary64))
%490
(/.f64 #s(literal 1 binary64) (pow.f64 %490 #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) q)
(*.f64 q #s(literal -1 binary64))
(pow.f64 %459 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %459 #s(literal -1 binary64)))
(neg.f64 %464)
%459
(pow.f64 %506 #s(literal 1 binary64))
%506
(/.f64 #s(literal 1 binary64) (pow.f64 %506 #s(literal -1 binary64)))
%73
%78
%83
%85
%87
%89
%90
%91
%92
%94
%95
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%115
%117
%119
%120
%121
%123
%125
%126
%127
%128
%129
%72
%130
%131
%388
%389
%390
%393
%395
%397
%399
%401
%403
%404
%406
%408
%410
%411
%413
%415
%416
%417
%418
%419
%420
%421
%422
%423
%424
%425
%426
%427
%428
%429
%430
%431
%432
%433
%434
%435
%437
%439
%441
%442
%443
%75
%444
%445
%446
%447
%448
%513
%515
%516
%517
%521
%522
%524
%525
%527
%529
%530
%531
%532
%510
%533
(pow.f64 %528 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %528 #s(literal -1 binary64)))
%528
%513
%515
%516
%517
%521
%522
%524
%525
%527
%529
%530
%531
%532
%510
%533
(*.f64 %537 %61)
(*.f64 %61 %537)
(*.f64 %510 %510)
(*.f64 %528 %528)
%523
(*.f64 %80 %80)
(pow.f64 %519 #s(literal 1/2 binary64))
(pow.f64 %523 #s(literal 1 binary64))
(pow.f64 %510 #s(literal 2 binary64))
(pow.f64 %528 #s(literal 2 binary64))
(pow.f64 %75 #s(literal 2 binary64))
(pow.f64 %80 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %510 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %528 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %80 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %523 #s(literal -1 binary64)))
(neg.f64 %518)
(fma.f64 (*.f64 %51 %51) #s(literal 1/4 binary64) %563)
(fma.f64 %28 %28 %567)
(fma.f64 %42 %42 %567)
(fma.f64 %67 %67 %563)
(fma.f64 %61 #s(literal 1 binary64) %563)
(fma.f64 %17 #s(literal 1 binary64) %567)
(fma.f64 %69 %69 %563)
(fma.f64 %69 %80 %574)
(fma.f64 %27 %27 %567)
(fma.f64 %27 %75 %577)
(fma.f64 %75 %27 %579)
(fma.f64 %75 r %581)
(fma.f64 #s(literal 4 binary64) (*.f64 %56 %56) %563)
(fma.f64 %80 %69 %581)
(fma.f64 %80 p %579)
(fma.f64 %47 %47 %563)
(fma.f64 r %75 %574)
(fma.f64 r r %563)
(fma.f64 %4 %4 %567)
(fma.f64 p %80 %577)
(fma.f64 p p %567)
(fma.f64 #s(literal 1 binary64) %61 %563)
(fma.f64 #s(literal 1 binary64) %17 %567)
(-.f64 %579 (*.f64 %80 %27))
(-.f64 %579 (*.f64 %75 p))
(-.f64 %581 (*.f64 %75 %69))
(-.f64 %577 (*.f64 %28 %75))
(-.f64 %577 (*.f64 p %75))
(-.f64 %574 (*.f64 r %80))
(-.f64 %574 (*.f64 %69 %75))
(-.f64 %610 %611)
(-.f64 %563 %613)
(-.f64 %563 %615)
(-.f64 %563 %617)
(-.f64 %563 %611)
(-.f64 %61 (-.f64 %565 %17))
(-.f64 %17 %566)
(sqrt.f64 %519)
(fabs.f64 (*.f64 %75 %510))
(fabs.f64 (*.f64 %80 %510))
(fabs.f64 (*.f64 %75 %528))
(fabs.f64 (*.f64 %80 %528))
(fabs.f64 (*.f64 %510 %75))
(fabs.f64 (*.f64 %528 %75))
(fabs.f64 (*.f64 %510 %80))
(fabs.f64 (*.f64 %528 %80))
(fabs.f64 %518)
(fabs.f64 %523)
(+.f64 (+.f64 %642 (*.f64 #s(literal 2 binary64) (*.f64 %375 r))) %61)
(+.f64 (fma.f64 r r (*.f64 #s(literal 2 binary64) (*.f64 r %375))) %642)
(+.f64 (fma.f64 r r %609) %17)
(+.f64 (fma.f64 r r (*.f64 #s(literal 2 binary64) (*.f64 %69 %28))) %656)
(+.f64 (fma.f64 r r (*.f64 #s(literal 2 binary64) (*.f64 %69 p))) %17)
(+.f64 (-.f64 %61 (*.f64 #s(literal 2 binary64) (*.f64 r %142))) (pow.f64 %142 #s(literal 2 binary64)))
(+.f64 (-.f64 %61 (*.f64 #s(literal 2 binary64) (*.f64 r %28))) %656)
(+.f64 (-.f64 %61 %565) %17)
(+.f64 %579 %581)
(+.f64 %581 %579)
(+.f64 %577 %574)
(+.f64 %574 %577)
(+.f64 %610 %61)
(+.f64 %563 (neg.f64 %611))
(+.f64 %563 %61)
(+.f64 %61 %563)
(+.f64 %17 %567)
(*.f64 %685 %685)
(*.f64 %687 %687)
(*.f64 %689 %689)
(*.f64 %684 %684)
(*.f64 %683 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %683)
(pow.f64 %695 #s(literal 1/4 binary64))
(pow.f64 %684 #s(literal 2 binary64))
(pow.f64 %694 #s(literal 1/2 binary64))
(pow.f64 %683 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %683 #s(literal -1 binary64)))
(neg.f64 %702)
(neg.f64 %704)
(sqrt.f64 %694)
(fabs.f64 %707)
(fabs.f64 %709)
(fabs.f64 %469)
(fabs.f64 %702)
(fabs.f64 %713)
(fabs.f64 %704)
(fabs.f64 %716)
(fabs.f64 %718)
(fabs.f64 %721)
(fabs.f64 %464)
(fabs.f64 %459)
(fabs.f64 %720)
(fabs.f64 %683)
%683
(*.f64 %720 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %720)
(pow.f64 %720 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %720 #s(literal -1 binary64)))
(neg.f64 %732)
(neg.f64 %734)
%720
(*.f64 %736 %736)
(*.f64 %738 %738)
(*.f64 %732 %732)
(*.f64 %741 %741)
(*.f64 %734 %734)
(*.f64 %744 %744)
(*.f64 %746 %746)
(*.f64 %707 %707)
(*.f64 %709 %709)
(*.f64 %469 %469)
(*.f64 %702 %702)
(*.f64 %713 %713)
(*.f64 %704 %704)
(*.f64 %716 %716)
(*.f64 %718 %718)
(*.f64 %756 #s(literal -1 binary64))
(*.f64 %721 %721)
(*.f64 %464 %464)
(*.f64 %464 q)
(*.f64 %459 %459)
(*.f64 %694 #s(literal 1 binary64))
(*.f64 %720 %720)
(*.f64 %683 %683)
(*.f64 #s(literal -1 binary64) %756)
(*.f64 q %464)
%694
(*.f64 #s(literal 1 binary64) %694)
(pow.f64 %721 #s(literal 2 binary64))
(pow.f64 %464 #s(literal 2 binary64))
(pow.f64 %695 #s(literal 1/2 binary64))
(pow.f64 %459 #s(literal 2 binary64))
(pow.f64 %694 #s(literal 1 binary64))
(pow.f64 %720 #s(literal 2 binary64))
(pow.f64 %683 #s(literal 2 binary64))
(pow.f64 q #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %459 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %720 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %683 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 q #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %694 #s(literal -1 binary64)))
(neg.f64 %786)
(neg.f64 %788)
(neg.f64 (*.f64 %721 %720))
(neg.f64 (*.f64 %720 %721))
(neg.f64 %794)
(neg.f64 %796)
(neg.f64 %798)
(neg.f64 %800)
(neg.f64 %756)
(sqrt.f64 %695)
(fabs.f64 %786)
(fabs.f64 %788)
(fabs.f64 %794)
(fabs.f64 %796)
(fabs.f64 (*.f64 %464 %683))
(fabs.f64 %798)
(fabs.f64 (*.f64 %683 %464))
(fabs.f64 %800)
(fabs.f64 (*.f64 %683 %459))
(fabs.f64 (*.f64 %459 %683))
(fabs.f64 (*.f64 q %683))
(fabs.f64 (*.f64 %683 q))
(fabs.f64 %756)
(fabs.f64 %694)
(*.f64 %720 #s(literal 2 binary64))
%825
(*.f64 #s(literal 2 binary64) %720)
(pow.f64 %825 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %825 #s(literal -1 binary64)))
(neg.f64 %830)
(fma.f64 %720 #s(literal 1 binary64) %720)
(fma.f64 #s(literal 1 binary64) %720 %720)
(-.f64 %720 %738)
(-.f64 %720 %734)
(-.f64 %720 %721)
(-.f64 %720 %683)
(+.f64 %720 %720)
(*.f64 %841 %841)
(*.f64 %840 %840)
(pow.f64 %844 #s(literal 1/2 binary64))
(pow.f64 %839 #s(literal 1 binary64))
(pow.f64 %840 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %839 #s(literal -1 binary64)))
(neg.f64 (fma.f64 %683 %851 %518))
(neg.f64 (-.f64 %854 %523))
(neg.f64 (fma.f64 #s(literal -4 binary64) %694 %518))
(fma.f64 %537 %61 %859)
(fma.f64 %537 %61 %861)
(fma.f64 %537 %61 %863)
(fma.f64 %537 %61 %866)
(fma.f64 %537 %61 %868)
(fma.f64 %870 %870 %523)
(fma.f64 %872 %872 %523)
(fma.f64 %485 %485 %523)
(fma.f64 %875 %875 %523)
(fma.f64 %877 %877 %523)
(fma.f64 %487 %487 %523)
(fma.f64 %880 %880 %523)
(fma.f64 %882 %882 %523)
(fma.f64 %884 %884 %523)
(fma.f64 %887 %683 %523)
(fma.f64 (fabs.f64 %889) %683 %523)
(fma.f64 %892 %683 %523)
(fma.f64 %894 %683 %523)
(fma.f64 %886 %459 %523)
(fma.f64 %897 #s(literal 2 binary64) %523)
(fma.f64 %889 %683 %523)
(fma.f64 %462 %462 %523)
(fma.f64 %901 #s(literal 2 binary64) %523)
(fma.f64 %865 q %523)
(fma.f64 %851 %720 %523)
(fma.f64 %61 %537 %859)
(fma.f64 %61 %537 %861)
(fma.f64 %61 %537 %863)
(fma.f64 %61 %537 %866)
(fma.f64 %61 %537 %868)
(fma.f64 %830 %830 %523)
(fma.f64 %459 %886 %523)
(fma.f64 %825 %825 %523)
%839
(fma.f64 %720 %913 %523)
(fma.f64 %720 %851 %523)
(fma.f64 %683 %887 %523)
(fma.f64 %683 (fabs.f64 %913) %523)
(fma.f64 %683 %892 %523)
(fma.f64 %683 (fabs.f64 %920) %523)
(fma.f64 %683 %894 %523)
(fma.f64 %683 %920 %523)
(fma.f64 %510 %510 %859)
(fma.f64 %510 %510 %861)
(fma.f64 %510 %510 %863)
(fma.f64 %510 %510 %866)
(fma.f64 %510 %510 %868)
(fma.f64 %528 %528 %859)
(fma.f64 %528 %528 %861)
(fma.f64 %528 %528 %863)
(fma.f64 %528 %528 %866)
(fma.f64 %528 %528 %868)
(fma.f64 %75 %75 %859)
(fma.f64 %75 %75 %861)
(fma.f64 %75 %75 %863)
(fma.f64 %75 %75 %866)
(fma.f64 %75 %75 %868)
(fma.f64 %455 %455 %523)
(fma.f64 q %865 %523)
(fma.f64 #s(literal 4 binary64) %694 %523)
(fma.f64 %80 %80 %859)
(fma.f64 %80 %80 %861)
(fma.f64 %80 %80 %863)
(fma.f64 %80 %80 %866)
(fma.f64 %80 %80 %868)
(fma.f64 #s(literal 2 binary64) %901 %523)
(-.f64 %949 %613)
(-.f64 %949 %615)
(-.f64 %949 %617)
(-.f64 %949 %611)
(-.f64 %563 (neg.f64 %954))
(-.f64 %868 %518)
(-.f64 %523 (*.f64 %889 %720))
(-.f64 %523 (*.f64 %683 %913))
(-.f64 %523 (*.f64 (neg.f64 %897) #s(literal 2 binary64)))
(-.f64 %523 (*.f64 %455 %462))
(-.f64 %523 (*.f64 %464 %886))
(-.f64 %523 (*.f64 %721 %913))
(-.f64 %523 (*.f64 %720 %920))
(-.f64 %523 (*.f64 %462 %455))
(-.f64 %523 (*.f64 #s(literal -2 binary64) %901))
(-.f64 %523 %854)
(-.f64 %523 (*.f64 #s(literal -4 binary64) %694))
(sqrt.f64 %844)
(fabs.f64 (*.f64 %841 %840))
(fabs.f64 (*.f64 %840 %841))
(fabs.f64 %839)
(+.f64 %949 %61)
(+.f64 %563 %954)
(+.f64 %868 %523)
(+.f64 %523 %859)
(+.f64 %523 %861)
(+.f64 %523 %863)
(+.f64 %523 %866)
(+.f64 %523 %868)
%995
%996
%997
%999
%840
%1001
%1002
%1003
%1004
%1005
%1006
%1007
%1008
%1009
%1010
%1011
%1012
%1013
%1014
%1015
%1016
%1017
%1018
%1019
%1020
%1021
%1022
%1023
%1024
%1025
%1026
%1027
%1028
%1029
%1030
%1031
%1032
%1033
%1034
%1035
%1036
%1037
%1038
%1039
%1040
%1041
%1042
%1043
%1044
%1045
%1046
%1047
%1048
%1049
%1050
%1051
%1052
%1053
%1054
%1055
%1056
%1057
%1058
%1059
%1060
%1061
%1062
%1063
%1064
%1065
%1066
%1067
%1068
%1069
%1070
%1071
%1072
%1073
%1074
%1075
%1076
%1077
%1078
%1079
%1080
%1081
%1082
%1083
%1084
%1085
%1086
%1087
%1088
%1089
%1090
%1091
%1092
%1093
%1094
%1095
%1096
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1104
%1105
%1106
%1107
%995
%996
%997
%999
%840
%1001
%1002
%1003
%1004
%1005
%1006
%1007
%1008
%1009
%1010
%1011
%1012
%1013
%1014
%1015
%1016
%1017
%1018
%1019
%1020
%1021
%1022
%1023
%1024
%1025
%1026
%1027
%1028
%1029
%1030
%1031
%1032
%1033
%1034
%1035
%1036
%1037
%1038
%1039
%1040
%1041
%1042
%1043
%1044
%1045
%1046
%1047
%1048
%1049
%1050
%1051
%1052
%1053
%1054
%1055
%1056
%1057
%1058
%1059
%1060
%1061
%1062
%1063
%1064
%1065
%1066
%1067
%1068
%1069
%1070
%1071
%1072
%1073
%1074
%1075
%1076
%1077
%1078
%1079
%1080
%1081
%1082
%1083
%1084
%1085
%1086
%1087
%1088
%1089
%1090
%1091
%1092
%1093
%1094
%1095
%1096
%1097
%1098
%1099
%1100
%1101
%1102
%1103
%1104
%1105
%1106
%1107
%1109
%1111
%1114
%1117
%1120
%1123
%1125
%1126
%1127
%1129
%1131
%1132
%1133
%1134
%1135
%1136
%1137
%1138
%1139
%1140
%1141
%1142
%1143
%1144
%1145
%1146
%1147
%1148
%1149
%1150
%1151
%1152
%1153
%1155
%1156
%1157
%1158
%1159
%1160
%1161
%1162
%1108
%1163
%1164
%1165
%1166
%1167
%1168
%1169
%1170
%1172
%1174
%1176
%1180
%1182
%1183
%1185
%1187
%1189
%1191
%1193
%1194
%1195
%1196
%1197
%1199
%1201
%1203
%1205
%1207
%1209
%1211
%1213
%1215
%1217
%1219
%1221
%1222
%1223
%1224
%1225
%1226
%1227
%1228
%1229
%1230
%1109
%1111
%1114
%1117
%1120
%1123
%1125
%1126
%1127
%1129
%1131
%1132
%1133
%1134
%1135
%1136
%1137
%1138
%1139
%1140
%1141
%1142
%1143
%1144
%1145
%1146
%1147
%1148
%1149
%1150
%1151
%1152
%1153
%1155
%1156
%1157
%1158
%1159
%1160
%1161
%1162
%1108
%1163
%1164
%1165
%1166
%1167
%1168
%1169
%1170
%1172
%1174
%1176
%1180
%1182
%1183
%1185
%1187
%1189
%1191
%1193
%1194
%1195
%1196
%1197
%1199
%1201
%1203
%1205
%1207
%1209
%1211
%1213
%1215
%1217
%1219
%1221
%1222
%1223
%1224
%1225
%1226
%1227
%1228
%1229
%1230
(pow.f64 %1231 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1231 #s(literal -1 binary64)))
(neg.f64 (+.f64 %86 %1235))
(neg.f64 (-.f64 %67 %1238))
(neg.f64 (-.f64 %42 %1241))
(neg.f64 (-.f64 %86 %186))
(neg.f64 (-.f64 %1246 %47))
(neg.f64 (-.f64 %1249 %4))
(neg.f64 %1252)
(fma.f64 %7 %7 %1241)
(fma.f64 %9 %9 %1241)
(fma.f64 %49 %49 %1256)
(fma.f64 %49 %49 %1258)
(fma.f64 %11 %11 %1241)
(fma.f64 %52 #s(literal 1/2 binary64) %1256)
(fma.f64 %52 #s(literal 1/2 binary64) %1258)
(fma.f64 %48 %48 %1256)
(fma.f64 %48 %48 %1258)
(fma.f64 %5 %5 %1241)
(fma.f64 %47 #s(literal 1 binary64) %1256)
(fma.f64 %47 #s(literal 1 binary64) %1258)
(fma.f64 %4 #s(literal 1 binary64) %1241)
(fma.f64 #s(literal 2 binary64) %57 %1256)
(fma.f64 #s(literal 2 binary64) %57 %1258)
(fma.f64 #s(literal 1 binary64) %47 %1256)
(fma.f64 #s(literal 1 binary64) %47 %1258)
(fma.f64 #s(literal 1 binary64) %4 %1241)
(-.f64 %1238 %122)
(-.f64 %1238 %67)
(-.f64 %1241 %114)
(-.f64 %1241 %116)
(-.f64 %1241 %24)
(-.f64 %1241 %42)
(-.f64 %186 %86)
(-.f64 %72 (neg.f64 %1281))
(-.f64 %72 %1235)
(-.f64 %47 %1246)
(-.f64 %4 %1249)
(+.f64 %1238 %88)
(+.f64 %1238 %47)
(+.f64 %1241 %93)
(+.f64 %1241 %4)
%1231
(+.f64 %72 %1281)
(+.f64 %72 %186)
(+.f64 %47 %1256)
(+.f64 %47 %1258)
(+.f64 %4 %1241)
%1296
(*.f64 #s(literal 1/2 binary64) %1231)
(pow.f64 %1296 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1296 #s(literal -1 binary64)))
(neg.f64 (*.f64 %1252 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %1252))
(neg.f64 (-.f64 %1305 %1178))
(fma.f64 %186 #s(literal 1/2 binary64) %1178)
(fma.f64 %72 #s(literal 1/2 binary64) %1309)
(fma.f64 %72 #s(literal 1/2 binary64) %1311)
(fma.f64 %72 #s(literal 1/2 binary64) %1313)
(fma.f64 %4 #s(literal 1/2 binary64) %1315)
(fma.f64 #s(literal 1/2 binary64) %186 %1178)
(fma.f64 #s(literal 1/2 binary64) %72 %1309)
(fma.f64 #s(literal 1/2 binary64) %72 %1311)
(fma.f64 #s(literal 1/2 binary64) %72 %1313)
(fma.f64 #s(literal 1/2 binary64) %4 %1321)
(-.f64 %1192 (*.f64 #s(literal -1/2 binary64) %1241))
(-.f64 %1192 (neg.f64 %1321))
(-.f64 %1181 (*.f64 %1249 #s(literal 1/2 binary64)))
(-.f64 %1181 (neg.f64 %1315))
(-.f64 %1313 %1216)
(-.f64 %1313 %1218)
(-.f64 %1313 %1220)
(-.f64 %1178 %1305)
(+.f64 %1192 %1321)
(+.f64 %1181 %1315)
(+.f64 %1313 %1178)
(+.f64 %1178 %1309)
(+.f64 %1178 %1311)
(+.f64 %1178 %1313)
(pow.f64 %1341 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1341 #s(literal -1 binary64)))
(neg.f64 (+.f64 %86 %1345))
(neg.f64 (-.f64 %67 %1348))
(neg.f64 (-.f64 %42 %1351))
(neg.f64 (-.f64 %86 %449))
(neg.f64 (-.f64 %1356 %47))
(neg.f64 (-.f64 %1359 %4))
(neg.f64 %1362)
(fma.f64 %7 %7 %1351)
(fma.f64 %9 %9 %1351)
(fma.f64 %49 %49 %1366)
(fma.f64 %49 %49 %1368)
(fma.f64 %11 %11 %1351)
(fma.f64 %52 #s(literal 1/2 binary64) %1366)
(fma.f64 %52 #s(literal 1/2 binary64) %1368)
(fma.f64 %48 %48 %1366)
(fma.f64 %48 %48 %1368)
(fma.f64 %5 %5 %1351)
(fma.f64 %47 #s(literal 1 binary64) %1366)
(fma.f64 %47 #s(literal 1 binary64) %1368)
(fma.f64 %4 #s(literal 1 binary64) %1351)
(fma.f64 #s(literal 2 binary64) %57 %1366)
(fma.f64 #s(literal 2 binary64) %57 %1368)
(fma.f64 #s(literal 1 binary64) %47 %1366)
(fma.f64 #s(literal 1 binary64) %47 %1368)
(fma.f64 #s(literal 1 binary64) %4 %1351)
(-.f64 %1348 %122)
(-.f64 %1348 %67)
(-.f64 %1351 %114)
(-.f64 %1351 %116)
(-.f64 %1351 %24)
(-.f64 %1351 %42)
(-.f64 %449 %86)
(-.f64 %72 (neg.f64 %1391))
(-.f64 %72 %1345)
(-.f64 %47 %1356)
(-.f64 %4 %1359)
(+.f64 %1348 %88)
(+.f64 %1348 %47)
(+.f64 %1351 %93)
(+.f64 %1351 %4)
%1341
(+.f64 %72 %1391)
(+.f64 %72 %449)
(+.f64 %47 %1366)
(+.f64 %47 %1368)
(+.f64 %4 %1351)
%1406
(*.f64 #s(literal 1/2 binary64) %1341)
(pow.f64 %1406 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1406 #s(literal -1 binary64)))
(neg.f64 (*.f64 %1362 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %1362))
(neg.f64 (-.f64 %1415 %1178))
(fma.f64 %449 #s(literal 1/2 binary64) %1178)
(fma.f64 %72 #s(literal 1/2 binary64) %1419)
(fma.f64 %72 #s(literal 1/2 binary64) %1421)
(fma.f64 %72 #s(literal 1/2 binary64) %1423)
(fma.f64 %4 #s(literal 1/2 binary64) %1425)
(fma.f64 #s(literal 1/2 binary64) %449 %1178)
(fma.f64 #s(literal 1/2 binary64) %72 %1419)
(fma.f64 #s(literal 1/2 binary64) %72 %1421)
(fma.f64 #s(literal 1/2 binary64) %72 %1423)
(fma.f64 #s(literal 1/2 binary64) %4 %1431)
(-.f64 %1192 (*.f64 #s(literal -1/2 binary64) %1351))
(-.f64 %1192 (neg.f64 %1431))
(-.f64 %1181 (*.f64 %1359 #s(literal 1/2 binary64)))
(-.f64 %1181 (neg.f64 %1425))
(-.f64 %1423 %1216)
(-.f64 %1423 %1218)
(-.f64 %1423 %1220)
(-.f64 %1178 %1415)
(+.f64 %1192 %1431)
(+.f64 %1181 %1425)
(+.f64 %1423 %1178)
(+.f64 %1178 %1419)
(+.f64 %1178 %1421)
(+.f64 %1178 %1423)
(pow.f64 %1451 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1451 #s(literal -1 binary64)))
(neg.f64 (+.f64 %86 %1455))
(neg.f64 (-.f64 %67 %1458))
(neg.f64 (-.f64 %42 %1461))
(neg.f64 (-.f64 %86 %475))
(neg.f64 (-.f64 %1466 %47))
(neg.f64 (-.f64 %1469 %4))
(neg.f64 %1472)
(fma.f64 %7 %7 %1461)
(fma.f64 %9 %9 %1461)
(fma.f64 %49 %49 %1476)
(fma.f64 %49 %49 %1478)
(fma.f64 %11 %11 %1461)
(fma.f64 %52 #s(literal 1/2 binary64) %1476)
(fma.f64 %52 #s(literal 1/2 binary64) %1478)
(fma.f64 %48 %48 %1476)
(fma.f64 %48 %48 %1478)
(fma.f64 %5 %5 %1461)
(fma.f64 %47 #s(literal 1 binary64) %1476)
(fma.f64 %47 #s(literal 1 binary64) %1478)
(fma.f64 %4 #s(literal 1 binary64) %1461)
(fma.f64 #s(literal 2 binary64) %57 %1476)
(fma.f64 #s(literal 2 binary64) %57 %1478)
(fma.f64 #s(literal 1 binary64) %47 %1476)
(fma.f64 #s(literal 1 binary64) %47 %1478)
(fma.f64 #s(literal 1 binary64) %4 %1461)
(-.f64 %1458 %122)
(-.f64 %1458 %67)
(-.f64 %1461 %114)
(-.f64 %1461 %116)
(-.f64 %1461 %24)
(-.f64 %1461 %42)
(-.f64 %475 %86)
(-.f64 %72 (neg.f64 %1501))
(-.f64 %72 %1455)
(-.f64 %47 %1466)
(-.f64 %4 %1469)
(+.f64 %1458 %88)
(+.f64 %1458 %47)
(+.f64 %1461 %93)
(+.f64 %1461 %4)
%1451
(+.f64 %72 %1501)
(+.f64 %72 %475)
(+.f64 %47 %1476)
(+.f64 %47 %1478)
(+.f64 %4 %1461)
%1516
(*.f64 #s(literal 1/2 binary64) %1451)
(pow.f64 %1516 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1516 #s(literal -1 binary64)))
(neg.f64 (*.f64 %1472 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %1472))
(neg.f64 (-.f64 %1525 %1178))
(fma.f64 %475 #s(literal 1/2 binary64) %1178)
(fma.f64 %72 #s(literal 1/2 binary64) %1529)
(fma.f64 %72 #s(literal 1/2 binary64) %1531)
(fma.f64 %72 #s(literal 1/2 binary64) %1533)
(fma.f64 %4 #s(literal 1/2 binary64) %1535)
(fma.f64 #s(literal 1/2 binary64) %475 %1178)
(fma.f64 #s(literal 1/2 binary64) %72 %1529)
(fma.f64 #s(literal 1/2 binary64) %72 %1531)
(fma.f64 #s(literal 1/2 binary64) %72 %1533)
(fma.f64 #s(literal 1/2 binary64) %4 %1541)
(-.f64 %1192 (*.f64 #s(literal -1/2 binary64) %1461))
(-.f64 %1192 (neg.f64 %1541))
(-.f64 %1181 (*.f64 %1469 #s(literal 1/2 binary64)))
(-.f64 %1181 (neg.f64 %1535))
(-.f64 %1533 %1216)
(-.f64 %1533 %1218)
(-.f64 %1533 %1220)
(-.f64 %1178 %1525)
(+.f64 %1192 %1541)
(+.f64 %1181 %1535)
(+.f64 %1533 %1178)
(+.f64 %1178 %1529)
(+.f64 %1178 %1531)
(+.f64 %1178 %1533)
(pow.f64 %1561 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1561 #s(literal -1 binary64)))
(neg.f64 (+.f64 %86 %1565))
(neg.f64 (-.f64 %67 %1568))
(neg.f64 (-.f64 %42 %1571))
(neg.f64 (-.f64 %86 %490))
(neg.f64 (-.f64 %1576 %47))
(neg.f64 (-.f64 %1579 %4))
(neg.f64 %1582)
(fma.f64 %7 %7 %1571)
(fma.f64 %9 %9 %1571)
(fma.f64 %49 %49 %1586)
(fma.f64 %49 %49 %1588)
(fma.f64 %11 %11 %1571)
(fma.f64 %52 #s(literal 1/2 binary64) %1586)
(fma.f64 %52 #s(literal 1/2 binary64) %1588)
(fma.f64 %48 %48 %1586)
(fma.f64 %48 %48 %1588)
(fma.f64 %5 %5 %1571)
(fma.f64 %47 #s(literal 1 binary64) %1586)
(fma.f64 %47 #s(literal 1 binary64) %1588)
(fma.f64 %4 #s(literal 1 binary64) %1571)
(fma.f64 #s(literal 2 binary64) %57 %1586)
(fma.f64 #s(literal 2 binary64) %57 %1588)
(fma.f64 #s(literal 1 binary64) %47 %1586)
(fma.f64 #s(literal 1 binary64) %47 %1588)
(fma.f64 #s(literal 1 binary64) %4 %1571)
(-.f64 %1568 %122)
(-.f64 %1568 %67)
(-.f64 %1571 %114)
(-.f64 %1571 %116)
(-.f64 %1571 %24)
(-.f64 %1571 %42)
(-.f64 %490 %86)
(-.f64 %72 (neg.f64 %1611))
(-.f64 %72 %1565)
(-.f64 %47 %1576)
(-.f64 %4 %1579)
(+.f64 %1568 %88)
(+.f64 %1568 %47)
(+.f64 %1571 %93)
(+.f64 %1571 %4)
%1561
(+.f64 %72 %1611)
(+.f64 %72 %490)
(+.f64 %47 %1586)
(+.f64 %47 %1588)
(+.f64 %4 %1571)
%1626
(*.f64 #s(literal 1/2 binary64) %1561)
(pow.f64 %1626 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1626 #s(literal -1 binary64)))
(neg.f64 (*.f64 %1582 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %1582))
(neg.f64 (-.f64 %1635 %1178))
(fma.f64 %490 #s(literal 1/2 binary64) %1178)
(fma.f64 %72 #s(literal 1/2 binary64) %1639)
(fma.f64 %72 #s(literal 1/2 binary64) %1641)
(fma.f64 %72 #s(literal 1/2 binary64) %1643)
(fma.f64 %4 #s(literal 1/2 binary64) %1645)
(fma.f64 #s(literal 1/2 binary64) %490 %1178)
(fma.f64 #s(literal 1/2 binary64) %72 %1639)
(fma.f64 #s(literal 1/2 binary64) %72 %1641)
(fma.f64 #s(literal 1/2 binary64) %72 %1643)
(fma.f64 #s(literal 1/2 binary64) %4 %1651)
(-.f64 %1192 (*.f64 #s(literal -1/2 binary64) %1571))
(-.f64 %1192 (neg.f64 %1651))
(-.f64 %1181 (*.f64 %1579 #s(literal 1/2 binary64)))
(-.f64 %1181 (neg.f64 %1645))
(-.f64 %1643 %1216)
(-.f64 %1643 %1218)
(-.f64 %1643 %1220)
(-.f64 %1178 %1635)
(+.f64 %1192 %1651)
(+.f64 %1181 %1645)
(+.f64 %1643 %1178)
(+.f64 %1178 %1639)
(+.f64 %1178 %1641)
(+.f64 %1178 %1643)

reconstruct77.0ms (2.7%)

Counts
1 727 → 395
Compiler

Compiled 1 727 to 2 454 computations (-42.1% saved)

eval43.0ms (1.5%)

Compiler

Compiled 498 to 2 101 computations (-321.9% saved)

prune6.0ms (0.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New4935498
Fresh000
Picked527
Done000
Total4987505
Accuracy
100.0%
Counts
505 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (+.f64 (hypot.f64 (*.f64 (neg.f64 (neg.f64 (fabs.f64 q))) #s(literal -2 binary64)) (fabs.f64 (-.f64 r p))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
40.8%
%49 = (-.f64 p r)
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (*.f64 %49 %49))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
67.9%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (-.f64 r p)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
45.9%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (+.f64 q q)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
12.6%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (*.f64 #s(literal -2 binary64) q)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
39.0%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (neg.f64 p)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
1.1%
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))))) (*.f64 #s(literal -1 binary64) q))
Compiler

Compiled 7 to 38 computations (-442.9% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series39.0ms (1.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010469140
Stop Event
iter-limit
Counts
32 → 203
Calls
Call 1
Inputs
%1 = (fabs.f64 p)
%3 = (fabs.f64 r)
%7 = (*.f64 #s(literal -2 binary64) q)
%8 = (neg.f64 p)
%9 = (+.f64 %3 %1)
%10 = (-.f64 r p)
%11 = (fabs.f64 %10)
%12 = (fabs.f64 q)
%13 = (neg.f64 %12)
%14 = (neg.f64 %13)
%22 = (sqrt (- (pow (- r p) 2) (* -4 (pow q 2))))
%23 = (approx %22 %8)
%24 = (approx %22 %10)
%25 = (+.f64 q q)
%26 = (approx %22 %25)
%27 = (approx %22 %7)
%28 = (*.f64 %14 #s(literal -2 binary64))
%29 = (hypot.f64 %28 %11)
%30 = (+.f64 %23 %9)
%32 = (+.f64 %24 %9)
%34 = (+.f64 %26 %9)
%36 = (+.f64 %27 %9)
%38 = (+.f64 %29 %9)
p
%1
r
%3
q
#s(literal 1/2 binary64)
#s(literal -2 binary64)
%7
%8
%9
%10
%11
%12
%13
%14
%23
%24
%25
%26
%27
%28
%29
%30
(*.f64 %30 #s(literal 1/2 binary64))
%32
(*.f64 %32 #s(literal 1/2 binary64))
%34
(*.f64 %34 #s(literal 1/2 binary64))
%36
(*.f64 %36 #s(literal 1/2 binary64))
%38
(*.f64 %38 #s(literal 1/2 binary64))
Outputs
%4 = (fabs p)
%5 = (fabs.f64 p)
%9 = (*.f64 #s(literal -1 binary64) p)
%12 = (fabs r)
%13 = (+ %12 %4)
%14 = (fabs.f64 r)
%15 = (+.f64 %5 %14)
%17 = (- r p)
%21 = (fabs %17)
%22 = (-.f64 r p)
%23 = (fabs.f64 %22)
%32 = (sqrt (- (pow %17 2) (* -4 (pow q 2))))
%34 = (pow.f64 r #s(literal 2 binary64))
%36 = (pow.f64 q #s(literal 2 binary64))
%37 = (*.f64 #s(literal -4 binary64) %36)
%39 = (sqrt.f64 (-.f64 %34 %37))
%41 = (*.f64 p r)
%42 = (/.f64 %41 %39)
%44 = (+.f64 %39 (*.f64 #s(literal -1 binary64) %42))
%46 = (/.f64 r %39)
%51 = (-.f64 #s(literal 1 binary64) (/.f64 %34 (pow.f64 %39 #s(literal 2 binary64))))
%53 = (/.f64 (*.f64 p %51) %39)
%57 = (+.f64 %39 (*.f64 p (fma.f64 #s(literal -1 binary64) %46 (*.f64 #s(literal 1/2 binary64) %53))))
%63 = (/.f64 (*.f64 p (*.f64 r %51)) (pow.f64 %39 #s(literal 3 binary64)))
%64 = (/.f64 %51 %39)
%70 = (+.f64 %39 (*.f64 p (fma.f64 #s(literal -1 binary64) %46 (*.f64 p (fma.f64 #s(literal 1/2 binary64) %63 (*.f64 #s(literal 1/2 binary64) %64))))))
%72 = (fabs q)
%73 = (neg %72)
%76 = (* (neg %73) -2)
%80 = (sqrt (+ (* %76 %76) (* %21 %21)))
%82 = (fabs.f64 q)
%83 = (pow.f64 %82 #s(literal 2 binary64))
%84 = (pow.f64 %23 #s(literal 2 binary64))
%86 = (sqrt.f64 (fma.f64 #s(literal 4 binary64) %83 %84))
%88 = (+ %32 %13)
%90 = (+.f64 %5 (+.f64 %14 %39))
%102 = (* %88 1/2)
%103 = (*.f64 #s(literal 1/2 binary64) %90)
%121 = (+ %80 %13)
%123 = (+.f64 %5 (+.f64 %14 %86))
%125 = (* %121 1/2)
%128 = (pow.f64 p #s(literal 2 binary64))
%129 = (/.f64 #s(literal 1 binary64) p)
%130 = (fabs.f64 %129)
%131 = (*.f64 %128 %130)
%133 = (/.f64 %14 %128)
%137 = (/.f64 r p)
%145 = (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %137)))
%148 = (*.f64 #s(literal 2 binary64) (/.f64 %36 %128))
%153 = (*.f64 %36 r)
%154 = (pow.f64 p #s(literal 3 binary64))
%162 = (sqrt.f64 (pow.f64 %130 #s(literal 2 binary64)))
%165 = (pow.f64 p #s(literal 4 binary64))
%167 = (/.f64 %83 (*.f64 %165 %162))
%168 = (*.f64 #s(literal 2 binary64) %167)
%173 = (pow.f64 %82 #s(literal 4 binary64))
%175 = (pow.f64 p #s(literal 8 binary64))
%178 = (/.f64 %173 (*.f64 %175 (pow.f64 %162 #s(literal 3 binary64))))
%184 = (pow.f64 %82 #s(literal 6 binary64))
%186 = (pow.f64 p #s(literal 12 binary64))
%200 = (/.f64 r %128)
%201 = (+.f64 %129 %133)
%206 = (/.f64 %36 %154)
%214 = (*.f64 #s(literal 1/2 binary64) %129)
%218 = (*.f64 #s(literal -1 binary64) r)
%220 = (/.f64 (+.f64 %14 %218) %128)
%230 = (+.f64 %130 %162)
%231 = (*.f64 %128 %230)
%237 = (fma.f64 #s(literal 2 binary64) %167 %133)
%249 = (*.f64 #s(literal 1/2 binary64) %133)
%254 = (fma.f64 #s(literal 1/2 binary64) %230 (fma.f64 #s(literal 1/2 binary64) %133 %167))
%261 = (fabs.f64 (/.f64 #s(literal -1 binary64) p))
%262 = (*.f64 %128 %261)
%265 = (fma.f64 #s(literal -1 binary64) %261 %133)
%271 = (/.f64 %36 p)
%272 = (*.f64 #s(literal -2 binary64) %271)
%281 = (*.f64 #s(literal 2 binary64) %36)
%293 = (sqrt.f64 (pow.f64 %261 #s(literal 2 binary64)))
%297 = (/.f64 %83 (*.f64 %165 %293))
%298 = (*.f64 #s(literal 2 binary64) %297)
%304 = (/.f64 %173 (*.f64 %175 (pow.f64 %293 #s(literal 3 binary64))))
%318 = (*.f64 #s(literal -1 binary64) %261)
%322 = (+.f64 r %14)
%323 = (/.f64 %322 p)
%343 = (*.f64 #s(literal -1/2 binary64) %261)
%362 = (+.f64 %293 %318)
%363 = (*.f64 %128 %362)
%369 = (fma.f64 #s(literal -1 binary64) %261 (fma.f64 #s(literal 2 binary64) %297 %133))
%383 = (fma.f64 #s(literal 1/2 binary64) %362 (fma.f64 #s(literal 1/2 binary64) %133 %297))
%392 = (sqrt.f64 (-.f64 %128 %37))
%394 = (/.f64 %41 %392)
%396 = (+.f64 %392 (*.f64 #s(literal -1 binary64) %394))
%398 = (/.f64 p %392)
%401 = (-.f64 #s(literal 1 binary64) (/.f64 %128 (pow.f64 %392 #s(literal 2 binary64))))
%402 = (*.f64 r %401)
%403 = (/.f64 %402 %392)
%407 = (+.f64 %392 (*.f64 r (fma.f64 #s(literal -1 binary64) %398 (*.f64 #s(literal 1/2 binary64) %403))))
%411 = (/.f64 (*.f64 p %402) (pow.f64 %392 #s(literal 3 binary64)))
%412 = (/.f64 %401 %392)
%418 = (+.f64 %392 (*.f64 r (fma.f64 #s(literal -1 binary64) %398 (*.f64 r (fma.f64 #s(literal 1/2 binary64) %411 (*.f64 #s(literal 1/2 binary64) %412))))))
%421 = (+.f64 %5 (+.f64 %14 %392))
%432 = (*.f64 #s(literal 1/2 binary64) %421)
%448 = (/.f64 #s(literal 1 binary64) r)
%449 = (fabs.f64 %448)
%450 = (*.f64 %34 %449)
%452 = (/.f64 %5 %34)
%456 = (/.f64 p r)
%459 = (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %456)))
%462 = (*.f64 #s(literal 2 binary64) (/.f64 %36 %34))
%467 = (*.f64 p %36)
%468 = (pow.f64 r #s(literal 3 binary64))
%476 = (sqrt.f64 (pow.f64 %449 #s(literal 2 binary64)))
%479 = (pow.f64 r #s(literal 4 binary64))
%481 = (/.f64 %83 (*.f64 %479 %476))
%482 = (*.f64 #s(literal 2 binary64) %481)
%486 = (pow.f64 r #s(literal 8 binary64))
%489 = (/.f64 %173 (*.f64 %486 (pow.f64 %476 #s(literal 3 binary64))))
%494 = (pow.f64 r #s(literal 12 binary64))
%507 = (/.f64 p %34)
%508 = (+.f64 %448 %452)
%513 = (/.f64 %36 %468)
%521 = (*.f64 #s(literal 1/2 binary64) %448)
%526 = (/.f64 (+.f64 %5 %9) %34)
%536 = (+.f64 %449 %476)
%537 = (*.f64 %34 %536)
%543 = (fma.f64 #s(literal 2 binary64) %481 %452)
%555 = (*.f64 #s(literal 1/2 binary64) %452)
%560 = (fma.f64 #s(literal 1/2 binary64) %536 (fma.f64 #s(literal 1/2 binary64) %452 %481))
%567 = (fabs.f64 (/.f64 #s(literal -1 binary64) r))
%568 = (*.f64 %34 %567)
%571 = (fma.f64 #s(literal -1 binary64) %567 %452)
%581 = (/.f64 %36 r)
%582 = (*.f64 #s(literal -2 binary64) %581)
%602 = (sqrt.f64 (pow.f64 %567 #s(literal 2 binary64)))
%606 = (/.f64 %83 (*.f64 %479 %602))
%607 = (*.f64 #s(literal 2 binary64) %606)
%613 = (/.f64 %173 (*.f64 %486 (pow.f64 %602 #s(literal 3 binary64))))
%627 = (*.f64 #s(literal -1 binary64) %567)
%631 = (+.f64 p %5)
%632 = (/.f64 %631 r)
%652 = (*.f64 #s(literal -1/2 binary64) %567)
%671 = (+.f64 %602 %627)
%672 = (*.f64 %34 %671)
%678 = (fma.f64 #s(literal -1 binary64) %567 (fma.f64 #s(literal 2 binary64) %606 %452))
%692 = (fma.f64 #s(literal 1/2 binary64) %671 (fma.f64 #s(literal 1/2 binary64) %452 %606))
%705 = (pow.f64 %22 #s(literal 2 binary64))
%706 = (sqrt.f64 %705)
%708 = (/.f64 %36 %706)
%710 = (+.f64 %706 (*.f64 #s(literal 2 binary64) %708))
%712 = (pow.f64 %706 #s(literal 3 binary64))
%713 = (/.f64 %36 %712)
%714 = (/.f64 #s(literal 1 binary64) %706)
%715 = (*.f64 #s(literal 2 binary64) %714)
%718 = (+.f64 %706 (*.f64 %36 (fma.f64 #s(literal -2 binary64) %713 %715)))
%721 = (/.f64 %36 (pow.f64 %706 #s(literal 5 binary64)))
%723 = (/.f64 #s(literal 1 binary64) %712)
%728 = (+.f64 %706 (*.f64 %36 (fma.f64 %36 (-.f64 (*.f64 #s(literal 4 binary64) %721) (*.f64 #s(literal 2 binary64) %723)) %715)))
%736 = (+.f64 %5 (+.f64 %14 %706))
%762 = (fabs.f64 (/.f64 #s(literal 1 binary64) q))
%763 = (*.f64 %36 %762)
%767 = (/.f64 %705 %36)
%768 = (*.f64 #s(literal 1/4 binary64) %767)
%770 = (*.f64 q (+.f64 #s(literal 2 binary64) %768))
%773 = (pow.f64 %22 #s(literal 4 binary64))
%774 = (pow.f64 q #s(literal 4 binary64))
%775 = (/.f64 %773 %774)
%778 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %775 %768)))
%787 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %775 (fma.f64 #s(literal 1/512 binary64) (/.f64 (pow.f64 %22 #s(literal 6 binary64)) (pow.f64 q #s(literal 6 binary64))) %768))))
%793 = (sqrt.f64 (*.f64 #s(literal 4 binary64) (pow.f64 %762 #s(literal 2 binary64))))
%794 = (*.f64 %36 %793)
%797 = (/.f64 %84 (*.f64 %774 %793))
%798 = (*.f64 #s(literal 1/2 binary64) %797)
%803 = (pow.f64 %23 #s(literal 4 binary64))
%804 = (pow.f64 q #s(literal 8 binary64))
%807 = (/.f64 %803 (*.f64 %804 (pow.f64 %793 #s(literal 3 binary64))))
%813 = (pow.f64 %23 #s(literal 6 binary64))
%814 = (pow.f64 q #s(literal 12 binary64))
%825 = (+.f64 (/.f64 %5 q) (/.f64 %14 q))
%829 = (fma.f64 #s(literal 1/4 binary64) %767 %825)
%837 = (/.f64 %15 q)
%838 = (*.f64 #s(literal 1/2 binary64) %837)
%843 = (fma.f64 #s(literal 1/8 binary64) %767 %838)
%854 = (+.f64 (/.f64 %5 %36) (/.f64 %14 %36))
%858 = (fma.f64 #s(literal 1/2 binary64) %797 %854)
%869 = (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %36))
%870 = (fma.f64 #s(literal 1/2 binary64) %793 %869)
%873 = (fma.f64 #s(literal 1/4 binary64) %797 %870)
%881 = (fabs.f64 (/.f64 #s(literal -1 binary64) q))
%882 = (*.f64 %36 %881)
%896 = (sqrt.f64 (*.f64 #s(literal 4 binary64) (pow.f64 %881 #s(literal 2 binary64))))
%897 = (*.f64 %36 %896)
%900 = (/.f64 %84 (*.f64 %774 %896))
%901 = (*.f64 #s(literal 1/2 binary64) %900)
%907 = (/.f64 %803 (*.f64 %804 (pow.f64 %896 #s(literal 3 binary64))))
%926 = (/.f64 %705 q)
%936 = (/.f64 %773 %36)
%956 = (*.f64 #s(literal 1/2 binary64) %15)
%977 = (fma.f64 #s(literal 1/2 binary64) %900 %854)
%987 = (fma.f64 #s(literal 1/2 binary64) %896 %869)
%990 = (fma.f64 #s(literal 1/4 binary64) %900 %987)
(approx p #s(literal 0 binary64))
(approx p p)
(approx %4 %5)
(approx (neg p) %9)
(approx %13 %15)
(approx %17 r)
(approx %17 (+.f64 r %9))
(approx %21 %23)
(approx %32 %39)
(approx %32 %44)
(approx %32 %57)
(approx %32 %70)
(approx %80 %86)
(approx %88 %90)
(approx %88 (+.f64 %5 (+.f64 %14 %44)))
(approx %88 (+.f64 %5 (+.f64 %14 %57)))
(approx %88 (+.f64 %5 (+.f64 %14 %70)))
(approx %102 %103)
(approx %102 (fma.f64 #s(literal -1/2 binary64) %42 %103))
(approx %102 (fma.f64 #s(literal 1/2 binary64) %90 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %46 (*.f64 #s(literal 1/4 binary64) %53)))))
(approx %102 (fma.f64 #s(literal 1/2 binary64) %90 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %46 (*.f64 p (fma.f64 #s(literal 1/4 binary64) %63 (*.f64 #s(literal 1/4 binary64) %64)))))))
(approx %121 %123)
(approx %125 (*.f64 #s(literal 1/2 binary64) %123))
(approx %4 %131)
(approx %13 (*.f64 %128 (+.f64 %130 %133)))
(approx %17 (*.f64 p (-.f64 %137 #s(literal 1 binary64))))
(approx %21 (*.f64 #s(literal -1 binary64) %131))
(approx %32 %145)
(approx %32 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %137 %148))))
(approx %32 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %137 (fma.f64 #s(literal 2 binary64) (/.f64 %153 %154) %148)))))
(approx %80 (*.f64 %128 %162))
(approx %80 (*.f64 %128 (+.f64 %162 %168)))
(approx %80 (*.f64 %128 (+.f64 %162 (fma.f64 #s(literal -2 binary64) %178 %168))))
(approx %80 (*.f64 %128 (+.f64 %162 (fma.f64 #s(literal -2 binary64) %178 (fma.f64 #s(literal 2 binary64) %167 (*.f64 #s(literal 4 binary64) (/.f64 %184 (*.f64 %186 (pow.f64 %162 #s(literal 5 binary64))))))))))
(approx %88 (*.f64 %128 (+.f64 %130 %129)))
(approx %88 (*.f64 %128 (+.f64 %130 (fma.f64 #s(literal -1 binary64) %200 %201))))
(approx %88 (*.f64 %128 (+.f64 %130 (fma.f64 #s(literal -1 binary64) %200 (fma.f64 #s(literal 2 binary64) %206 %201)))))
(approx %102 (*.f64 #s(literal 1/2 binary64) %131))
(approx %102 (*.f64 %128 (fma.f64 #s(literal 1/2 binary64) %130 %214)))
(approx %102 (*.f64 %128 (fma.f64 #s(literal 1/2 binary64) %130 (fma.f64 #s(literal 1/2 binary64) %220 %214))))
(approx %102 (*.f64 %128 (fma.f64 #s(literal 1/2 binary64) %130 (fma.f64 #s(literal 1/2 binary64) %220 (fma.f64 #s(literal 1/2 binary64) %129 %206)))))
(approx %121 %231)
(approx %121 (*.f64 %128 (+.f64 %130 (+.f64 %162 %133))))
(approx %121 (*.f64 %128 (+.f64 %130 (+.f64 %162 %237))))
(approx %121 (*.f64 %128 (+.f64 %130 (+.f64 %162 (fma.f64 #s(literal -2 binary64) %178 %237)))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %231))
(approx %125 (*.f64 %128 (fma.f64 #s(literal 1/2 binary64) %230 %249)))
(approx %125 (*.f64 %128 %254))
(approx %125 (*.f64 %128 (fma.f64 #s(literal -1 binary64) %178 %254)))
(approx %4 (*.f64 #s(literal -1 binary64) %262))
(approx %13 (*.f64 %128 %265))
(approx %17 (*.f64 #s(literal -1 binary64) %145))
(approx %21 %262)
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r %272) p))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %153 p) %281) p))) p))))))
(approx %80 (*.f64 %128 %293))
(approx %80 (*.f64 %128 (+.f64 %293 %298)))
(approx %80 (*.f64 %128 (+.f64 %293 (fma.f64 #s(literal -2 binary64) %304 %298))))
(approx %80 (*.f64 %128 (+.f64 %293 (fma.f64 #s(literal -2 binary64) %304 (fma.f64 #s(literal 2 binary64) %297 (*.f64 #s(literal 4 binary64) (/.f64 %184 (*.f64 %186 (pow.f64 %293 #s(literal 5 binary64))))))))))
(approx %88 (*.f64 %128 (-.f64 %318 %129)))
(approx %88 (*.f64 %128 (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %323)) p)))))
(approx %88 (*.f64 %128 (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (+.f64 %14 %272)) p))) p)))))
(approx %102 (*.f64 #s(literal -1/2 binary64) %262))
(approx %102 (*.f64 %128 (-.f64 %343 %214)))
(approx %102 (*.f64 %128 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %323)) p) %343)))
(approx %102 (*.f64 %128 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %271 (*.f64 #s(literal 1/2 binary64) %322)) p))) p) %343)))
(approx %121 %363)
(approx %121 (*.f64 %128 (+.f64 %293 %265)))
(approx %121 (*.f64 %128 (+.f64 %293 %369)))
(approx %121 (*.f64 %128 (+.f64 %293 (fma.f64 #s(literal -2 binary64) %304 %369))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %363))
(approx %125 (*.f64 %128 (fma.f64 #s(literal 1/2 binary64) %362 %249)))
(approx %125 (*.f64 %128 %383))
(approx %125 (*.f64 %128 (fma.f64 #s(literal -1 binary64) %304 %383)))
(approx %12 %14)
(approx %17 %22)
(approx %32 %392)
(approx %32 %396)
(approx %32 %407)
(approx %32 %418)
(approx %88 %421)
(approx %88 (+.f64 %5 (+.f64 %14 %396)))
(approx %88 (+.f64 %5 (+.f64 %14 %407)))
(approx %88 (+.f64 %5 (+.f64 %14 %418)))
(approx %102 %432)
(approx %102 (fma.f64 #s(literal -1/2 binary64) %394 %432))
(approx %102 (fma.f64 #s(literal 1/2 binary64) %421 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %398 (*.f64 #s(literal 1/4 binary64) %403)))))
(approx %102 (fma.f64 #s(literal 1/2 binary64) %421 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %398 (*.f64 r (fma.f64 #s(literal 1/4 binary64) %411 (*.f64 #s(literal 1/4 binary64) %412)))))))
(approx %12 %450)
(approx %13 (*.f64 %34 (+.f64 %449 %452)))
(approx %17 %459)
(approx %32 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %456 %462))))
(approx %32 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %456 (fma.f64 #s(literal 2 binary64) (/.f64 %467 %468) %462)))))
(approx %80 (*.f64 %34 %476))
(approx %80 (*.f64 %34 (+.f64 %476 %482)))
(approx %80 (*.f64 %34 (+.f64 %476 (fma.f64 #s(literal -2 binary64) %489 %482))))
(approx %80 (*.f64 %34 (+.f64 %476 (fma.f64 #s(literal -2 binary64) %489 (fma.f64 #s(literal 2 binary64) %481 (*.f64 #s(literal 4 binary64) (/.f64 %184 (*.f64 %494 (pow.f64 %476 #s(literal 5 binary64))))))))))
(approx %88 (*.f64 %34 (+.f64 %449 %448)))
(approx %88 (*.f64 %34 (+.f64 %449 (fma.f64 #s(literal -1 binary64) %507 %508))))
(approx %88 (*.f64 %34 (+.f64 %449 (fma.f64 #s(literal -1 binary64) %507 (fma.f64 #s(literal 2 binary64) %513 %508)))))
(approx %102 (*.f64 #s(literal 1/2 binary64) %450))
(approx %102 (*.f64 %34 (fma.f64 #s(literal 1/2 binary64) %449 %521)))
(approx %102 (*.f64 %34 (fma.f64 #s(literal 1/2 binary64) %449 (fma.f64 #s(literal 1/2 binary64) %526 %521))))
(approx %102 (*.f64 %34 (fma.f64 #s(literal 1/2 binary64) %449 (fma.f64 #s(literal 1/2 binary64) %526 (fma.f64 #s(literal 1/2 binary64) %448 %513)))))
(approx %121 %537)
(approx %121 (*.f64 %34 (+.f64 %449 (+.f64 %476 %452))))
(approx %121 (*.f64 %34 (+.f64 %449 (+.f64 %476 %543))))
(approx %121 (*.f64 %34 (+.f64 %449 (+.f64 %476 (fma.f64 #s(literal -2 binary64) %489 %543)))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %537))
(approx %125 (*.f64 %34 (fma.f64 #s(literal 1/2 binary64) %536 %555)))
(approx %125 (*.f64 %34 %560))
(approx %125 (*.f64 %34 (fma.f64 #s(literal -1 binary64) %489 %560)))
(approx %12 (*.f64 #s(literal -1 binary64) %568))
(approx %13 (*.f64 %34 %571))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 r (-.f64 %456 #s(literal 1 binary64)))))
(approx %32 %218)
(approx %32 (*.f64 #s(literal -1 binary64) %459))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p %582) r))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %467 r) %281) r))) r))))))
(approx %80 (*.f64 %34 %602))
(approx %80 (*.f64 %34 (+.f64 %602 %607)))
(approx %80 (*.f64 %34 (+.f64 %602 (fma.f64 #s(literal -2 binary64) %613 %607))))
(approx %80 (*.f64 %34 (+.f64 %602 (fma.f64 #s(literal -2 binary64) %613 (fma.f64 #s(literal 2 binary64) %606 (*.f64 #s(literal 4 binary64) (/.f64 %184 (*.f64 %494 (pow.f64 %602 #s(literal 5 binary64))))))))))
(approx %88 (*.f64 %34 (-.f64 %627 %448)))
(approx %88 (*.f64 %34 (fma.f64 #s(literal -1 binary64) %567 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %632)) r)))))
(approx %88 (*.f64 %34 (fma.f64 #s(literal -1 binary64) %567 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (+.f64 %5 %582)) r))) r)))))
(approx %102 (*.f64 #s(literal -1/2 binary64) %568))
(approx %102 (*.f64 %34 (-.f64 %652 %521)))
(approx %102 (*.f64 %34 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %632)) r) %652)))
(approx %102 (*.f64 %34 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %581 (*.f64 #s(literal 1/2 binary64) %631)) r))) r) %652)))
(approx %121 %672)
(approx %121 (*.f64 %34 (+.f64 %602 %571)))
(approx %121 (*.f64 %34 (+.f64 %602 %678)))
(approx %121 (*.f64 %34 (+.f64 %602 (fma.f64 #s(literal -2 binary64) %613 %678))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %672))
(approx %125 (*.f64 %34 (fma.f64 #s(literal 1/2 binary64) %671 %555)))
(approx %125 (*.f64 %34 %692))
(approx %125 (*.f64 %34 (fma.f64 #s(literal -1 binary64) %613 %692)))
(approx q q)
(approx (* -2 q) (*.f64 #s(literal -2 binary64) q))
(approx %72 %82)
(approx %73 (*.f64 #s(literal -1 binary64) %82))
(approx %32 %706)
(approx %32 %710)
(approx %32 %718)
(approx %32 %728)
(approx (+ q q) (*.f64 #s(literal 2 binary64) q))
(approx %76 (*.f64 #s(literal -2 binary64) %82))
(approx %88 %736)
(approx %88 (+.f64 %5 (+.f64 %14 %710)))
(approx %88 (+.f64 %5 (+.f64 %14 %718)))
(approx %88 (+.f64 %5 (+.f64 %14 %728)))
(approx %102 (*.f64 #s(literal 1/2 binary64) %736))
(approx %102 (fma.f64 #s(literal 1/2 binary64) %736 %708))
(approx %102 (fma.f64 #s(literal 1/2 binary64) %736 (*.f64 %36 (fma.f64 #s(literal -1 binary64) %713 %714))))
(approx %102 (fma.f64 #s(literal 1/2 binary64) %736 (*.f64 %36 (fma.f64 %36 (-.f64 (*.f64 #s(literal 2 binary64) %721) %723) %714))))
(approx %72 %763)
(approx %73 (*.f64 #s(literal -1 binary64) %763))
(approx %32 %770)
(approx %32 %778)
(approx %32 %787)
(approx %76 (*.f64 #s(literal -2 binary64) %763))
(approx %80 %794)
(approx %80 (*.f64 %36 (+.f64 %793 %798)))
(approx %80 (*.f64 %36 (+.f64 %793 (fma.f64 #s(literal -1/8 binary64) %807 %798))))
(approx %80 (*.f64 %36 (+.f64 %793 (fma.f64 #s(literal -1/8 binary64) %807 (fma.f64 #s(literal 1/16 binary64) (/.f64 %813 (*.f64 %814 (pow.f64 %793 #s(literal 5 binary64)))) %798)))))
(approx %88 (*.f64 q (+.f64 #s(literal 2 binary64) %825)))
(approx %88 (*.f64 q (+.f64 #s(literal 2 binary64) %829)))
(approx %88 (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %775 %829))))
(approx %102 (*.f64 q (+.f64 #s(literal 1 binary64) %838)))
(approx %102 (*.f64 q (+.f64 #s(literal 1 binary64) %843)))
(approx %102 (*.f64 q (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/128 binary64) %775 %843))))
(approx %121 (*.f64 %36 (+.f64 %793 %854)))
(approx %121 (*.f64 %36 (+.f64 %793 %858)))
(approx %121 (*.f64 %36 (+.f64 %793 (fma.f64 #s(literal -1/8 binary64) %807 %858))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %794))
(approx %125 (*.f64 %36 %870))
(approx %125 (*.f64 %36 %873))
(approx %125 (*.f64 %36 (fma.f64 #s(literal -1/16 binary64) %807 %873)))
(approx %72 (*.f64 #s(literal -1 binary64) %882))
(approx %73 %882)
(approx %32 (*.f64 #s(literal -1 binary64) %770))
(approx %32 (*.f64 #s(literal -1 binary64) %778))
(approx %32 (*.f64 #s(literal -1 binary64) %787))
(approx %76 (*.f64 #s(literal 2 binary64) %882))
(approx %80 %897)
(approx %80 (*.f64 %36 (+.f64 %896 %901)))
(approx %80 (*.f64 %36 (+.f64 %896 (fma.f64 #s(literal -1/8 binary64) %907 %901))))
(approx %80 (*.f64 %36 (+.f64 %896 (fma.f64 #s(literal -1/8 binary64) %907 (fma.f64 #s(literal 1/16 binary64) (/.f64 %813 (*.f64 %814 (pow.f64 %896 #s(literal 5 binary64)))) %901)))))
(approx %88 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) %837)))))
(approx %88 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %5 (+.f64 %14 (*.f64 #s(literal -1/4 binary64) %926))) q))))))
(approx %88 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %5 (+.f64 %14 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/64 binary64) %936 (*.f64 #s(literal 1/4 binary64) %705)) q)))) q))))))
(approx %102 (*.f64 #s(literal -1 binary64) q))
(approx %102 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) %837)))))
(approx %102 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) %926 %956) q))))))
(approx %102 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/128 binary64) %936 (*.f64 #s(literal 1/8 binary64) %705)) q) %956) q))))))
(approx %121 (*.f64 %36 (+.f64 %896 %854)))
(approx %121 (*.f64 %36 (+.f64 %896 %977)))
(approx %121 (*.f64 %36 (+.f64 %896 (fma.f64 #s(literal -1/8 binary64) %907 %977))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %897))
(approx %125 (*.f64 %36 %987))
(approx %125 (*.f64 %36 %990))
(approx %125 (*.f64 %36 (fma.f64 #s(literal -1/16 binary64) %907 %990)))
Calls

9 calls:

TimeVariablePoint
1.0ms
q
inf
1.0ms
q
0
1.0ms
p
0
1.0ms
q
-inf
1.0ms
r
0

rewrite92.0ms (3.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040336
066326
1209290
2665290
32634290
04061290
04429260
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
32 → 616
Calls
Call 1
Inputs
%1 = (fabs.f64 p)
%3 = (fabs.f64 r)
%7 = (*.f64 #s(literal -2 binary64) q)
%8 = (neg.f64 p)
%9 = (+.f64 %3 %1)
%10 = (-.f64 r p)
%11 = (fabs.f64 %10)
%12 = (fabs.f64 q)
%13 = (neg.f64 %12)
%14 = (neg.f64 %13)
%22 = (sqrt (- (pow (- r p) 2) (* -4 (pow q 2))))
%23 = (approx %22 %8)
%24 = (approx %22 %10)
%25 = (+.f64 q q)
%26 = (approx %22 %25)
%27 = (approx %22 %7)
%28 = (*.f64 %14 #s(literal -2 binary64))
%29 = (hypot.f64 %28 %11)
%30 = (+.f64 %23 %9)
%32 = (+.f64 %24 %9)
%34 = (+.f64 %26 %9)
%36 = (+.f64 %27 %9)
%38 = (+.f64 %29 %9)
p
%1
r
%3
q
#s(literal 1/2 binary64)
#s(literal -2 binary64)
%7
%8
%9
%10
%11
%12
%13
%14
%23
%24
%25
%26
%27
%28
%29
%30
(*.f64 %30 #s(literal 1/2 binary64))
%32
(*.f64 %32 #s(literal 1/2 binary64))
%34
(*.f64 %34 #s(literal 1/2 binary64))
%36
(*.f64 %36 #s(literal 1/2 binary64))
%38
(*.f64 %38 #s(literal 1/2 binary64))
Outputs
%1 = (fabs.f64 p)
%2 = (sqrt.f64 %1)
%5 = (sqrt.f64 (fabs.f64 (*.f64 %2 %1)))
%6 = (sqrt.f64 %2)
%8 = (neg.f64 %2)
%15 = (*.f64 p p)
%29 = (neg.f64 %1)
%33 = (neg.f64 p)
%37 = (fabs.f64 r)
%38 = (sqrt.f64 %37)
%41 = (sqrt.f64 (fabs.f64 (*.f64 %38 %37)))
%42 = (sqrt.f64 %38)
%44 = (neg.f64 %38)
%50 = (*.f64 r r)
%60 = (neg.f64 %37)
%62 = (neg.f64 r)
%66 = (*.f64 #s(literal -2 binary64) q)
%71 = (+.f64 q q)
%73 = (neg.f64 q)
%79 = (+.f64 %37 %1)
%82 = (-.f64 r p)
%87 = (-.f64 p r)
%93 = (neg.f64 %79)
%95 = (neg.f64 %60)
%120 = (fabs.f64 %82)
%121 = (sqrt.f64 %120)
%124 = (sqrt.f64 (fabs.f64 (*.f64 %121 %120)))
%125 = (sqrt.f64 %121)
%127 = (neg.f64 %121)
%132 = (*.f64 %87 %82)
%137 = (*.f64 %82 %82)
%146 = (neg.f64 %120)
%152 = (fabs.f64 q)
%153 = (sqrt.f64 %152)
%156 = (sqrt.f64 (fabs.f64 (*.f64 %153 %152)))
%157 = (sqrt.f64 %153)
%158 = (*.f64 %156 %157)
%159 = (neg.f64 %153)
%160 = (*.f64 %159 %159)
%161 = (*.f64 %157 %156)
%162 = (*.f64 %153 %153)
%163 = (pow.f64 %159 #s(literal 2 binary64))
%164 = (*.f64 q q)
%166 = (pow.f64 (*.f64 %164 %164) #s(literal 1/4 binary64))
%167 = (pow.f64 %153 #s(literal 2 binary64))
%168 = (pow.f64 %164 #s(literal 1/2 binary64))
%169 = (pow.f64 %152 #s(literal 1 binary64))
%171 = (/.f64 #s(literal 1 binary64) (pow.f64 %153 #s(literal -2 binary64)))
%173 = (/.f64 #s(literal 1 binary64) (pow.f64 %164 #s(literal -1/2 binary64)))
%175 = (/.f64 #s(literal 1 binary64) (pow.f64 %152 #s(literal -1 binary64)))
%176 = (neg.f64 %152)
%177 = (neg.f64 %176)
%178 = (sqrt.f64 %164)
%179 = (fabs.f64 %73)
%180 = (fabs.f64 %152)
%181 = (fabs.f64 %176)
%194 = (sqrt (- (pow (- r p) 2) (* (pow q 2) -4)))
%195 = (approx %194 %33)
%199 = (approx %194 %82)
%204 = (*.f64 #s(literal 1 binary64) q)
%213 = (*.f64 q #s(literal 1 binary64))
%218 = (approx %194 %71)
%222 = (approx %194 %66)
%230 = (*.f64 %152 #s(literal -2 binary64))
%238 = (*.f64 #s(literal 2 binary64) %152)
%240 = (*.f64 #s(literal 1 binary64) %176)
%242 = (*.f64 %176 #s(literal 1 binary64))
%248 = (fma.f64 (*.f64 #s(literal 4 binary64) q) q %137)
%249 = (sqrt.f64 %248)
%250 = (sqrt.f64 %249)
%259 = (neg.f64 %249)
%260 = (neg.f64 %259)
%264 = (*.f64 #s(literal 2 binary64) %73)
%269 = (*.f64 %73 #s(literal 2 binary64))
%274 = (*.f64 #s(literal -2 binary64) %73)
%279 = (*.f64 %73 #s(literal -2 binary64))
%332 = (+.f64 %195 %79)
%336 = (neg.f64 %195)
%339 = (-.f64 %29 %195)
%342 = (neg.f64 %332)
%344 = (+.f64 %195 %37)
%346 = (neg.f64 %339)
%348 = (+.f64 %195 %1)
%378 = (*.f64 %332 #s(literal 1/2 binary64))
%392 = (*.f64 #s(literal 1/2 binary64) %2)
%393 = (*.f64 %344 #s(literal 1/2 binary64))
%395 = (*.f64 %37 #s(literal 1/2 binary64))
%397 = (*.f64 %2 #s(literal 1/2 binary64))
%399 = (*.f64 #s(literal 1/2 binary64) %1)
%401 = (*.f64 %79 #s(literal 1/2 binary64))
%403 = (*.f64 %195 #s(literal 1/2 binary64))
%405 = (*.f64 #s(literal 1/2 binary64) %37)
%410 = (*.f64 #s(literal 1/2 binary64) %348)
%413 = (*.f64 %348 #s(literal 1/2 binary64))
%416 = (*.f64 #s(literal -1/2 binary64) %1)
%418 = (*.f64 %29 #s(literal 1/2 binary64))
%420 = (neg.f64 %399)
%422 = (*.f64 #s(literal -1/2 binary64) %79)
%424 = (*.f64 %93 #s(literal 1/2 binary64))
%426 = (neg.f64 %401)
%442 = (+.f64 %199 %79)
%446 = (neg.f64 %199)
%449 = (-.f64 %29 %199)
%452 = (neg.f64 %442)
%454 = (+.f64 %199 %37)
%456 = (neg.f64 %449)
%458 = (+.f64 %199 %1)
%488 = (*.f64 %442 #s(literal 1/2 binary64))
%502 = (*.f64 %454 #s(literal 1/2 binary64))
%508 = (*.f64 %199 #s(literal 1/2 binary64))
%514 = (*.f64 #s(literal 1/2 binary64) %458)
%517 = (*.f64 %458 #s(literal 1/2 binary64))
%540 = (+.f64 %218 %79)
%544 = (neg.f64 %218)
%547 = (-.f64 %29 %218)
%550 = (neg.f64 %540)
%552 = (+.f64 %218 %37)
%554 = (neg.f64 %547)
%556 = (+.f64 %218 %1)
%586 = (*.f64 %540 #s(literal 1/2 binary64))
%600 = (*.f64 %552 #s(literal 1/2 binary64))
%606 = (*.f64 %218 #s(literal 1/2 binary64))
%612 = (*.f64 #s(literal 1/2 binary64) %556)
%615 = (*.f64 %556 #s(literal 1/2 binary64))
%638 = (+.f64 %222 %79)
%642 = (neg.f64 %222)
%645 = (-.f64 %29 %222)
%648 = (neg.f64 %638)
%650 = (+.f64 %222 %37)
%652 = (neg.f64 %645)
%654 = (+.f64 %222 %1)
%684 = (*.f64 %638 #s(literal 1/2 binary64))
%698 = (*.f64 %650 #s(literal 1/2 binary64))
%704 = (*.f64 %222 #s(literal 1/2 binary64))
%710 = (*.f64 #s(literal 1/2 binary64) %654)
%713 = (*.f64 %654 #s(literal 1/2 binary64))
%736 = (+.f64 %249 %79)
%742 = (-.f64 %29 %249)
%745 = (neg.f64 %736)
%747 = (+.f64 %249 %37)
%749 = (neg.f64 %742)
%751 = (+.f64 %249 %1)
%781 = (*.f64 %736 #s(literal 1/2 binary64))
%795 = (*.f64 %747 #s(literal 1/2 binary64))
%801 = (*.f64 %249 #s(literal 1/2 binary64))
%807 = (*.f64 #s(literal 1/2 binary64) %751)
%810 = (*.f64 %751 #s(literal 1/2 binary64))
p
(*.f64 %5 %6)
(*.f64 %8 %8)
(*.f64 %6 %5)
(*.f64 %2 %2)
(pow.f64 %8 #s(literal 2 binary64))
(pow.f64 %2 #s(literal 2 binary64))
(pow.f64 %15 #s(literal 1/2 binary64))
(pow.f64 %1 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %1 #s(literal -1 binary64)))
(neg.f64 %29)
(sqrt.f64 %15)
(fabs.f64 %29)
(fabs.f64 %33)
(fabs.f64 %1)
%1
r
(*.f64 %41 %42)
(*.f64 %44 %44)
(*.f64 %42 %41)
(*.f64 %38 %38)
(pow.f64 %44 #s(literal 2 binary64))
(pow.f64 %38 #s(literal 2 binary64))
(pow.f64 %50 #s(literal 1/2 binary64))
(pow.f64 %37 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %38 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %50 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %37 #s(literal -1 binary64)))
(sqrt.f64 %50)
(fabs.f64 %60)
(fabs.f64 %62)
(fabs.f64 %37)
%37
q
#s(literal 1/2 binary64)
#s(literal -2 binary64)
%66
(*.f64 q #s(literal -2 binary64))
(pow.f64 %66 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %66 #s(literal -1 binary64)))
(neg.f64 %71)
(-.f64 %73 q)
(+.f64 %73 %73)
(pow.f64 %33 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %33 #s(literal -1 binary64)))
%33
(pow.f64 %79 #s(literal 1 binary64))
(/.f64 (*.f64 (+.f64 r p) %82) (-.f64 %37 %1))
(/.f64 (*.f64 (+.f64 p r) %87) (-.f64 %1 %37))
(/.f64 #s(literal 1 binary64) (pow.f64 %79 #s(literal -1 binary64)))
(neg.f64 %93)
(fma.f64 %5 %6 %95)
(fma.f64 %5 %6 %37)
(fma.f64 %41 %42 %1)
(fma.f64 %44 %44 %1)
(fma.f64 %8 %8 %95)
(fma.f64 %8 %8 %37)
(fma.f64 %42 %41 %1)
(fma.f64 %6 %5 %95)
(fma.f64 %6 %5 %37)
(fma.f64 %38 %38 %1)
(fma.f64 %2 %2 %95)
(fma.f64 %2 %2 %37)
(-.f64 %37 %29)
(-.f64 %1 %60)
(+.f64 %95 %1)
%79
(+.f64 %1 %95)
(+.f64 %1 %37)
(pow.f64 %82 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %82 #s(literal -1 binary64)))
(neg.f64 %87)
(-.f64 %33 %62)
%82
(+.f64 %33 r)
(+.f64 r %33)
(*.f64 %124 %125)
(*.f64 %127 %127)
(*.f64 %125 %124)
(*.f64 %121 %121)
(pow.f64 %127 #s(literal 2 binary64))
(pow.f64 (*.f64 %132 %132) #s(literal 1/4 binary64))
(pow.f64 %121 #s(literal 2 binary64))
(pow.f64 %137 #s(literal 1/2 binary64))
(pow.f64 %120 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %121 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %137 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %120 #s(literal -1 binary64)))
(neg.f64 %146)
(sqrt.f64 %137)
(fabs.f64 %146)
(fabs.f64 %87)
(fabs.f64 %120)
%120
%158
%160
%161
%162
%163
%166
%167
%168
%169
%171
%173
%175
%177
%178
%179
%180
%181
%152
(*.f64 %159 %153)
(*.f64 %153 %159)
(pow.f64 %176 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %176 #s(literal -1 binary64)))
%176
%158
%160
%161
%162
%163
%166
%167
%168
%169
%171
%173
%175
%177
%178
%179
%180
%181
%152
(pow.f64 %195 #s(literal 1 binary64))
%195
(/.f64 #s(literal 1 binary64) (pow.f64 %195 #s(literal -1 binary64)))
(pow.f64 %199 #s(literal 1 binary64))
%199
(/.f64 #s(literal 1 binary64) (pow.f64 %199 #s(literal -1 binary64)))
(*.f64 %71 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %204)
(*.f64 #s(literal 2 binary64) q)
(*.f64 q #s(literal 2 binary64))
(pow.f64 %71 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %71 #s(literal -1 binary64)))
(neg.f64 %66)
(fma.f64 #s(literal 1 binary64) q %204)
(fma.f64 q #s(literal 1 binary64) %213)
(-.f64 q %73)
(+.f64 %213 %213)
(+.f64 %204 %204)
%71
(pow.f64 %218 #s(literal 1 binary64))
%218
(/.f64 #s(literal 1 binary64) (pow.f64 %218 #s(literal -1 binary64)))
(pow.f64 %222 #s(literal 1 binary64))
%222
(/.f64 #s(literal 1 binary64) (pow.f64 %222 #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal -2 binary64) %153) %153)
(*.f64 %153 (*.f64 %153 #s(literal -2 binary64)))
(*.f64 %230 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %176)
%230
(*.f64 %176 #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) %152)
(pow.f64 %230 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %230 #s(literal -1 binary64)))
(neg.f64 %238)
(fma.f64 #s(literal 1 binary64) %176 %240)
(fma.f64 %176 #s(literal 1 binary64) %242)
(+.f64 %242 %242)
(+.f64 %240 %240)
(*.f64 %250 %250)
(pow.f64 %250 #s(literal 2 binary64))
(pow.f64 %248 #s(literal 1/2 binary64))
(pow.f64 %249 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %248 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %249 #s(literal -1 binary64)))
%249
(fabs.f64 %260)
(fabs.f64 %259)
(fabs.f64 %249)
(hypot.f64 %264 %146)
(hypot.f64 %264 %87)
(hypot.f64 %264 %120)
(hypot.f64 %264 %82)
(hypot.f64 %269 %146)
(hypot.f64 %269 %87)
(hypot.f64 %269 %120)
(hypot.f64 %269 %82)
(hypot.f64 %274 %146)
(hypot.f64 %274 %87)
(hypot.f64 %274 %120)
(hypot.f64 %274 %82)
(hypot.f64 %279 %146)
(hypot.f64 %279 %87)
(hypot.f64 %279 %120)
(hypot.f64 %279 %82)
(hypot.f64 %238 %146)
(hypot.f64 %238 %87)
(hypot.f64 %238 %120)
(hypot.f64 %238 %82)
(hypot.f64 %146 %264)
(hypot.f64 %146 %269)
(hypot.f64 %146 %274)
(hypot.f64 %146 %279)
(hypot.f64 %146 %238)
(hypot.f64 %146 %230)
(hypot.f64 %146 %71)
(hypot.f64 %146 %66)
(hypot.f64 %87 %264)
(hypot.f64 %87 %269)
(hypot.f64 %87 %274)
(hypot.f64 %87 %279)
(hypot.f64 %87 %238)
(hypot.f64 %87 %230)
(hypot.f64 %87 %71)
(hypot.f64 %87 %66)
(hypot.f64 %230 %146)
(hypot.f64 %230 %87)
(hypot.f64 %230 %120)
(hypot.f64 %230 %82)
(hypot.f64 %71 %146)
(hypot.f64 %71 %87)
(hypot.f64 %71 %120)
(hypot.f64 %71 %82)
(hypot.f64 %120 %264)
(hypot.f64 %120 %269)
(hypot.f64 %120 %274)
(hypot.f64 %120 %279)
(hypot.f64 %120 %238)
(hypot.f64 %120 %230)
(hypot.f64 %120 %71)
(hypot.f64 %120 %66)
(hypot.f64 %82 %264)
(hypot.f64 %82 %269)
(hypot.f64 %82 %274)
(hypot.f64 %82 %279)
(hypot.f64 %82 %238)
(hypot.f64 %82 %230)
(hypot.f64 %82 %71)
(hypot.f64 %82 %66)
(hypot.f64 %66 %146)
(hypot.f64 %66 %87)
(hypot.f64 %66 %120)
(hypot.f64 %66 %82)
(pow.f64 %332 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %332 #s(literal -1 binary64)))
(neg.f64 (-.f64 %336 %79))
(neg.f64 (-.f64 %339 %37))
(neg.f64 %342)
(fma.f64 %5 %6 %344)
(fma.f64 %41 %42 %346)
(fma.f64 %41 %42 %348)
(fma.f64 %44 %44 %346)
(fma.f64 %44 %44 %348)
(fma.f64 %8 %8 %344)
(fma.f64 %42 %41 %346)
(fma.f64 %42 %41 %348)
(fma.f64 %6 %5 %344)
(fma.f64 %38 %38 %346)
(fma.f64 %38 %38 %348)
(fma.f64 %2 %2 %344)
(-.f64 %348 %60)
(-.f64 %344 %29)
(-.f64 %195 %93)
(-.f64 %79 %336)
(-.f64 %37 %339)
(-.f64 %1 (+.f64 %60 %336))
(-.f64 %1 (-.f64 %60 %195))
(-.f64 %1 (neg.f64 %344))
(+.f64 %348 %37)
(+.f64 %344 %1)
%332
(+.f64 %79 (neg.f64 %336))
(+.f64 %79 %195)
(+.f64 %37 %346)
(+.f64 %37 %348)
(+.f64 %1 %344)
%378
(*.f64 #s(literal 1/2 binary64) %332)
(pow.f64 %378 #s(literal 1 binary64))
(/.f64 (*.f64 %332 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %332) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %378 #s(literal -1 binary64)))
(/.f64 %332 #s(literal 2 binary64))
(neg.f64 (*.f64 %342 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %342))
(fma.f64 %392 %2 %393)
(fma.f64 %348 #s(literal 1/2 binary64) %395)
(fma.f64 %2 %397 %393)
(fma.f64 %344 #s(literal 1/2 binary64) %399)
(fma.f64 %195 #s(literal 1/2 binary64) %401)
(fma.f64 %79 #s(literal 1/2 binary64) %403)
(fma.f64 #s(literal 1/2 binary64) %348 %405)
(fma.f64 #s(literal 1/2 binary64) %344 %399)
(fma.f64 #s(literal 1/2 binary64) %195 %401)
(fma.f64 #s(literal 1/2 binary64) %79 %403)
(fma.f64 #s(literal 1/2 binary64) %37 %410)
(fma.f64 #s(literal 1/2 binary64) %1 %393)
(fma.f64 %37 #s(literal 1/2 binary64) %413)
(fma.f64 %1 #s(literal 1/2 binary64) %393)
(-.f64 %393 %416)
(-.f64 %393 %418)
(-.f64 %393 %420)
(-.f64 %403 %422)
(-.f64 %403 %424)
(-.f64 %403 %426)
(-.f64 %401 (*.f64 #s(literal -1/2 binary64) %195))
(-.f64 %401 (*.f64 %336 #s(literal 1/2 binary64)))
(-.f64 %401 (neg.f64 %403))
(+.f64 %410 %405)
(+.f64 %405 %410)
(+.f64 %413 %395)
(+.f64 %395 %413)
(+.f64 %393 %399)
(+.f64 %403 %401)
(+.f64 %399 %393)
(+.f64 %401 %403)
(pow.f64 %442 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %442 #s(literal -1 binary64)))
(neg.f64 (-.f64 %446 %79))
(neg.f64 (-.f64 %449 %37))
(neg.f64 %452)
(fma.f64 %5 %6 %454)
(fma.f64 %41 %42 %456)
(fma.f64 %41 %42 %458)
(fma.f64 %44 %44 %456)
(fma.f64 %44 %44 %458)
(fma.f64 %8 %8 %454)
(fma.f64 %42 %41 %456)
(fma.f64 %42 %41 %458)
(fma.f64 %6 %5 %454)
(fma.f64 %38 %38 %456)
(fma.f64 %38 %38 %458)
(fma.f64 %2 %2 %454)
(-.f64 %458 %60)
(-.f64 %454 %29)
(-.f64 %199 %93)
(-.f64 %79 %446)
(-.f64 %37 %449)
(-.f64 %1 (+.f64 %60 %446))
(-.f64 %1 (-.f64 %60 %199))
(-.f64 %1 (neg.f64 %454))
(+.f64 %458 %37)
(+.f64 %454 %1)
%442
(+.f64 %79 (neg.f64 %446))
(+.f64 %79 %199)
(+.f64 %37 %456)
(+.f64 %37 %458)
(+.f64 %1 %454)
%488
(*.f64 #s(literal 1/2 binary64) %442)
(pow.f64 %488 #s(literal 1 binary64))
(/.f64 (*.f64 %442 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %442) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %488 #s(literal -1 binary64)))
(/.f64 %442 #s(literal 2 binary64))
(neg.f64 (*.f64 %452 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %452))
(fma.f64 %392 %2 %502)
(fma.f64 %458 #s(literal 1/2 binary64) %395)
(fma.f64 %2 %397 %502)
(fma.f64 %454 #s(literal 1/2 binary64) %399)
(fma.f64 %199 #s(literal 1/2 binary64) %401)
(fma.f64 %79 #s(literal 1/2 binary64) %508)
(fma.f64 #s(literal 1/2 binary64) %458 %405)
(fma.f64 #s(literal 1/2 binary64) %454 %399)
(fma.f64 #s(literal 1/2 binary64) %199 %401)
(fma.f64 #s(literal 1/2 binary64) %79 %508)
(fma.f64 #s(literal 1/2 binary64) %37 %514)
(fma.f64 #s(literal 1/2 binary64) %1 %502)
(fma.f64 %37 #s(literal 1/2 binary64) %517)
(fma.f64 %1 #s(literal 1/2 binary64) %502)
(-.f64 %508 %422)
(-.f64 %508 %424)
(-.f64 %508 %426)
(-.f64 %502 %416)
(-.f64 %502 %418)
(-.f64 %502 %420)
(-.f64 %401 (*.f64 #s(literal -1/2 binary64) %199))
(-.f64 %401 (*.f64 %446 #s(literal 1/2 binary64)))
(-.f64 %401 (neg.f64 %508))
(+.f64 %514 %405)
(+.f64 %405 %514)
(+.f64 %517 %395)
(+.f64 %395 %517)
(+.f64 %508 %401)
(+.f64 %399 %502)
(+.f64 %502 %399)
(+.f64 %401 %508)
(pow.f64 %540 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %540 #s(literal -1 binary64)))
(neg.f64 (-.f64 %544 %79))
(neg.f64 (-.f64 %547 %37))
(neg.f64 %550)
(fma.f64 %5 %6 %552)
(fma.f64 %41 %42 %554)
(fma.f64 %41 %42 %556)
(fma.f64 %44 %44 %554)
(fma.f64 %44 %44 %556)
(fma.f64 %8 %8 %552)
(fma.f64 %42 %41 %554)
(fma.f64 %42 %41 %556)
(fma.f64 %6 %5 %552)
(fma.f64 %38 %38 %554)
(fma.f64 %38 %38 %556)
(fma.f64 %2 %2 %552)
(-.f64 %556 %60)
(-.f64 %552 %29)
(-.f64 %218 %93)
(-.f64 %79 %544)
(-.f64 %37 %547)
(-.f64 %1 (+.f64 %60 %544))
(-.f64 %1 (-.f64 %60 %218))
(-.f64 %1 (neg.f64 %552))
(+.f64 %556 %37)
(+.f64 %552 %1)
%540
(+.f64 %79 (neg.f64 %544))
(+.f64 %79 %218)
(+.f64 %37 %554)
(+.f64 %37 %556)
(+.f64 %1 %552)
%586
(*.f64 #s(literal 1/2 binary64) %540)
(pow.f64 %586 #s(literal 1 binary64))
(/.f64 (*.f64 %540 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %540) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %586 #s(literal -1 binary64)))
(/.f64 %540 #s(literal 2 binary64))
(neg.f64 (*.f64 %550 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %550))
(fma.f64 %392 %2 %600)
(fma.f64 %556 #s(literal 1/2 binary64) %395)
(fma.f64 %2 %397 %600)
(fma.f64 %552 #s(literal 1/2 binary64) %399)
(fma.f64 %218 #s(literal 1/2 binary64) %401)
(fma.f64 %79 #s(literal 1/2 binary64) %606)
(fma.f64 #s(literal 1/2 binary64) %556 %405)
(fma.f64 #s(literal 1/2 binary64) %552 %399)
(fma.f64 #s(literal 1/2 binary64) %218 %401)
(fma.f64 #s(literal 1/2 binary64) %79 %606)
(fma.f64 #s(literal 1/2 binary64) %37 %612)
(fma.f64 #s(literal 1/2 binary64) %1 %600)
(fma.f64 %37 #s(literal 1/2 binary64) %615)
(fma.f64 %1 #s(literal 1/2 binary64) %600)
(-.f64 %600 %416)
(-.f64 %600 %418)
(-.f64 %600 %420)
(-.f64 %606 %422)
(-.f64 %606 %424)
(-.f64 %606 %426)
(-.f64 %401 (*.f64 #s(literal -1/2 binary64) %218))
(-.f64 %401 (*.f64 %544 #s(literal 1/2 binary64)))
(-.f64 %401 (neg.f64 %606))
(+.f64 %612 %405)
(+.f64 %405 %612)
(+.f64 %615 %395)
(+.f64 %395 %615)
(+.f64 %600 %399)
(+.f64 %606 %401)
(+.f64 %399 %600)
(+.f64 %401 %606)
(pow.f64 %638 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %638 #s(literal -1 binary64)))
(neg.f64 (-.f64 %642 %79))
(neg.f64 (-.f64 %645 %37))
(neg.f64 %648)
(fma.f64 %5 %6 %650)
(fma.f64 %41 %42 %652)
(fma.f64 %41 %42 %654)
(fma.f64 %44 %44 %652)
(fma.f64 %44 %44 %654)
(fma.f64 %8 %8 %650)
(fma.f64 %42 %41 %652)
(fma.f64 %42 %41 %654)
(fma.f64 %6 %5 %650)
(fma.f64 %38 %38 %652)
(fma.f64 %38 %38 %654)
(fma.f64 %2 %2 %650)
(-.f64 %654 %60)
(-.f64 %650 %29)
(-.f64 %222 %93)
(-.f64 %79 %642)
(-.f64 %37 %645)
(-.f64 %1 (+.f64 %60 %642))
(-.f64 %1 (-.f64 %60 %222))
(-.f64 %1 (neg.f64 %650))
(+.f64 %654 %37)
(+.f64 %650 %1)
%638
(+.f64 %79 (neg.f64 %642))
(+.f64 %79 %222)
(+.f64 %37 %652)
(+.f64 %37 %654)
(+.f64 %1 %650)
%684
(*.f64 #s(literal 1/2 binary64) %638)
(pow.f64 %684 #s(literal 1 binary64))
(/.f64 (*.f64 %638 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %638) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %684 #s(literal -1 binary64)))
(/.f64 %638 #s(literal 2 binary64))
(neg.f64 (*.f64 %648 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %648))
(fma.f64 %392 %2 %698)
(fma.f64 %654 #s(literal 1/2 binary64) %395)
(fma.f64 %2 %397 %698)
(fma.f64 %650 #s(literal 1/2 binary64) %399)
(fma.f64 %222 #s(literal 1/2 binary64) %401)
(fma.f64 %79 #s(literal 1/2 binary64) %704)
(fma.f64 #s(literal 1/2 binary64) %654 %405)
(fma.f64 #s(literal 1/2 binary64) %650 %399)
(fma.f64 #s(literal 1/2 binary64) %222 %401)
(fma.f64 #s(literal 1/2 binary64) %79 %704)
(fma.f64 #s(literal 1/2 binary64) %37 %710)
(fma.f64 #s(literal 1/2 binary64) %1 %698)
(fma.f64 %37 #s(literal 1/2 binary64) %713)
(fma.f64 %1 #s(literal 1/2 binary64) %698)
(-.f64 %698 %416)
(-.f64 %698 %418)
(-.f64 %698 %420)
(-.f64 %704 %422)
(-.f64 %704 %424)
(-.f64 %704 %426)
(-.f64 %401 (*.f64 #s(literal -1/2 binary64) %222))
(-.f64 %401 (*.f64 %642 #s(literal 1/2 binary64)))
(-.f64 %401 (neg.f64 %704))
(+.f64 %710 %405)
(+.f64 %405 %710)
(+.f64 %713 %395)
(+.f64 %395 %713)
(+.f64 %399 %698)
(+.f64 %698 %399)
(+.f64 %704 %401)
(+.f64 %401 %704)
(pow.f64 %736 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %736 #s(literal -1 binary64)))
(neg.f64 (-.f64 %259 %79))
(neg.f64 (-.f64 %742 %37))
(neg.f64 %745)
(fma.f64 %5 %6 %747)
(fma.f64 %41 %42 %749)
(fma.f64 %41 %42 %751)
(fma.f64 %44 %44 %749)
(fma.f64 %44 %44 %751)
(fma.f64 %8 %8 %747)
(fma.f64 %42 %41 %749)
(fma.f64 %42 %41 %751)
(fma.f64 %6 %5 %747)
(fma.f64 %250 %250 %79)
(fma.f64 %38 %38 %749)
(fma.f64 %38 %38 %751)
(fma.f64 %2 %2 %747)
(-.f64 %751 %60)
(-.f64 %747 %29)
(-.f64 %249 %93)
(-.f64 %79 %259)
(-.f64 %37 %742)
(-.f64 %1 (+.f64 %60 %259))
(-.f64 %1 (-.f64 %60 %249))
(-.f64 %1 (neg.f64 %747))
(+.f64 %751 %37)
(+.f64 %747 %1)
%736
(+.f64 %79 %260)
(+.f64 %79 %249)
(+.f64 %37 %749)
(+.f64 %37 %751)
(+.f64 %1 %747)
%781
(*.f64 #s(literal 1/2 binary64) %736)
(pow.f64 %781 #s(literal 1 binary64))
(/.f64 (*.f64 %736 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %736) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %781 #s(literal -1 binary64)))
(/.f64 %736 #s(literal 2 binary64))
(neg.f64 (*.f64 %745 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 #s(literal 1/2 binary64) %745))
(fma.f64 %392 %2 %795)
(fma.f64 %751 #s(literal 1/2 binary64) %395)
(fma.f64 %2 %397 %795)
(fma.f64 %747 #s(literal 1/2 binary64) %399)
(fma.f64 %249 #s(literal 1/2 binary64) %401)
(fma.f64 %79 #s(literal 1/2 binary64) %801)
(fma.f64 #s(literal 1/2 binary64) %751 %405)
(fma.f64 #s(literal 1/2 binary64) %747 %399)
(fma.f64 #s(literal 1/2 binary64) %249 %401)
(fma.f64 #s(literal 1/2 binary64) %79 %801)
(fma.f64 #s(literal 1/2 binary64) %37 %807)
(fma.f64 #s(literal 1/2 binary64) %1 %795)
(fma.f64 %37 #s(literal 1/2 binary64) %810)
(fma.f64 %1 #s(literal 1/2 binary64) %795)
(-.f64 %795 %416)
(-.f64 %795 %418)
(-.f64 %795 %420)
(-.f64 %801 %422)
(-.f64 %801 %424)
(-.f64 %801 %426)
(-.f64 %401 (*.f64 #s(literal -1/2 binary64) %249))
(-.f64 %401 (*.f64 %259 #s(literal 1/2 binary64)))
(-.f64 %401 (neg.f64 %801))
(+.f64 %807 %405)
(+.f64 %405 %807)
(+.f64 %810 %395)
(+.f64 %395 %810)
(+.f64 %399 %795)
(+.f64 %795 %399)
(+.f64 %801 %401)
(+.f64 %401 %801)

reconstruct42.0ms (1.5%)

Counts
819 → 298
Compiler

Compiled 819 to 1 565 computations (-91.1% saved)

eval34.0ms (1.2%)

Compiler

Compiled 422 to 1 656 computations (-292.4% saved)

prune7.0ms (0.3%)

Pruning

12 alts after pruning (6 fresh and 6 done)

PrunedKeptTotal
New4166422
Fresh000
Picked145
Done022
Total41712429
Accuracy
100.0%
Counts
429 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
73.4%
(*.f64 (+.f64 (hypot.f64 (*.f64 (neg.f64 (neg.f64 (fabs.f64 q))) #s(literal -2 binary64)) (fabs.f64 (approx (- r p) r))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
100.0%
(*.f64 (+.f64 (hypot.f64 (*.f64 #s(literal 2 binary64) (neg.f64 q)) (neg.f64 (fabs.f64 (-.f64 r p)))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
40.8%
%73 = (-.f64 p r)
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (*.f64 %73 %73))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
67.9%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (-.f64 r p)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
45.9%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (+.f64 q q)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
2.4%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 r p))))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
2.3%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 p r)))))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
8.2%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (*.f64 #s(literal -1 binary64) r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
12.6%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (*.f64 #s(literal -2 binary64) q)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
39.0%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (neg.f64 p)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
41.7%
%20 = (- r p)
(*.f64 (+.f64 (approx (sqrt (- (pow %20 2) (* -4 (pow q 2)))) (approx %20 r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
1.1%
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))))) (*.f64 #s(literal -1 binary64) q))
Compiler

Compiled 12 to 65 computations (-441.7% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series51.0ms (1.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0137712576
Stop Event
iter-limit
Counts
50 → 279
Calls
Call 1
Inputs
%3 = (fabs.f64 p)
%5 = (fabs.f64 r)
%9 = (*.f64 #s(literal -1 binary64) r)
%11 = (/.f64 r p)
%12 = (*.f64 #s(literal -1 binary64) %11)
%13 = (+.f64 #s(literal 1 binary64) %12)
%14 = (*.f64 p %13)
%15 = (/.f64 p r)
%16 = (*.f64 #s(literal -1 binary64) %15)
%17 = (+.f64 #s(literal 1 binary64) %16)
%18 = (*.f64 r %17)
%19 = (*.f64 #s(literal -1 binary64) %18)
%20 = (+.f64 %5 %3)
%21 = (-.f64 r p)
%22 = (fabs.f64 %21)
%23 = (neg.f64 %22)
%24 = (fabs.f64 q)
%25 = (neg.f64 %24)
%26 = (neg.f64 %25)
%27 = (neg.f64 q)
%28 = (*.f64 #s(literal 2 binary64) %27)
%29 = (hypot.f64 %28 %23)
%30 = (*.f64 %26 #s(literal -2 binary64))
%31 = (- r p)
%32 = (approx %31 r)
%39 = (sqrt (- (pow %31 2) (* -4 (pow q 2))))
%40 = (approx %39 %14)
%41 = (approx %39 %9)
%42 = (approx %39 %19)
%43 = (approx %39 %32)
%44 = (+.f64 %43 %20)
%46 = (fabs.f64 %32)
%47 = (hypot.f64 %30 %46)
%48 = (+.f64 %47 %20)
%50 = (+.f64 %40 %20)
%52 = (+.f64 %41 %20)
%54 = (+.f64 %42 %20)
%56 = (+.f64 %29 %20)
#s(literal 1 binary64)
#s(literal 2 binary64)
p
%3
r
%5
q
#s(literal 1/2 binary64)
#s(literal -1 binary64)
%9
#s(literal -2 binary64)
%11
%12
%13
%14
%15
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
%28
%29
%30
%32
%40
%41
%42
%43
%44
(*.f64 %44 #s(literal 1/2 binary64))
%46
%47
%48
(*.f64 %48 #s(literal 1/2 binary64))
%50
(*.f64 %50 #s(literal 1/2 binary64))
%52
(*.f64 %52 #s(literal 1/2 binary64))
%54
(*.f64 %54 #s(literal 1/2 binary64))
%56
(*.f64 %56 #s(literal 1/2 binary64))
Outputs
%5 = (fabs p)
%6 = (fabs.f64 p)
%9 = (/ r p)
%10 = (/.f64 r p)
%13 = (* -1 %9)
%15 = (*.f64 #s(literal -1 binary64) %10)
%17 = (+ 1 %13)
%18 = (*.f64 #s(literal -1 binary64) r)
%19 = (+.f64 p %18)
%22 = (* p %17)
%25 = (/ p r)
%26 = (/.f64 p r)
%28 = (* -1 %25)
%29 = (*.f64 #s(literal -1 binary64) %26)
%31 = (+ 1 %28)
%34 = (+.f64 #s(literal 1 binary64) %29)
%36 = (* r %31)
%38 = (*.f64 #s(literal -1 binary64) p)
%39 = (+.f64 r %38)
%41 = (fabs r)
%42 = (+ %41 %5)
%43 = (fabs.f64 r)
%44 = (+.f64 %6 %43)
%46 = (- r p)
%47 = (fabs %46)
%48 = (-.f64 r p)
%49 = (fabs.f64 %48)
%51 = (neg %47)
%56 = (neg q)
%57 = (* 2 %56)
%61 = (sqrt (+ (* %57 %57) (* %51 %51)))
%64 = (pow.f64 q #s(literal 2 binary64))
%65 = (pow.f64 %49 #s(literal 2 binary64))
%67 = (sqrt.f64 (fma.f64 #s(literal 4 binary64) %64 %65))
%74 = (sqrt (- (pow %46 2) (* -4 (pow q 2))))
%75 = (pow.f64 r #s(literal 2 binary64))
%77 = (*.f64 #s(literal -4 binary64) %64)
%79 = (sqrt.f64 (-.f64 %75 %77))
%81 = (*.f64 p r)
%82 = (/.f64 %81 %79)
%84 = (+.f64 %79 (*.f64 #s(literal -1 binary64) %82))
%86 = (/.f64 r %79)
%90 = (-.f64 #s(literal 1 binary64) (/.f64 %75 (pow.f64 %79 #s(literal 2 binary64))))
%92 = (/.f64 (*.f64 p %90) %79)
%96 = (+.f64 %79 (*.f64 p (fma.f64 #s(literal -1 binary64) %86 (*.f64 #s(literal 1/2 binary64) %92))))
%102 = (/.f64 (*.f64 p (*.f64 r %90)) (pow.f64 %79 #s(literal 3 binary64)))
%103 = (/.f64 %90 %79)
%109 = (+.f64 %79 (*.f64 p (fma.f64 #s(literal -1 binary64) %86 (*.f64 p (fma.f64 #s(literal 1/2 binary64) %102 (*.f64 #s(literal 1/2 binary64) %103))))))
%111 = (+ %74 %42)
%113 = (+.f64 %6 (+.f64 %43 %79))
%125 = (* %111 1/2)
%126 = (*.f64 #s(literal 1/2 binary64) %113)
%144 = (fabs q)
%145 = (neg %144)
%148 = (* (neg %145) -2)
%152 = (sqrt (+ (* %148 %148) (* %47 %47)))
%153 = (fabs.f64 q)
%154 = (pow.f64 %153 #s(literal 2 binary64))
%156 = (sqrt.f64 (fma.f64 #s(literal 4 binary64) %154 %65))
%158 = (+ %152 %42)
%160 = (+.f64 %6 (+.f64 %43 %156))
%162 = (* %158 1/2)
%165 = (+ %61 %42)
%167 = (+.f64 %6 (+.f64 %43 %67))
%169 = (* %165 1/2)
%172 = (pow.f64 p #s(literal 2 binary64))
%173 = (/.f64 #s(literal 1 binary64) p)
%174 = (fabs.f64 %173)
%175 = (*.f64 %172 %174)
%177 = (+.f64 #s(literal 1 binary64) %15)
%179 = (*.f64 p %177)
%181 = (/.f64 #s(literal 1 binary64) r)
%182 = (-.f64 %173 %181)
%187 = (*.f64 p (-.f64 %10 #s(literal 1 binary64)))
%189 = (/.f64 %43 %172)
%196 = (sqrt.f64 (pow.f64 %174 #s(literal 2 binary64)))
%199 = (pow.f64 p #s(literal 4 binary64))
%200 = (*.f64 %199 %196)
%201 = (/.f64 %64 %200)
%202 = (*.f64 #s(literal 2 binary64) %201)
%207 = (pow.f64 q #s(literal 4 binary64))
%209 = (pow.f64 p #s(literal 8 binary64))
%211 = (*.f64 %209 (pow.f64 %196 #s(literal 3 binary64)))
%212 = (/.f64 %207 %211)
%218 = (pow.f64 q #s(literal 6 binary64))
%220 = (pow.f64 p #s(literal 12 binary64))
%223 = (*.f64 %220 (pow.f64 %196 #s(literal 5 binary64)))
%232 = (*.f64 #s(literal 2 binary64) (/.f64 %64 %172))
%237 = (*.f64 %64 r)
%238 = (pow.f64 p #s(literal 3 binary64))
%248 = (/.f64 r %172)
%249 = (+.f64 %173 %189)
%254 = (/.f64 %64 %238)
%262 = (*.f64 #s(literal 1/2 binary64) %173)
%267 = (/.f64 (+.f64 %43 %18) %172)
%277 = (/.f64 %154 %200)
%278 = (*.f64 #s(literal 2 binary64) %277)
%282 = (pow.f64 %153 #s(literal 4 binary64))
%283 = (/.f64 %282 %211)
%288 = (pow.f64 %153 #s(literal 6 binary64))
%296 = (+.f64 %174 %196)
%297 = (*.f64 %172 %296)
%303 = (fma.f64 #s(literal 2 binary64) %277 %189)
%315 = (*.f64 #s(literal 1/2 binary64) %189)
%320 = (fma.f64 #s(literal 1/2 binary64) %296 (fma.f64 #s(literal 1/2 binary64) %189 %277))
%326 = (fma.f64 #s(literal 2 binary64) %201 %189)
%337 = (fma.f64 #s(literal 1/2 binary64) %296 (fma.f64 #s(literal 1/2 binary64) %189 %201))
%344 = (fabs.f64 (/.f64 #s(literal -1 binary64) p))
%345 = (*.f64 %172 %344)
%350 = (-.f64 %181 %173)
%356 = (fma.f64 #s(literal -1 binary64) %344 %189)
%361 = (sqrt.f64 (pow.f64 %344 #s(literal 2 binary64)))
%364 = (*.f64 %199 %361)
%365 = (/.f64 %64 %364)
%366 = (*.f64 #s(literal 2 binary64) %365)
%371 = (*.f64 %209 (pow.f64 %361 #s(literal 3 binary64)))
%372 = (/.f64 %207 %371)
%378 = (*.f64 %220 (pow.f64 %361 #s(literal 5 binary64)))
%386 = (/.f64 %64 p)
%387 = (*.f64 #s(literal -2 binary64) %386)
%396 = (*.f64 #s(literal 2 binary64) %64)
%407 = (*.f64 #s(literal -1 binary64) %344)
%411 = (+.f64 r %43)
%412 = (/.f64 %411 p)
%432 = (*.f64 #s(literal -1/2 binary64) %344)
%451 = (/.f64 %154 %364)
%452 = (*.f64 #s(literal 2 binary64) %451)
%456 = (/.f64 %282 %371)
%468 = (+.f64 %361 %407)
%469 = (*.f64 %172 %468)
%475 = (fma.f64 #s(literal -1 binary64) %344 (fma.f64 #s(literal 2 binary64) %451 %189))
%489 = (fma.f64 #s(literal 1/2 binary64) %468 (fma.f64 #s(literal 1/2 binary64) %189 %451))
%496 = (fma.f64 #s(literal -1 binary64) %344 (fma.f64 #s(literal 2 binary64) %365 %189))
%505 = (fma.f64 #s(literal 1/2 binary64) %468 (fma.f64 #s(literal 1/2 binary64) %189 %365))
%516 = (sqrt.f64 (-.f64 %172 %77))
%518 = (/.f64 %81 %516)
%520 = (+.f64 %516 (*.f64 #s(literal -1 binary64) %518))
%522 = (/.f64 p %516)
%525 = (-.f64 #s(literal 1 binary64) (/.f64 %172 (pow.f64 %516 #s(literal 2 binary64))))
%526 = (*.f64 r %525)
%527 = (/.f64 %526 %516)
%531 = (+.f64 %516 (*.f64 r (fma.f64 #s(literal -1 binary64) %522 (*.f64 #s(literal 1/2 binary64) %527))))
%535 = (/.f64 (*.f64 p %526) (pow.f64 %516 #s(literal 3 binary64)))
%536 = (/.f64 %525 %516)
%542 = (+.f64 %516 (*.f64 r (fma.f64 #s(literal -1 binary64) %522 (*.f64 r (fma.f64 #s(literal 1/2 binary64) %535 (*.f64 #s(literal 1/2 binary64) %536))))))
%545 = (+.f64 %6 (+.f64 %43 %516))
%556 = (*.f64 #s(literal 1/2 binary64) %545)
%572 = (fabs.f64 %181)
%573 = (*.f64 %75 %572)
%578 = (*.f64 r (-.f64 %26 #s(literal 1 binary64)))
%580 = (*.f64 r %34)
%582 = (/.f64 %6 %75)
%589 = (sqrt.f64 (pow.f64 %572 #s(literal 2 binary64)))
%592 = (pow.f64 r #s(literal 4 binary64))
%593 = (*.f64 %592 %589)
%594 = (/.f64 %64 %593)
%595 = (*.f64 #s(literal 2 binary64) %594)
%599 = (pow.f64 r #s(literal 8 binary64))
%601 = (*.f64 %599 (pow.f64 %589 #s(literal 3 binary64)))
%602 = (/.f64 %207 %601)
%607 = (pow.f64 r #s(literal 12 binary64))
%609 = (*.f64 %607 (pow.f64 %589 #s(literal 5 binary64)))
%618 = (*.f64 #s(literal 2 binary64) (/.f64 %64 %75))
%623 = (*.f64 p %64)
%624 = (pow.f64 r #s(literal 3 binary64))
%634 = (/.f64 p %75)
%635 = (+.f64 %181 %582)
%640 = (/.f64 %64 %624)
%648 = (*.f64 #s(literal 1/2 binary64) %181)
%653 = (/.f64 (+.f64 %6 %38) %75)
%663 = (/.f64 %154 %593)
%664 = (*.f64 #s(literal 2 binary64) %663)
%668 = (/.f64 %282 %601)
%680 = (+.f64 %572 %589)
%681 = (*.f64 %75 %680)
%687 = (fma.f64 #s(literal 2 binary64) %663 %582)
%699 = (*.f64 #s(literal 1/2 binary64) %582)
%704 = (fma.f64 #s(literal 1/2 binary64) %680 (fma.f64 #s(literal 1/2 binary64) %582 %663))
%710 = (fma.f64 #s(literal 2 binary64) %594 %582)
%721 = (fma.f64 #s(literal 1/2 binary64) %680 (fma.f64 #s(literal 1/2 binary64) %582 %594))
%728 = (fabs.f64 (/.f64 #s(literal -1 binary64) r))
%729 = (*.f64 %75 %728)
%739 = (fma.f64 #s(literal -1 binary64) %728 %582)
%744 = (sqrt.f64 (pow.f64 %728 #s(literal 2 binary64)))
%747 = (*.f64 %592 %744)
%748 = (/.f64 %64 %747)
%749 = (*.f64 #s(literal 2 binary64) %748)
%754 = (*.f64 %599 (pow.f64 %744 #s(literal 3 binary64)))
%755 = (/.f64 %207 %754)
%761 = (*.f64 %607 (pow.f64 %744 #s(literal 5 binary64)))
%769 = (/.f64 %64 r)
%770 = (*.f64 #s(literal -2 binary64) %769)
%789 = (*.f64 #s(literal -1 binary64) %728)
%793 = (+.f64 p %6)
%794 = (/.f64 %793 r)
%814 = (*.f64 #s(literal -1/2 binary64) %728)
%833 = (/.f64 %154 %747)
%834 = (*.f64 #s(literal 2 binary64) %833)
%838 = (/.f64 %282 %754)
%850 = (+.f64 %744 %789)
%851 = (*.f64 %75 %850)
%857 = (fma.f64 #s(literal -1 binary64) %728 (fma.f64 #s(literal 2 binary64) %833 %582))
%871 = (fma.f64 #s(literal 1/2 binary64) %850 (fma.f64 #s(literal 1/2 binary64) %582 %833))
%878 = (fma.f64 #s(literal -1 binary64) %728 (fma.f64 #s(literal 2 binary64) %748 %582))
%887 = (fma.f64 #s(literal 1/2 binary64) %850 (fma.f64 #s(literal 1/2 binary64) %582 %748))
%901 = (sqrt.f64 %65)
%903 = (/.f64 %64 %901)
%905 = (+.f64 %901 (*.f64 #s(literal 2 binary64) %903))
%907 = (pow.f64 %901 #s(literal 3 binary64))
%908 = (/.f64 %64 %907)
%909 = (/.f64 #s(literal 1 binary64) %901)
%910 = (*.f64 #s(literal 2 binary64) %909)
%913 = (+.f64 %901 (*.f64 %64 (fma.f64 #s(literal -2 binary64) %908 %910)))
%916 = (/.f64 %64 (pow.f64 %901 #s(literal 5 binary64)))
%918 = (/.f64 #s(literal 1 binary64) %907)
%923 = (+.f64 %901 (*.f64 %64 (fma.f64 %64 (-.f64 (*.f64 #s(literal 4 binary64) %916) (*.f64 #s(literal 2 binary64) %918)) %910)))
%927 = (pow.f64 %48 #s(literal 2 binary64))
%928 = (sqrt.f64 %927)
%930 = (/.f64 %64 %928)
%932 = (+.f64 %928 (*.f64 #s(literal 2 binary64) %930))
%934 = (pow.f64 %928 #s(literal 3 binary64))
%935 = (/.f64 %64 %934)
%936 = (/.f64 #s(literal 1 binary64) %928)
%937 = (*.f64 #s(literal 2 binary64) %936)
%940 = (+.f64 %928 (*.f64 %64 (fma.f64 #s(literal -2 binary64) %935 %937)))
%943 = (/.f64 %64 (pow.f64 %928 #s(literal 5 binary64)))
%945 = (/.f64 #s(literal 1 binary64) %934)
%950 = (+.f64 %928 (*.f64 %64 (fma.f64 %64 (-.f64 (*.f64 #s(literal 4 binary64) %943) (*.f64 #s(literal 2 binary64) %945)) %937)))
%953 = (+.f64 %6 (+.f64 %43 %928))
%979 = (+.f64 %6 (+.f64 %43 %901))
%1005 = (fabs.f64 (/.f64 #s(literal 1 binary64) q))
%1006 = (*.f64 %64 %1005)
%1012 = (/.f64 %65 %64)
%1013 = (*.f64 #s(literal 1/4 binary64) %1012)
%1015 = (*.f64 q (+.f64 #s(literal 2 binary64) %1013))
%1018 = (pow.f64 %49 #s(literal 4 binary64))
%1019 = (/.f64 %1018 %207)
%1022 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %1019 %1013)))
%1025 = (pow.f64 %49 #s(literal 6 binary64))
%1030 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %1019 (fma.f64 #s(literal 1/512 binary64) (/.f64 %1025 %218) %1013))))
%1034 = (/.f64 %927 %64)
%1035 = (*.f64 #s(literal 1/4 binary64) %1034)
%1037 = (*.f64 q (+.f64 #s(literal 2 binary64) %1035))
%1039 = (pow.f64 %48 #s(literal 4 binary64))
%1040 = (/.f64 %1039 %207)
%1043 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %1040 %1035)))
%1050 = (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %1040 (fma.f64 #s(literal 1/512 binary64) (/.f64 (pow.f64 %48 #s(literal 6 binary64)) %218) %1035))))
%1054 = (+.f64 (/.f64 %6 q) (/.f64 %43 q))
%1058 = (fma.f64 #s(literal 1/4 binary64) %1034 %1054)
%1066 = (/.f64 %44 q)
%1067 = (*.f64 #s(literal 1/2 binary64) %1066)
%1072 = (fma.f64 #s(literal 1/8 binary64) %1034 %1067)
%1083 = (sqrt.f64 (*.f64 #s(literal 4 binary64) (pow.f64 %1005 #s(literal 2 binary64))))
%1084 = (*.f64 %64 %1083)
%1087 = (/.f64 %65 (*.f64 %207 %1083))
%1088 = (*.f64 #s(literal 1/2 binary64) %1087)
%1093 = (pow.f64 q #s(literal 8 binary64))
%1096 = (/.f64 %1018 (*.f64 %1093 (pow.f64 %1083 #s(literal 3 binary64))))
%1102 = (pow.f64 q #s(literal 12 binary64))
%1113 = (+.f64 (/.f64 %6 %64) (/.f64 %43 %64))
%1117 = (fma.f64 #s(literal 1/2 binary64) %1087 %1113)
%1128 = (*.f64 #s(literal 1/2 binary64) (/.f64 %44 %64))
%1129 = (fma.f64 #s(literal 1/2 binary64) %1083 %1128)
%1132 = (fma.f64 #s(literal 1/4 binary64) %1087 %1129)
%1139 = (fma.f64 #s(literal 1/4 binary64) %1012 %1054)
%1147 = (fma.f64 #s(literal 1/8 binary64) %1012 %1067)
%1156 = (fabs.f64 (/.f64 #s(literal -1 binary64) q))
%1157 = (*.f64 %64 %1156)
%1181 = (/.f64 %927 q)
%1191 = (/.f64 %1039 %64)
%1209 = (*.f64 #s(literal 1/2 binary64) %44)
%1229 = (sqrt.f64 (*.f64 #s(literal 4 binary64) (pow.f64 %1156 #s(literal 2 binary64))))
%1230 = (*.f64 %64 %1229)
%1233 = (/.f64 %65 (*.f64 %207 %1229))
%1234 = (*.f64 #s(literal 1/2 binary64) %1233)
%1240 = (/.f64 %1018 (*.f64 %1093 (pow.f64 %1229 #s(literal 3 binary64))))
%1256 = (fma.f64 #s(literal 1/2 binary64) %1233 %1113)
%1266 = (fma.f64 #s(literal 1/2 binary64) %1229 %1128)
%1269 = (fma.f64 #s(literal 1/4 binary64) %1233 %1266)
%1275 = (/.f64 %65 q)
%1285 = (/.f64 %1018 %64)
(approx 1 #s(literal 0 binary64))
(approx p p)
(approx %5 %6)
(approx %9 %10)
(approx %13 %15)
(approx %17 (/.f64 %19 p))
(approx %22 %18)
(approx %22 %19)
(approx %25 %26)
(approx %28 %29)
(approx %31 #s(literal 1 binary64))
(approx %31 %34)
(approx %36 r)
(approx %36 %39)
(approx %42 %44)
(approx %47 %49)
(approx %51 (*.f64 #s(literal -1 binary64) %49))
(approx %61 %67)
(approx %74 %79)
(approx %74 %84)
(approx %74 %96)
(approx %74 %109)
(approx %111 %113)
(approx %111 (+.f64 %6 (+.f64 %43 %84)))
(approx %111 (+.f64 %6 (+.f64 %43 %96)))
(approx %111 (+.f64 %6 (+.f64 %43 %109)))
(approx %125 %126)
(approx %125 (fma.f64 #s(literal -1/2 binary64) %82 %126))
(approx %125 (fma.f64 #s(literal 1/2 binary64) %113 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %86 (*.f64 #s(literal 1/4 binary64) %92)))))
(approx %125 (fma.f64 #s(literal 1/2 binary64) %113 (*.f64 p (fma.f64 #s(literal -1/2 binary64) %86 (*.f64 p (fma.f64 #s(literal 1/4 binary64) %102 (*.f64 #s(literal 1/4 binary64) %103)))))))
(approx %152 %156)
(approx %158 %160)
(approx %162 (*.f64 #s(literal 1/2 binary64) %160))
(approx %165 %167)
(approx %169 (*.f64 #s(literal 1/2 binary64) %167))
(approx %5 %175)
(approx %17 %177)
(approx %22 %179)
(approx %31 (*.f64 p %182))
(approx %36 %38)
(approx %36 %187)
(approx %42 (*.f64 %172 (+.f64 %174 %189)))
(approx %47 (*.f64 #s(literal -1 binary64) %175))
(approx %61 (*.f64 %172 %196))
(approx %61 (*.f64 %172 (+.f64 %196 %202)))
(approx %61 (*.f64 %172 (+.f64 %196 (fma.f64 #s(literal -2 binary64) %212 %202))))
(approx %61 (*.f64 %172 (+.f64 %196 (fma.f64 #s(literal -2 binary64) %212 (fma.f64 #s(literal 2 binary64) %201 (*.f64 #s(literal 4 binary64) (/.f64 %218 %223)))))))
(approx %74 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %10 %232))))
(approx %74 (*.f64 p (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %10 (fma.f64 #s(literal 2 binary64) (/.f64 %237 %238) %232)))))
(approx %111 (*.f64 %172 (+.f64 %174 %173)))
(approx %111 (*.f64 %172 (+.f64 %174 (fma.f64 #s(literal -1 binary64) %248 %249))))
(approx %111 (*.f64 %172 (+.f64 %174 (fma.f64 #s(literal -1 binary64) %248 (fma.f64 #s(literal 2 binary64) %254 %249)))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %175))
(approx %125 (*.f64 %172 (fma.f64 #s(literal 1/2 binary64) %174 %262)))
(approx %125 (*.f64 %172 (fma.f64 #s(literal 1/2 binary64) %174 (fma.f64 #s(literal 1/2 binary64) %267 %262))))
(approx %125 (*.f64 %172 (fma.f64 #s(literal 1/2 binary64) %174 (fma.f64 #s(literal 1/2 binary64) %267 (fma.f64 #s(literal 1/2 binary64) %173 %254)))))
(approx %152 (*.f64 %172 (+.f64 %196 %278)))
(approx %152 (*.f64 %172 (+.f64 %196 (fma.f64 #s(literal -2 binary64) %283 %278))))
(approx %152 (*.f64 %172 (+.f64 %196 (fma.f64 #s(literal -2 binary64) %283 (fma.f64 #s(literal 2 binary64) %277 (*.f64 #s(literal 4 binary64) (/.f64 %288 %223)))))))
(approx %158 %297)
(approx %158 (*.f64 %172 (+.f64 %174 (+.f64 %196 %189))))
(approx %158 (*.f64 %172 (+.f64 %174 (+.f64 %196 %303))))
(approx %158 (*.f64 %172 (+.f64 %174 (+.f64 %196 (fma.f64 #s(literal -2 binary64) %283 %303)))))
(approx %162 (*.f64 #s(literal 1/2 binary64) %297))
(approx %162 (*.f64 %172 (fma.f64 #s(literal 1/2 binary64) %296 %315)))
(approx %162 (*.f64 %172 %320))
(approx %162 (*.f64 %172 (fma.f64 #s(literal -1 binary64) %283 %320)))
(approx %165 (*.f64 %172 (+.f64 %174 (+.f64 %196 %326))))
(approx %165 (*.f64 %172 (+.f64 %174 (+.f64 %196 (fma.f64 #s(literal -2 binary64) %212 %326)))))
(approx %169 (*.f64 %172 %337))
(approx %169 (*.f64 %172 (fma.f64 #s(literal -1 binary64) %212 %337)))
(approx %5 (*.f64 #s(literal -1 binary64) %345))
(approx %22 (*.f64 #s(literal -1 binary64) %187))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 p %350)))
(approx %36 (*.f64 #s(literal -1 binary64) %179))
(approx %42 (*.f64 %172 %356))
(approx %47 %345)
(approx %61 (*.f64 %172 %361))
(approx %61 (*.f64 %172 (+.f64 %361 %366)))
(approx %61 (*.f64 %172 (+.f64 %361 (fma.f64 #s(literal -2 binary64) %372 %366))))
(approx %61 (*.f64 %172 (+.f64 %361 (fma.f64 #s(literal -2 binary64) %372 (fma.f64 #s(literal 2 binary64) %365 (*.f64 #s(literal 4 binary64) (/.f64 %218 %378)))))))
(approx %74 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r %387) p))))))
(approx %74 (*.f64 #s(literal -1 binary64) (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %237 p) %396) p))) p))))))
(approx %111 (*.f64 %172 (-.f64 %407 %173)))
(approx %111 (*.f64 %172 (fma.f64 #s(literal -1 binary64) %344 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %412)) p)))))
(approx %111 (*.f64 %172 (fma.f64 #s(literal -1 binary64) %344 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 r (+.f64 %43 %387)) p))) p)))))
(approx %125 (*.f64 #s(literal -1/2 binary64) %345))
(approx %125 (*.f64 %172 (-.f64 %432 %262)))
(approx %125 (*.f64 %172 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %412)) p) %432)))
(approx %125 (*.f64 %172 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %386 (*.f64 #s(literal 1/2 binary64) %411)) p))) p) %432)))
(approx %152 (*.f64 %172 (+.f64 %361 %452)))
(approx %152 (*.f64 %172 (+.f64 %361 (fma.f64 #s(literal -2 binary64) %456 %452))))
(approx %152 (*.f64 %172 (+.f64 %361 (fma.f64 #s(literal -2 binary64) %456 (fma.f64 #s(literal 2 binary64) %451 (*.f64 #s(literal 4 binary64) (/.f64 %288 %378)))))))
(approx %158 %469)
(approx %158 (*.f64 %172 (+.f64 %361 %356)))
(approx %158 (*.f64 %172 (+.f64 %361 %475)))
(approx %158 (*.f64 %172 (+.f64 %361 (fma.f64 #s(literal -2 binary64) %456 %475))))
(approx %162 (*.f64 #s(literal 1/2 binary64) %469))
(approx %162 (*.f64 %172 (fma.f64 #s(literal 1/2 binary64) %468 %315)))
(approx %162 (*.f64 %172 %489))
(approx %162 (*.f64 %172 (fma.f64 #s(literal -1 binary64) %456 %489)))
(approx %165 (*.f64 %172 (+.f64 %361 %496)))
(approx %165 (*.f64 %172 (+.f64 %361 (fma.f64 #s(literal -2 binary64) %372 %496))))
(approx %169 (*.f64 %172 %505))
(approx %169 (*.f64 %172 (fma.f64 #s(literal -1 binary64) %372 %505)))
(approx %41 %43)
(approx %31 (/.f64 %39 r))
(approx %46 %48)
(approx %74 %516)
(approx %74 %520)
(approx %74 %531)
(approx %74 %542)
(approx %111 %545)
(approx %111 (+.f64 %6 (+.f64 %43 %520)))
(approx %111 (+.f64 %6 (+.f64 %43 %531)))
(approx %111 (+.f64 %6 (+.f64 %43 %542)))
(approx %125 %556)
(approx %125 (fma.f64 #s(literal -1/2 binary64) %518 %556))
(approx %125 (fma.f64 #s(literal 1/2 binary64) %545 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %522 (*.f64 #s(literal 1/4 binary64) %527)))))
(approx %125 (fma.f64 #s(literal 1/2 binary64) %545 (*.f64 r (fma.f64 #s(literal -1/2 binary64) %522 (*.f64 r (fma.f64 #s(literal 1/4 binary64) %535 (*.f64 #s(literal 1/4 binary64) %536)))))))
(approx %41 %573)
(approx %17 (*.f64 r %350))
(approx %22 %578)
(approx %36 %580)
(approx %42 (*.f64 %75 (+.f64 %572 %582)))
(approx %51 (*.f64 #s(literal -1 binary64) %573))
(approx %61 (*.f64 %75 %589))
(approx %61 (*.f64 %75 (+.f64 %589 %595)))
(approx %61 (*.f64 %75 (+.f64 %589 (fma.f64 #s(literal -2 binary64) %602 %595))))
(approx %61 (*.f64 %75 (+.f64 %589 (fma.f64 #s(literal -2 binary64) %602 (fma.f64 #s(literal 2 binary64) %594 (*.f64 #s(literal 4 binary64) (/.f64 %218 %609)))))))
(approx %74 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %26 %618))))
(approx %74 (*.f64 r (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %26 (fma.f64 #s(literal 2 binary64) (/.f64 %623 %624) %618)))))
(approx %111 (*.f64 %75 (+.f64 %572 %181)))
(approx %111 (*.f64 %75 (+.f64 %572 (fma.f64 #s(literal -1 binary64) %634 %635))))
(approx %111 (*.f64 %75 (+.f64 %572 (fma.f64 #s(literal -1 binary64) %634 (fma.f64 #s(literal 2 binary64) %640 %635)))))
(approx %125 (*.f64 #s(literal 1/2 binary64) %573))
(approx %125 (*.f64 %75 (fma.f64 #s(literal 1/2 binary64) %572 %648)))
(approx %125 (*.f64 %75 (fma.f64 #s(literal 1/2 binary64) %572 (fma.f64 #s(literal 1/2 binary64) %653 %648))))
(approx %125 (*.f64 %75 (fma.f64 #s(literal 1/2 binary64) %572 (fma.f64 #s(literal 1/2 binary64) %653 (fma.f64 #s(literal 1/2 binary64) %181 %640)))))
(approx %152 (*.f64 %75 (+.f64 %589 %664)))
(approx %152 (*.f64 %75 (+.f64 %589 (fma.f64 #s(literal -2 binary64) %668 %664))))
(approx %152 (*.f64 %75 (+.f64 %589 (fma.f64 #s(literal -2 binary64) %668 (fma.f64 #s(literal 2 binary64) %663 (*.f64 #s(literal 4 binary64) (/.f64 %288 %609)))))))
(approx %158 %681)
(approx %158 (*.f64 %75 (+.f64 %572 (+.f64 %589 %582))))
(approx %158 (*.f64 %75 (+.f64 %572 (+.f64 %589 %687))))
(approx %158 (*.f64 %75 (+.f64 %572 (+.f64 %589 (fma.f64 #s(literal -2 binary64) %668 %687)))))
(approx %162 (*.f64 #s(literal 1/2 binary64) %681))
(approx %162 (*.f64 %75 (fma.f64 #s(literal 1/2 binary64) %680 %699)))
(approx %162 (*.f64 %75 %704))
(approx %162 (*.f64 %75 (fma.f64 #s(literal -1 binary64) %668 %704)))
(approx %165 (*.f64 %75 (+.f64 %572 (+.f64 %589 %710))))
(approx %165 (*.f64 %75 (+.f64 %572 (+.f64 %589 (fma.f64 #s(literal -2 binary64) %602 %710)))))
(approx %169 (*.f64 %75 %721))
(approx %169 (*.f64 %75 (fma.f64 #s(literal -1 binary64) %602 %721)))
(approx %41 (*.f64 #s(literal -1 binary64) %729))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 r %182)))
(approx %22 (*.f64 #s(literal -1 binary64) %580))
(approx %36 (*.f64 #s(literal -1 binary64) %578))
(approx %42 (*.f64 %75 %739))
(approx %51 %729)
(approx %61 (*.f64 %75 %744))
(approx %61 (*.f64 %75 (+.f64 %744 %749)))
(approx %61 (*.f64 %75 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %755 %749))))
(approx %61 (*.f64 %75 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %755 (fma.f64 #s(literal 2 binary64) %748 (*.f64 #s(literal 4 binary64) (/.f64 %218 %761)))))))
(approx %74 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p %770) r))))))
(approx %74 (*.f64 #s(literal -1 binary64) (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 %623 r) %396) r))) r))))))
(approx %111 (*.f64 %75 (-.f64 %789 %181)))
(approx %111 (*.f64 %75 (fma.f64 #s(literal -1 binary64) %728 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %794)) r)))))
(approx %111 (*.f64 %75 (fma.f64 #s(literal -1 binary64) %728 (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 p (+.f64 %6 %770)) r))) r)))))
(approx %125 (*.f64 #s(literal -1/2 binary64) %729))
(approx %125 (*.f64 %75 (-.f64 %814 %648)))
(approx %125 (*.f64 %75 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/2 binary64) %794)) r) %814)))
(approx %125 (*.f64 %75 (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %769 (*.f64 #s(literal 1/2 binary64) %793)) r))) r) %814)))
(approx %152 (*.f64 %75 (+.f64 %744 %834)))
(approx %152 (*.f64 %75 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %838 %834))))
(approx %152 (*.f64 %75 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %838 (fma.f64 #s(literal 2 binary64) %833 (*.f64 #s(literal 4 binary64) (/.f64 %288 %761)))))))
(approx %158 %851)
(approx %158 (*.f64 %75 (+.f64 %744 %739)))
(approx %158 (*.f64 %75 (+.f64 %744 %857)))
(approx %158 (*.f64 %75 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %838 %857))))
(approx %162 (*.f64 #s(literal 1/2 binary64) %851))
(approx %162 (*.f64 %75 (fma.f64 #s(literal 1/2 binary64) %850 %699)))
(approx %162 (*.f64 %75 %871))
(approx %162 (*.f64 %75 (fma.f64 #s(literal -1 binary64) %838 %871)))
(approx %165 (*.f64 %75 (+.f64 %744 %878)))
(approx %165 (*.f64 %75 (+.f64 %744 (fma.f64 #s(literal -2 binary64) %755 %878))))
(approx %169 (*.f64 %75 %887))
(approx %169 (*.f64 %75 (fma.f64 #s(literal -1 binary64) %755 %887)))
(approx q q)
(approx %144 %153)
(approx %145 (*.f64 #s(literal -1 binary64) %153))
(approx %56 (*.f64 #s(literal -1 binary64) q))
(approx %57 (*.f64 #s(literal -2 binary64) q))
(approx %61 %901)
(approx %61 %905)
(approx %61 %913)
(approx %61 %923)
(approx %148 (*.f64 #s(literal -2 binary64) %153))
(approx %74 %928)
(approx %74 %932)
(approx %74 %940)
(approx %74 %950)
(approx %111 %953)
(approx %111 (+.f64 %6 (+.f64 %43 %932)))
(approx %111 (+.f64 %6 (+.f64 %43 %940)))
(approx %111 (+.f64 %6 (+.f64 %43 %950)))
(approx %125 (*.f64 #s(literal 1/2 binary64) %953))
(approx %125 (fma.f64 #s(literal 1/2 binary64) %953 %930))
(approx %125 (fma.f64 #s(literal 1/2 binary64) %953 (*.f64 %64 (fma.f64 #s(literal -1 binary64) %935 %936))))
(approx %125 (fma.f64 #s(literal 1/2 binary64) %953 (*.f64 %64 (fma.f64 %64 (-.f64 (*.f64 #s(literal 2 binary64) %943) %945) %936))))
(approx %165 %979)
(approx %165 (+.f64 %6 (+.f64 %43 %905)))
(approx %165 (+.f64 %6 (+.f64 %43 %913)))
(approx %165 (+.f64 %6 (+.f64 %43 %923)))
(approx %169 (*.f64 #s(literal 1/2 binary64) %979))
(approx %169 (fma.f64 #s(literal 1/2 binary64) %979 %903))
(approx %169 (fma.f64 #s(literal 1/2 binary64) %979 (*.f64 %64 (fma.f64 #s(literal -1 binary64) %908 %909))))
(approx %169 (fma.f64 #s(literal 1/2 binary64) %979 (*.f64 %64 (fma.f64 %64 (-.f64 (*.f64 #s(literal 2 binary64) %916) %918) %909))))
(approx %144 %1006)
(approx %145 (*.f64 #s(literal -1 binary64) %1006))
(approx %61 (*.f64 #s(literal 2 binary64) q))
(approx %61 %1015)
(approx %61 %1022)
(approx %61 %1030)
(approx %148 (*.f64 #s(literal -2 binary64) %1006))
(approx %74 %1037)
(approx %74 %1043)
(approx %74 %1050)
(approx %111 (*.f64 q (+.f64 #s(literal 2 binary64) %1054)))
(approx %111 (*.f64 q (+.f64 #s(literal 2 binary64) %1058)))
(approx %111 (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %1040 %1058))))
(approx %125 (*.f64 q (+.f64 #s(literal 1 binary64) %1067)))
(approx %125 (*.f64 q (+.f64 #s(literal 1 binary64) %1072)))
(approx %125 (*.f64 q (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/128 binary64) %1040 %1072))))
(approx %152 %1084)
(approx %152 (*.f64 %64 (+.f64 %1083 %1088)))
(approx %152 (*.f64 %64 (+.f64 %1083 (fma.f64 #s(literal -1/8 binary64) %1096 %1088))))
(approx %152 (*.f64 %64 (+.f64 %1083 (fma.f64 #s(literal -1/8 binary64) %1096 (fma.f64 #s(literal 1/16 binary64) (/.f64 %1025 (*.f64 %1102 (pow.f64 %1083 #s(literal 5 binary64)))) %1088)))))
(approx %158 (*.f64 %64 (+.f64 %1083 %1113)))
(approx %158 (*.f64 %64 (+.f64 %1083 %1117)))
(approx %158 (*.f64 %64 (+.f64 %1083 (fma.f64 #s(literal -1/8 binary64) %1096 %1117))))
(approx %162 (*.f64 #s(literal 1/2 binary64) %1084))
(approx %162 (*.f64 %64 %1129))
(approx %162 (*.f64 %64 %1132))
(approx %162 (*.f64 %64 (fma.f64 #s(literal -1/16 binary64) %1096 %1132)))
(approx %165 (*.f64 q (+.f64 #s(literal 2 binary64) %1139)))
(approx %165 (*.f64 q (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/64 binary64) %1019 %1139))))
(approx %169 (*.f64 q (+.f64 #s(literal 1 binary64) %1147)))
(approx %169 (*.f64 q (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/128 binary64) %1019 %1147))))
(approx %144 (*.f64 #s(literal -1 binary64) %1157))
(approx %145 %1157)
(approx %61 (*.f64 #s(literal -1 binary64) %1015))
(approx %61 (*.f64 #s(literal -1 binary64) %1022))
(approx %61 (*.f64 #s(literal -1 binary64) %1030))
(approx %148 (*.f64 #s(literal 2 binary64) %1157))
(approx %74 (*.f64 #s(literal -1 binary64) %1037))
(approx %74 (*.f64 #s(literal -1 binary64) %1043))
(approx %74 (*.f64 #s(literal -1 binary64) %1050))
(approx %111 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) %1066)))))
(approx %111 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %43 (*.f64 #s(literal -1/4 binary64) %1181))) q))))))
(approx %111 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %43 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/64 binary64) %1191 (*.f64 #s(literal 1/4 binary64) %927)) q)))) q))))))
(approx %125 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/2 binary64) %1066)))))
(approx %125 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) %1181 %1209) q))))))
(approx %125 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/128 binary64) %1191 (*.f64 #s(literal 1/8 binary64) %927)) q) %1209) q))))))
(approx %152 %1230)
(approx %152 (*.f64 %64 (+.f64 %1229 %1234)))
(approx %152 (*.f64 %64 (+.f64 %1229 (fma.f64 #s(literal -1/8 binary64) %1240 %1234))))
(approx %152 (*.f64 %64 (+.f64 %1229 (fma.f64 #s(literal -1/8 binary64) %1240 (fma.f64 #s(literal 1/16 binary64) (/.f64 %1025 (*.f64 %1102 (pow.f64 %1229 #s(literal 5 binary64)))) %1234)))))
(approx %158 (*.f64 %64 (+.f64 %1229 %1113)))
(approx %158 (*.f64 %64 (+.f64 %1229 %1256)))
(approx %158 (*.f64 %64 (+.f64 %1229 (fma.f64 #s(literal -1/8 binary64) %1240 %1256))))
(approx %162 (*.f64 #s(literal 1/2 binary64) %1230))
(approx %162 (*.f64 %64 %1266))
(approx %162 (*.f64 %64 %1269))
(approx %162 (*.f64 %64 (fma.f64 #s(literal -1/16 binary64) %1240 %1269)))
(approx %165 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %43 (*.f64 #s(literal -1/4 binary64) %1275))) q))))))
(approx %165 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (+.f64 %6 (+.f64 %43 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/64 binary64) %1285 (*.f64 #s(literal 1/4 binary64) %65)) q)))) q))))))
(approx %169 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) %1275 %1209) q))))))
(approx %169 (*.f64 #s(literal -1 binary64) (*.f64 q (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/128 binary64) %1285 (*.f64 #s(literal 1/8 binary64) %65)) q) %1209) q))))))
Calls

9 calls:

TimeVariablePoint
4.0ms
p
0
2.0ms
r
inf
2.0ms
p
inf
1.0ms
p
-inf
1.0ms
q
inf

rewrite103.0ms (3.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057516
0100486
1354394
21365394
04034394
04321358
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
50 → 1 623
Calls
Call 1
Inputs
%3 = (fabs.f64 p)
%5 = (fabs.f64 r)
%9 = (*.f64 #s(literal -1 binary64) r)
%11 = (/.f64 r p)
%12 = (*.f64 #s(literal -1 binary64) %11)
%13 = (+.f64 #s(literal 1 binary64) %12)
%14 = (*.f64 p %13)
%15 = (/.f64 p r)
%16 = (*.f64 #s(literal -1 binary64) %15)
%17 = (+.f64 #s(literal 1 binary64) %16)
%18 = (*.f64 r %17)
%19 = (*.f64 #s(literal -1 binary64) %18)
%20 = (+.f64 %5 %3)
%21 = (-.f64 r p)
%22 = (fabs.f64 %21)
%23 = (neg.f64 %22)
%24 = (fabs.f64 q)
%25 = (neg.f64 %24)
%26 = (neg.f64 %25)
%27 = (neg.f64 q)
%28 = (*.f64 #s(literal 2 binary64) %27)
%29 = (hypot.f64 %28 %23)
%30 = (*.f64 %26 #s(literal -2 binary64))
%31 = (- r p)
%32 = (approx %31 r)
%39 = (sqrt (- (pow %31 2) (* -4 (pow q 2))))
%40 = (approx %39 %14)
%41 = (approx %39 %9)
%42 = (approx %39 %19)
%43 = (approx %39 %32)
%44 = (+.f64 %43 %20)
%46 = (fabs.f64 %32)
%47 = (hypot.f64 %30 %46)
%48 = (+.f64 %47 %20)
%50 = (+.f64 %40 %20)
%52 = (+.f64 %41 %20)
%54 = (+.f64 %42 %20)
%56 = (+.f64 %29 %20)
#s(literal 1 binary64)
#s(literal 2 binary64)
p
%3
r
%5
q
#s(literal 1/2 binary64)
#s(literal -1 binary64)
%9
#s(literal -2 binary64)
%11
%12
%13
%14
%15
%16
%17
%18
%19
%20
%21
%22
%23
%24
%25
%26
%27
%28
%29
%30
%32
%40
%41
%42
%43
%44
(*.f64 %44 #s(literal 1/2 binary64))
%46
%47
%48
(*.f64 %48 #s(literal 1/2 binary64))
%50
(*.f64 %50 #s(literal 1/2 binary64))
%52
(*.f64 %52 #s(literal 1/2 binary64))
%54
(*.f64 %54 #s(literal 1/2 binary64))
%56
(*.f64 %56 #s(literal 1/2 binary64))
Outputs
%3 = (fabs.f64 p)
%4 = (sqrt.f64 %3)
%5 = (neg.f64 %4)
%7 = (*.f64 p #s(literal 2 binary64))
%8 = (fabs.f64 %7)
%13 = (*.f64 #s(literal 1/2 binary64) p)
%14 = (fabs.f64 %13)
%18 = (*.f64 p p)
%25 = (neg.f64 %3)
%27 = (neg.f64 p)
%31 = (fabs.f64 r)
%32 = (sqrt.f64 %31)
%33 = (neg.f64 %32)
%35 = (*.f64 r #s(literal 2 binary64))
%36 = (fabs.f64 %35)
%40 = (*.f64 #s(literal 1/2 binary64) r)
%41 = (fabs.f64 %40)
%45 = (*.f64 r r)
%53 = (*.f64 #s(literal -1 binary64) %31)
%55 = (neg.f64 r)
%56 = (*.f64 #s(literal -1 binary64) %55)
%58 = (*.f64 %55 #s(literal -1 binary64))
%60 = (*.f64 %55 #s(literal 1 binary64))
%62 = (*.f64 #s(literal 1 binary64) %55)
%64 = (neg.f64 %31)
%72 = (/.f64 #s(literal -1 binary64) r)
%75 = (/.f64 r #s(literal -1 binary64))
%76 = (/.f64 #s(literal -1 binary64) p)
%78 = (/.f64 %35 p)
%81 = (/.f64 #s(literal 1/2 binary64) p)
%83 = (/.f64 r %7)
%89 = (/.f64 r #s(literal 1/2 binary64))
%91 = (/.f64 r #s(literal 2 binary64))
%94 = (/.f64 r #s(literal 1 binary64))
%95 = (/.f64 #s(literal 1 binary64) p)
%97 = (/.f64 #s(literal 2 binary64) p)
%102 = (/.f64 %55 #s(literal -1 binary64))
%107 = (/.f64 r p)
%108 = (neg.f64 %107)
%112 = (/.f64 r %13)
%117 = (/.f64 %40 p)
%119 = (*.f64 #s(literal 1/2 binary64) %107)
%126 = (*.f64 %27 #s(literal 2 binary64))
%128 = (*.f64 %55 #s(literal 2 binary64))
%130 = (*.f64 #s(literal 2 binary64) %62)
%131 = (*.f64 #s(literal 2 binary64) %27)
%133 = (*.f64 #s(literal 2 binary64) %55)
%135 = (neg.f64 %62)
%137 = (*.f64 #s(literal 2 binary64) r)
%138 = (*.f64 #s(literal 2 binary64) p)
%147 = (/.f64 p r)
%150 = (/.f64 %35 #s(literal -1 binary64))
%152 = (/.f64 #s(literal -1 binary64) %7)
%159 = (/.f64 #s(literal -1 binary64) %13)
%162 = (/.f64 %40 #s(literal -1 binary64))
%175 = (neg.f64 %95)
%194 = (neg.f64 %147)
%196 = (-.f64 r p)
%197 = (/.f64 %196 r)
%198 = (*.f64 #s(literal -1 binary64) %197)
%203 = (-.f64 p r)
%204 = (/.f64 %203 r)
%209 = (/.f64 %55 %7)
%210 = (/.f64 %197 #s(literal 1/2 binary64))
%212 = (/.f64 %55 #s(literal 2 binary64))
%220 = (/.f64 %55 #s(literal 1/2 binary64))
%222 = (/.f64 %55 #s(literal 1 binary64))
%223 = (/.f64 %197 p)
%226 = (/.f64 %203 p)
%228 = (/.f64 p #s(literal 1/2 binary64))
%231 = (/.f64 p %13)
%235 = (/.f64 %196 #s(literal 1 binary64))
%237 = (/.f64 %198 #s(literal 1 binary64))
%239 = (/.f64 %198 p)
%241 = (/.f64 %204 #s(literal 1 binary64))
%243 = (/.f64 %204 p)
%245 = (/.f64 p %7)
%248 = (/.f64 %226 #s(literal 1 binary64))
%249 = (/.f64 p p)
%251 = (/.f64 %226 p)
%252 = (/.f64 p #s(literal 1 binary64))
%254 = (/.f64 p #s(literal 2 binary64))
%261 = (/.f64 %197 #s(literal 2 binary64))
%262 = (/.f64 %55 %13)
%264 = (/.f64 %197 #s(literal 1 binary64))
%276 = (/.f64 %196 p)
%293 = (*.f64 #s(literal 1 binary64) %27)
%348 = (*.f64 %55 %147)
%349 = (*.f64 #s(literal -1 binary64) %348)
%350 = (/.f64 %349 p)
%352 = (*.f64 %348 #s(literal -1 binary64))
%353 = (/.f64 %352 p)
%355 = (neg.f64 %348)
%356 = (/.f64 %355 p)
%470 = (*.f64 %107 p)
%471 = (/.f64 %470 p)
%473 = (*.f64 %27 %108)
%474 = (/.f64 %473 p)
%476 = (*.f64 %27 %107)
%477 = (neg.f64 %476)
%478 = (/.f64 %477 p)
%488 = (*.f64 %194 %55)
%489 = (/.f64 %488 p)
%490 = (/.f64 %62 p)
%493 = (/.f64 %60 p)
%494 = (*.f64 %55 %194)
%495 = (/.f64 %494 p)
%498 = (/.f64 %476 p)
%513 = (*.f64 %198 r)
%514 = (*.f64 %204 r)
%515 = (*.f64 %55 %197)
%516 = (*.f64 %196 #s(literal -1 binary64))
%517 = (*.f64 %197 %55)
%518 = (*.f64 %226 p)
%519 = (*.f64 #s(literal -1 binary64) %196)
%520 = (*.f64 r %198)
%521 = (*.f64 r %204)
%522 = (*.f64 p %226)
%523 = (pow.f64 %203 #s(literal 1 binary64))
%524 = (*.f64 p %55)
%526 = (/.f64 (fma.f64 p p %524) p)
%527 = (*.f64 %55 p)
%529 = (/.f64 (fma.f64 p p %527) p)
%531 = (/.f64 #s(literal 1 binary64) (pow.f64 %203 #s(literal -1 binary64)))
%532 = (neg.f64 %196)
%533 = (fma.f64 %209 %228 p)
%534 = (fma.f64 %212 %231 p)
%535 = (fma.f64 %222 %249 p)
%536 = (fma.f64 %245 %220 p)
%537 = (fma.f64 %254 %262 p)
%538 = (fma.f64 %249 %222 p)
%539 = (fma.f64 %524 %95 p)
%540 = (fma.f64 %527 %95 p)
%541 = (fma.f64 %252 %108 p)
%542 = (*.f64 p %107)
%543 = (fma.f64 %542 #s(literal -1 binary64) p)
%544 = (fma.f64 %27 %107 p)
%545 = (fma.f64 %55 %194 %60)
%546 = (fma.f64 %55 #s(literal 1 binary64) %494)
%547 = (fma.f64 %194 %55 %62)
%548 = (fma.f64 %108 %252 p)
%549 = (fma.f64 %108 p p)
%550 = (fma.f64 %107 %27 p)
%551 = (fma.f64 #s(literal -1 binary64) %470 p)
%552 = (*.f64 #s(literal -1 binary64) %27)
%553 = (fma.f64 #s(literal -1 binary64) r %552)
%554 = (fma.f64 #s(literal -1 binary64) r %252)
%555 = (fma.f64 #s(literal -1 binary64) r %349)
%556 = (fma.f64 #s(literal -1 binary64) r %352)
%557 = (fma.f64 #s(literal -1 binary64) r %355)
%558 = (fma.f64 #s(literal -1 binary64) r p)
%559 = (fma.f64 r #s(literal -1 binary64) %552)
%560 = (fma.f64 r #s(literal -1 binary64) %252)
%561 = (fma.f64 r #s(literal -1 binary64) %349)
%562 = (fma.f64 r #s(literal -1 binary64) %352)
%563 = (fma.f64 r #s(literal -1 binary64) %355)
%564 = (fma.f64 r #s(literal -1 binary64) p)
%565 = (fma.f64 p %108 p)
%566 = (fma.f64 #s(literal 1 binary64) %55 %488)
%567 = (neg.f64 %494)
%568 = (-.f64 %60 %567)
%569 = (-.f64 %60 %348)
%570 = (-.f64 %488 %135)
%571 = (-.f64 %488 %56)
%573 = (-.f64 %62 (neg.f64 %488))
%574 = (-.f64 %62 %348)
%575 = (*.f64 %147 r)
%576 = (-.f64 %575 r)
%578 = (-.f64 %494 (neg.f64 %60))
%579 = (-.f64 %494 r)
%580 = (-.f64 %355 r)
%582 = (*.f64 (neg.f64 %7) #s(literal 1/2 binary64))
%583 = (-.f64 %476 %582)
%584 = (*.f64 %27 #s(literal 1 binary64))
%585 = (-.f64 %476 %584)
%586 = (*.f64 #s(literal -2 binary64) %13)
%587 = (-.f64 %476 %586)
%588 = (-.f64 %476 %27)
%590 = (-.f64 %55 (*.f64 %575 #s(literal -1 binary64)))
%592 = (-.f64 %55 (*.f64 #s(literal 1 binary64) %348))
%594 = (-.f64 %55 (*.f64 %355 #s(literal -1 binary64)))
%595 = (-.f64 %55 %582)
%596 = (-.f64 %55 %584)
%597 = (-.f64 %55 %586)
%599 = (-.f64 %55 (neg.f64 %349))
%601 = (-.f64 %55 (neg.f64 %352))
%602 = (neg.f64 %355)
%603 = (-.f64 %55 %602)
%604 = (-.f64 %55 %293)
%605 = (-.f64 %55 %348)
%606 = (-.f64 %55 %27)
%608 = (-.f64 p (*.f64 %476 #s(literal -1 binary64)))
%610 = (-.f64 p (*.f64 %108 %27))
%612 = (-.f64 p (*.f64 #s(literal 1 binary64) %470))
%613 = (-.f64 p %58)
%614 = (-.f64 p %542)
%615 = (-.f64 p %470)
%616 = (-.f64 p %473)
%617 = (-.f64 p %477)
%618 = (+.f64 %60 %494)
%619 = (+.f64 %488 %62)
%620 = (+.f64 %62 %488)
%621 = (+.f64 %494 %60)
%622 = (+.f64 %476 p)
%623 = (+.f64 %55 %552)
%624 = (+.f64 %55 %252)
%625 = (+.f64 %55 %349)
%626 = (+.f64 %55 %352)
%627 = (+.f64 %55 %355)
%628 = (+.f64 %55 p)
%630 = (*.f64 (neg.f64 %35) #s(literal 1/2 binary64))
%631 = (+.f64 p %630)
%632 = (*.f64 #s(literal -2 binary64) %40)
%633 = (+.f64 p %632)
%635 = (+.f64 p (neg.f64 %473))
%637 = (+.f64 p (neg.f64 %477))
%638 = (+.f64 p %60)
%639 = (+.f64 p %476)
%640 = (+.f64 p %55)
%642 = (/.f64 #s(literal 1 binary64) r)
%648 = (/.f64 #s(literal 1/2 binary64) r)
%650 = (/.f64 p #s(literal -2 binary64))
%653 = (neg.f64 %642)
%656 = (/.f64 p %35)
%660 = (/.f64 %7 r)
%662 = (/.f64 p #s(literal -1 binary64))
%667 = (/.f64 #s(literal 2 binary64) r)
%683 = (/.f64 p %40)
%688 = (/.f64 %13 r)
%690 = (*.f64 #s(literal 1/2 binary64) %147)
%696 = (*.f64 %252 #s(literal 2 binary64))
%702 = (*.f64 #s(literal 2 binary64) %293)
%704 = (*.f64 #s(literal 2 binary64) %252)
%706 = (*.f64 #s(literal 2 binary64) %194)
%713 = (neg.f64 %252)
%731 = (/.f64 #s(literal -1 binary64) %35)
%734 = (/.f64 #s(literal -1 binary64) %40)
%736 = (/.f64 %7 #s(literal -1 binary64))
%740 = (/.f64 %13 #s(literal -1 binary64))
%772 = (/.f64 r %40)
%774 = (/.f64 r %35)
%776 = (/.f64 r r)
%780 = (/.f64 %197 r)
%889 = (/.f64 %575 r)
%891 = (/.f64 %494 r)
%893 = (/.f64 %355 r)
%903 = (/.f64 %348 r)
%915 = (*.f64 %197 r)
%916 = (*.f64 r %197)
%917 = (pow.f64 %196 #s(literal 1 binary64))
%918 = (*.f64 %27 r)
%920 = (/.f64 (fma.f64 r r %918) r)
%921 = (*.f64 r %27)
%923 = (/.f64 (fma.f64 r r %921) r)
%925 = (/.f64 #s(literal 1 binary64) (pow.f64 %196 #s(literal -1 binary64)))
%926 = (neg.f64 %203)
%928 = (fma.f64 (/.f64 %27 %35) %89 r)
%930 = (fma.f64 (/.f64 %27 #s(literal 2 binary64)) %772 r)
%931 = (/.f64 %27 #s(literal 1 binary64))
%932 = (fma.f64 %931 %776 r)
%934 = (fma.f64 %774 (/.f64 %27 #s(literal 1/2 binary64)) r)
%936 = (fma.f64 %91 (/.f64 %27 %40) r)
%937 = (fma.f64 %94 %194 r)
%938 = (fma.f64 %776 %931 r)
%939 = (fma.f64 %918 %642 r)
%940 = (*.f64 r %147)
%941 = (fma.f64 %940 #s(literal -1 binary64) r)
%942 = (fma.f64 %921 %642 r)
%943 = (fma.f64 %55 %147 r)
%944 = (fma.f64 %194 %94 r)
%945 = (fma.f64 %194 r r)
%946 = (fma.f64 %147 %55 r)
%947 = (fma.f64 #s(literal -1 binary64) %575 r)
%948 = (fma.f64 #s(literal -1 binary64) p r)
%949 = (fma.f64 r %194 r)
%950 = (fma.f64 p #s(literal -1 binary64) r)
%951 = (-.f64 %470 p)
%952 = (-.f64 %473 p)
%953 = (-.f64 %477 p)
%954 = (-.f64 %348 %630)
%955 = (-.f64 %348 %632)
%956 = (-.f64 %348 %60)
%957 = (-.f64 %348 %55)
%958 = (-.f64 %27 %630)
%959 = (-.f64 %27 %632)
%960 = (-.f64 %27 %60)
%961 = (-.f64 %27 %55)
%963 = (-.f64 r (*.f64 #s(literal 1 binary64) %575))
%964 = (-.f64 r %252)
%965 = (-.f64 r %488)
%966 = (-.f64 r %352)
%967 = (-.f64 r %940)
%968 = (-.f64 r %575)
%969 = (-.f64 r %494)
%970 = (-.f64 r %355)
%971 = (+.f64 %348 r)
%972 = (+.f64 %27 r)
%973 = (+.f64 r %582)
%974 = (+.f64 r %584)
%975 = (+.f64 r %586)
%976 = (+.f64 r %567)
%977 = (+.f64 r %602)
%978 = (+.f64 r %348)
%979 = (+.f64 r %27)
%980 = (+.f64 %31 %3)
%992 = (neg.f64 %980)
%994 = (neg.f64 %25)
%997 = (neg.f64 %64)
%1020 = (*.f64 %5 %4)
%1025 = (*.f64 %33 %32)
%1027 = (*.f64 %64 #s(literal 1 binary64))
%1034 = (fabs.f64 %203)
%1035 = (sqrt.f64 %1034)
%1036 = (neg.f64 %1035)
%1038 = (fabs.f64 %198)
%1040 = (fabs.f64 %204)
%1042 = (fabs.f64 %226)
%1044 = (fabs.f64 %197)
%1053 = (*.f64 %196 %196)
%1062 = (neg.f64 %1034)
%1071 = (fabs.f64 q)
%1072 = (sqrt.f64 %1071)
%1073 = (neg.f64 %1072)
%1074 = (*.f64 %1073 %1073)
%1075 = (*.f64 %1072 %1072)
%1076 = (*.f64 q q)
%1078 = (pow.f64 (*.f64 %1076 %1076) #s(literal 1/4 binary64))
%1079 = (pow.f64 %1072 #s(literal 2 binary64))
%1080 = (pow.f64 %1076 #s(literal 1/2 binary64))
%1081 = (pow.f64 %1071 #s(literal 1 binary64))
%1083 = (/.f64 #s(literal 1 binary64) (pow.f64 %1071 #s(literal -1 binary64)))
%1084 = (neg.f64 %1071)
%1085 = (neg.f64 %1084)
%1086 = (sqrt.f64 %1076)
%1087 = (neg.f64 q)
%1088 = (neg.f64 %1087)
%1089 = (neg.f64 %1088)
%1090 = (fabs.f64 %1089)
%1091 = (fabs.f64 %1088)
%1092 = (fabs.f64 %1087)
%1093 = (fabs.f64 %1071)
%1094 = (fabs.f64 %1084)
%1102 = (*.f64 #s(literal -2 binary64) q)
%1107 = (+.f64 q q)
%1109 = (*.f64 %1087 #s(literal 1 binary64))
%1111 = (*.f64 #s(literal 1 binary64) %1087)
%1130 = (*.f64 #s(literal 4 binary64) q)
%1131 = (fma.f64 %1130 q %1053)
%1132 = (sqrt.f64 %1131)
%1133 = (sqrt.f64 %1132)
%1139 = (neg.f64 %1132)
%1140 = (neg.f64 %1139)
%1144 = (*.f64 #s(literal 2 binary64) %1084)
%1149 = (*.f64 %1088 #s(literal -2 binary64))
%1154 = (*.f64 #s(literal -2 binary64) %1088)
%1159 = (*.f64 q #s(literal -2 binary64))
%1168 = (fabs.f64 %1107)
%1179 = (*.f64 %1071 #s(literal -2 binary64))
%1220 = (- r p)
%1221 = (approx %1220 r)
%1231 = (sqrt (- (pow %1220 2) (* (pow q 2) -4)))
%1232 = (approx %1231 %203)
%1233 = (pow.f64 %1232 #s(literal 1 binary64))
%1235 = (/.f64 #s(literal 1 binary64) (pow.f64 %1232 #s(literal -1 binary64)))
%1236 = (approx %1231 %55)
%1240 = (approx %1231 %1221)
%1244 = (+.f64 %1240 %980)
%1248 = (+.f64 %1240 %31)
%1251 = (neg.f64 %1240)
%1254 = (-.f64 %25 %1240)
%1259 = (neg.f64 %1254)
%1261 = (+.f64 %3 %1240)
%1279 = (+.f64 %1240 %3)
%1302 = (*.f64 %1244 #s(literal 1/2 binary64))
%1308 = (*.f64 %3 #s(literal 1/2 binary64))
%1310 = (*.f64 %980 #s(literal 1/2 binary64))
%1312 = (*.f64 %1240 #s(literal 1/2 binary64))
%1314 = (*.f64 #s(literal 1/2 binary64) %3)
%1316 = (*.f64 #s(literal 1/2 binary64) %980)
%1318 = (*.f64 #s(literal 1/2 binary64) %1240)
%1320 = (*.f64 #s(literal 1/2 binary64) %1248)
%1321 = (*.f64 #s(literal -1/2 binary64) %3)
%1323 = (neg.f64 %1314)
%1325 = (*.f64 #s(literal -1/2 binary64) %980)
%1327 = (neg.f64 %1316)
%1333 = (*.f64 %1248 #s(literal 1/2 binary64))
%1334 = (*.f64 %25 #s(literal 1/2 binary64))
%1336 = (neg.f64 %1308)
%1338 = (*.f64 %992 #s(literal 1/2 binary64))
%1340 = (neg.f64 %1310)
%1352 = (fabs.f64 %1221)
%1353 = (sqrt.f64 %1352)
%1354 = (neg.f64 %1353)
%1357 = (*.f64 %1221 %1221)
%1366 = (neg.f64 %1221)
%1367 = (neg.f64 %1366)
%1370 = (neg.f64 %1352)
%1371 = (neg.f64 %1370)
%1377 = (fma.f64 %1130 q %1357)
%1378 = (sqrt.f64 %1377)
%1379 = (sqrt.f64 %1378)
%1385 = (neg.f64 %1378)
%1386 = (neg.f64 %1385)
%1390 = (neg.f64 %1371)
%1503 = (+.f64 %1378 %980)
%1507 = (+.f64 %1378 %31)
%1512 = (-.f64 %25 %1378)
%1517 = (neg.f64 %1512)
%1519 = (+.f64 %3 %1378)
%1538 = (+.f64 %1378 %3)
%1560 = (*.f64 %1503 #s(literal 1/2 binary64))
%1568 = (*.f64 %1378 #s(literal 1/2 binary64))
%1572 = (*.f64 #s(literal 1/2 binary64) %1378)
%1574 = (*.f64 #s(literal 1/2 binary64) %1507)
%1583 = (*.f64 %1507 #s(literal 1/2 binary64))
%1598 = (+.f64 %1232 %980)
%1599 = (pow.f64 %1598 #s(literal 1 binary64))
%1601 = (/.f64 #s(literal 1 binary64) (pow.f64 %1598 #s(literal -1 binary64)))
%1602 = (+.f64 %1232 %31)
%1604 = (neg.f64 (-.f64 %25 %1602))
%1605 = (neg.f64 %1232)
%1607 = (neg.f64 (-.f64 %1605 %980))
%1608 = (-.f64 %25 %1232)
%1610 = (neg.f64 (-.f64 %1608 %31))
%1612 = (neg.f64 (neg.f64 %1598))
%1613 = (neg.f64 %1608)
%1614 = (fma.f64 %33 %33 %1613)
%1615 = (+.f64 %3 %1232)
%1616 = (fma.f64 %33 %33 %1615)
%1617 = (fma.f64 %5 %5 %1602)
%1618 = (fma.f64 %36 #s(literal 1/2 binary64) %1613)
%1619 = (fma.f64 %36 #s(literal 1/2 binary64) %1615)
%1620 = (fma.f64 %8 #s(literal 1/2 binary64) %1602)
%1621 = (fma.f64 %32 %32 %1613)
%1622 = (fma.f64 %32 %32 %1615)
%1623 = (fma.f64 %4 %4 %1602)
%1624 = (fma.f64 %31 #s(literal 1 binary64) %1613)
%1625 = (fma.f64 %31 #s(literal 1 binary64) %1615)
%1626 = (fma.f64 %3 #s(literal 1 binary64) %1602)
%1627 = (fma.f64 #s(literal 2 binary64) %41 %1613)
%1628 = (fma.f64 #s(literal 2 binary64) %41 %1615)
%1629 = (fma.f64 #s(literal 2 binary64) %14 %1602)
%1630 = (fma.f64 #s(literal 1 binary64) %31 %1613)
%1631 = (fma.f64 #s(literal 1 binary64) %31 %1615)
%1632 = (fma.f64 #s(literal 1 binary64) %3 %1602)
%1633 = (+.f64 %1232 %3)
%1634 = (-.f64 %1633 %1025)
%1635 = (-.f64 %1633 %1027)
%1636 = (-.f64 %1633 %53)
%1637 = (-.f64 %1633 %64)
%1638 = (-.f64 %1602 %1020)
%1639 = (-.f64 %1602 %25)
%1640 = (-.f64 %1232 %992)
%1641 = (-.f64 %980 %1605)
%1643 = (-.f64 %31 (neg.f64 %1615))
%1644 = (-.f64 %31 %1608)
%1646 = (-.f64 %3 (neg.f64 %1602))
%1647 = (+.f64 %1633 %31)
%1648 = (+.f64 %1602 %994)
%1649 = (+.f64 %1602 %3)
%1651 = (+.f64 %980 (neg.f64 %1605))
%1652 = (+.f64 %980 %1232)
%1653 = (+.f64 %31 %1613)
%1654 = (+.f64 %31 %1615)
%1655 = (+.f64 %3 %1602)
%1656 = (*.f64 %1598 #s(literal 1/2 binary64))
%1657 = (*.f64 #s(literal 1/2 binary64) %1598)
%1658 = (pow.f64 %1656 #s(literal 1 binary64))
%1659 = (/.f64 %1598 #s(literal 2 binary64))
%1661 = (/.f64 #s(literal 1 binary64) (pow.f64 %1656 #s(literal -1 binary64)))
%1662 = (fma.f64 %1602 #s(literal 1/2 binary64) %1308)
%1663 = (fma.f64 %1232 #s(literal 1/2 binary64) %1310)
%1664 = (*.f64 %1232 #s(literal 1/2 binary64))
%1665 = (fma.f64 %980 #s(literal 1/2 binary64) %1664)
%1666 = (fma.f64 #s(literal 1/2 binary64) %1602 %1314)
%1667 = (fma.f64 #s(literal 1/2 binary64) %1232 %1316)
%1668 = (*.f64 #s(literal 1/2 binary64) %1232)
%1669 = (fma.f64 #s(literal 1/2 binary64) %980 %1668)
%1670 = (*.f64 #s(literal 1/2 binary64) %1602)
%1671 = (-.f64 %1670 %1321)
%1672 = (-.f64 %1670 %1323)
%1673 = (-.f64 %1668 %1325)
%1674 = (-.f64 %1668 %1327)
%1676 = (-.f64 %1316 (*.f64 #s(literal -1/2 binary64) %1232))
%1678 = (-.f64 %1316 (neg.f64 %1668))
%1679 = (*.f64 %1602 #s(literal 1/2 binary64))
%1680 = (-.f64 %1679 %1334)
%1681 = (-.f64 %1679 %1336)
%1682 = (-.f64 %1664 %1338)
%1683 = (-.f64 %1664 %1340)
%1685 = (-.f64 %1310 (*.f64 %1605 #s(literal 1/2 binary64)))
%1687 = (-.f64 %1310 (neg.f64 %1664))
%1688 = (+.f64 %1670 %1314)
%1689 = (+.f64 %1668 %1316)
%1690 = (+.f64 %1316 %1668)
%1691 = (+.f64 %1679 %1308)
%1692 = (+.f64 %1664 %1310)
%1693 = (+.f64 %1310 %1664)
%1694 = (+.f64 %1236 %980)
%1698 = (+.f64 %1236 %31)
%1701 = (neg.f64 %1236)
%1704 = (-.f64 %25 %1236)
%1709 = (neg.f64 %1704)
%1711 = (+.f64 %3 %1236)
%1729 = (+.f64 %1236 %3)
%1752 = (*.f64 %1694 #s(literal 1/2 binary64))
%1760 = (*.f64 %1236 #s(literal 1/2 binary64))
%1764 = (*.f64 #s(literal 1/2 binary64) %1236)
%1766 = (*.f64 #s(literal 1/2 binary64) %1698)
%1775 = (*.f64 %1698 #s(literal 1/2 binary64))
%1790 = (+.f64 %1132 %980)
%1794 = (+.f64 %1132 %31)
%1799 = (-.f64 %25 %1132)
%1804 = (neg.f64 %1799)
%1806 = (+.f64 %3 %1132)
%1825 = (+.f64 %1132 %3)
%1847 = (*.f64 %1790 #s(literal 1/2 binary64))
%1855 = (*.f64 %1132 #s(literal 1/2 binary64))
%1859 = (*.f64 #s(literal 1/2 binary64) %1132)
%1861 = (*.f64 #s(literal 1/2 binary64) %1794)
%1870 = (*.f64 %1794 #s(literal 1/2 binary64))
#s(literal 1 binary64)
#s(literal 2 binary64)
p
(*.f64 %5 %5)
(*.f64 %8 #s(literal 1/2 binary64))
(*.f64 %4 %4)
(*.f64 %3 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %14)
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %4 #s(literal 2 binary64))
(pow.f64 %18 #s(literal 1/2 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(sqrt.f64 %18)
(fabs.f64 %25)
(fabs.f64 %27)
(fabs.f64 %3)
%3
r
(*.f64 %33 %33)
(*.f64 %36 #s(literal 1/2 binary64))
(*.f64 %32 %32)
(*.f64 %31 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %41)
(*.f64 #s(literal 1 binary64) %31)
(pow.f64 %32 #s(literal 2 binary64))
(pow.f64 %45 #s(literal 1/2 binary64))
(pow.f64 %31 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %31 #s(literal -1 binary64)))
(sqrt.f64 %45)
(fabs.f64 (*.f64 %31 #s(literal -1 binary64)))
(fabs.f64 %53)
(fabs.f64 %56)
(fabs.f64 %58)
(fabs.f64 %60)
(fabs.f64 %62)
(fabs.f64 %64)
(fabs.f64 %55)
(fabs.f64 %31)
%31
q
#s(literal 1/2 binary64)
#s(literal -1 binary64)
(*.f64 #s(literal -1 binary64) r)
(*.f64 r #s(literal -1 binary64))
(pow.f64 %55 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) %72)
%55
#s(literal -2 binary64)
(*.f64 %75 %76)
(*.f64 %78 #s(literal 1/2 binary64))
(*.f64 (/.f64 %35 #s(literal 1 binary64)) %81)
(*.f64 %83 #s(literal 2 binary64))
(*.f64 (/.f64 #s(literal 2 binary64) %7) (/.f64 %40 #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) %7) %89)
(*.f64 %91 (/.f64 #s(literal 1 binary64) %13))
(*.f64 %94 %95)
(*.f64 %97 (/.f64 %40 #s(literal 1 binary64)))
(*.f64 %62 %76)
(*.f64 %76 %75)
(*.f64 %95 %102)
(*.f64 %95 %94)
(*.f64 %95 r)
(*.f64 %55 %76)
(*.f64 %108 #s(literal -1 binary64))
(*.f64 %107 #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) %108)
(*.f64 #s(literal 1/2 binary64) %112)
(*.f64 r (/.f64 #s(literal 1/2 binary64) %13))
(*.f64 r %95)
(*.f64 #s(literal 2 binary64) %117)
(*.f64 #s(literal 2 binary64) %119)
(*.f64 #s(literal 1 binary64) (/.f64 %40 %13))
(*.f64 #s(literal 1 binary64) %107)
(pow.f64 %107 #s(literal 1 binary64))
(/.f64 (*.f64 %62 #s(literal 2 binary64)) %126)
(/.f64 %128 %126)
(/.f64 %130 %131)
(/.f64 %133 %131)
(/.f64 %135 p)
(/.f64 %137 %138)
(/.f64 %35 %7)
(/.f64 %62 %27)
(/.f64 %55 %27)
%107
(/.f64 #s(literal 1 binary64) (/.f64 %27 %62))
(/.f64 #s(literal 1 binary64) (pow.f64 %107 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %147)
(neg.f64 %108)
(*.f64 %150 %81)
(*.f64 %152 %89)
(*.f64 %102 %76)
(*.f64 %75 %95)
(*.f64 %78 #s(literal -1/2 binary64))
(*.f64 %83 #s(literal -2 binary64))
(*.f64 %91 %159)
(*.f64 %94 %76)
(*.f64 %97 %162)
(*.f64 #s(literal -1/2 binary64) %112)
(*.f64 %56 %76)
(*.f64 %58 %76)
(*.f64 %76 %102)
(*.f64 %76 %94)
(*.f64 %95 %75)
(*.f64 %55 %95)
(*.f64 %108 #s(literal 1 binary64))
(*.f64 %107 #s(literal -1 binary64))
(*.f64 #s(literal -2 binary64) %117)
(*.f64 #s(literal -1 binary64) %107)
(*.f64 r %175)
(*.f64 r %76)
(*.f64 #s(literal 1 binary64) %108)
(pow.f64 %108 #s(literal 1 binary64))
(/.f64 (neg.f64 %56) p)
(/.f64 (neg.f64 %58) p)
(/.f64 %56 %27)
(/.f64 %58 %27)
(/.f64 %55 p)
(/.f64 r %27)
(/.f64 #s(literal 1 binary64) (/.f64 %27 %56))
(/.f64 #s(literal 1 binary64) (/.f64 %27 %58))
(/.f64 #s(literal 1 binary64) (pow.f64 %108 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %194)
%108
(*.f64 (/.f64 %198 %7) %89)
(*.f64 (/.f64 %198 #s(literal 2 binary64)) %112)
(*.f64 (/.f64 %204 %7) %89)
(*.f64 (/.f64 %204 #s(literal 2 binary64)) %112)
(*.f64 %209 %210)
(*.f64 %212 (/.f64 %197 %13))
(*.f64 (/.f64 %196 %7) #s(literal -2 binary64))
(*.f64 (/.f64 %196 #s(literal 2 binary64)) %159)
(*.f64 (/.f64 %197 %7) %220)
(*.f64 %222 %223)
(*.f64 %223 %222)
(*.f64 (/.f64 %226 %7) %228)
(*.f64 (/.f64 %226 #s(literal 2 binary64)) %231)
(*.f64 %152 (/.f64 %196 #s(literal 1/2 binary64)))
(*.f64 %235 %76)
(*.f64 %237 %107)
(*.f64 %239 %94)
(*.f64 %241 %107)
(*.f64 %243 %94)
(*.f64 %245 (/.f64 %226 #s(literal 1/2 binary64)))
(*.f64 %248 %249)
(*.f64 %251 %252)
(*.f64 %254 (/.f64 %226 %13))
(*.f64 %83 (/.f64 %198 #s(literal 1/2 binary64)))
(*.f64 %83 (/.f64 %204 #s(literal 1/2 binary64)))
(*.f64 %261 %262)
(*.f64 %264 %108)
(*.f64 %91 (/.f64 %198 %13))
(*.f64 %91 (/.f64 %204 %13))
(*.f64 %94 %239)
(*.f64 %94 %243)
(*.f64 %249 %248)
(*.f64 #s(literal -1/2 binary64) (/.f64 %196 %13))
(*.f64 %252 %251)
(*.f64 %276 #s(literal -1 binary64))
(*.f64 %76 %235)
(*.f64 %203 %95)
(*.f64 %108 %264)
(*.f64 %107 %237)
(*.f64 %107 %241)
(*.f64 #s(literal -1 binary64) %276)
(pow.f64 %226 #s(literal 1 binary64))
(/.f64 (fma.f64 %108 #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 1 binary64) %27 %56) %27)
(/.f64 (fma.f64 #s(literal 1 binary64) %27 %58) %27)
(/.f64 (fma.f64 #s(literal 1 binary64) %27 r) %27)
(/.f64 (-.f64 %293 %62) %27)
(/.f64 (-.f64 %293 %55) %27)
(/.f64 (fma.f64 %56 #s(literal 2 binary64) %131) %126)
(/.f64 (fma.f64 %58 #s(literal 2 binary64) %131) %126)
(/.f64 (fma.f64 %55 #s(literal 2 binary64) %138) %7)
(/.f64 (fma.f64 r #s(literal 2 binary64) %131) %126)
(/.f64 (fma.f64 #s(literal 2 binary64) %27 (*.f64 %56 #s(literal 2 binary64))) %131)
(/.f64 (fma.f64 #s(literal 2 binary64) %27 (*.f64 %58 #s(literal 2 binary64))) %131)
(/.f64 (fma.f64 #s(literal 2 binary64) p %128) %138)
(/.f64 (fma.f64 #s(literal 2 binary64) %27 %35) %131)
(/.f64 (fma.f64 %56 #s(literal 2 binary64) %126) %126)
(/.f64 (fma.f64 %58 #s(literal 2 binary64) %126) %126)
(/.f64 (fma.f64 %55 #s(literal 2 binary64) %7) %7)
(/.f64 (fma.f64 r #s(literal 2 binary64) %126) %126)
(/.f64 (fma.f64 #s(literal 2 binary64) %27 (*.f64 #s(literal 2 binary64) %56)) %131)
(/.f64 (fma.f64 #s(literal 2 binary64) %27 (*.f64 #s(literal 2 binary64) %58)) %131)
(/.f64 (fma.f64 #s(literal 2 binary64) p %133) %138)
(/.f64 (fma.f64 #s(literal 2 binary64) %27 %137) %131)
(/.f64 (-.f64 %131 %130) %131)
(/.f64 (-.f64 %131 %133) %131)
(/.f64 (-.f64 %138 %137) %138)
%226
(/.f64 %196 %27)
(/.f64 #s(literal 1 binary64) (/.f64 p %203))
(/.f64 #s(literal 1 binary64) (pow.f64 %226 #s(literal -1 binary64)))
(neg.f64 %276)
(neg.f64 (-.f64 %107 #s(literal 1 binary64)))
(fma.f64 %150 %81 %350)
(fma.f64 %150 %81 %353)
(fma.f64 %150 %81 %356)
(fma.f64 %150 %81 %249)
(fma.f64 %150 %81 #s(literal 1 binary64))
(fma.f64 %152 %89 %350)
(fma.f64 %152 %89 %353)
(fma.f64 %152 %89 %356)
(fma.f64 %152 %89 %249)
(fma.f64 %152 %89 #s(literal 1 binary64))
(fma.f64 %102 %76 %350)
(fma.f64 %102 %76 %353)
(fma.f64 %102 %76 %356)
(fma.f64 %102 %76 %249)
(fma.f64 %102 %76 #s(literal 1 binary64))
(fma.f64 %75 %95 %350)
(fma.f64 %75 %95 %353)
(fma.f64 %75 %95 %356)
(fma.f64 %75 %95 %249)
(fma.f64 %75 %95 #s(literal 1 binary64))
(fma.f64 %78 #s(literal -1/2 binary64) %350)
(fma.f64 %78 #s(literal -1/2 binary64) %353)
(fma.f64 %78 #s(literal -1/2 binary64) %356)
(fma.f64 %78 #s(literal -1/2 binary64) %249)
(fma.f64 %78 #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 %83 #s(literal -2 binary64) %350)
(fma.f64 %83 #s(literal -2 binary64) %353)
(fma.f64 %83 #s(literal -2 binary64) %356)
(fma.f64 %83 #s(literal -2 binary64) %249)
(fma.f64 %83 #s(literal -2 binary64) #s(literal 1 binary64))
(fma.f64 %91 %159 %350)
(fma.f64 %91 %159 %353)
(fma.f64 %91 %159 %356)
(fma.f64 %91 %159 %249)
(fma.f64 %91 %159 #s(literal 1 binary64))
(fma.f64 %94 %76 %350)
(fma.f64 %94 %76 %353)
(fma.f64 %94 %76 %356)
(fma.f64 %94 %76 %249)
(fma.f64 %94 %76 #s(literal 1 binary64))
(fma.f64 %97 %162 %350)
(fma.f64 %97 %162 %353)
(fma.f64 %97 %162 %356)
(fma.f64 %97 %162 %249)
(fma.f64 %97 %162 #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) %112 %350)
(fma.f64 #s(literal -1/2 binary64) %112 %353)
(fma.f64 #s(literal -1/2 binary64) %112 %356)
(fma.f64 #s(literal -1/2 binary64) %112 %249)
(fma.f64 #s(literal -1/2 binary64) %112 #s(literal 1 binary64))
(fma.f64 %56 %76 %350)
(fma.f64 %56 %76 %353)
(fma.f64 %56 %76 %356)
(fma.f64 %56 %76 %249)
(fma.f64 %56 %76 #s(literal 1 binary64))
(fma.f64 %58 %76 %350)
(fma.f64 %58 %76 %353)
(fma.f64 %58 %76 %356)
(fma.f64 %58 %76 %249)
(fma.f64 %58 %76 #s(literal 1 binary64))
(fma.f64 %76 %102 %350)
(fma.f64 %76 %102 %353)
(fma.f64 %76 %102 %356)
(fma.f64 %76 %102 %249)
(fma.f64 %76 %102 #s(literal 1 binary64))
(fma.f64 %76 %94 %350)
(fma.f64 %76 %94 %353)
(fma.f64 %76 %94 %356)
(fma.f64 %76 %94 %249)
(fma.f64 %76 %94 #s(literal 1 binary64))
(fma.f64 %95 %75 %350)
(fma.f64 %95 %75 %353)
(fma.f64 %95 %75 %356)
(fma.f64 %95 %75 %249)
(fma.f64 %95 %75 #s(literal 1 binary64))
(fma.f64 %55 %95 %350)
(fma.f64 %55 %95 %353)
(fma.f64 %55 %95 %356)
(fma.f64 %55 %95 %249)
(fma.f64 %55 %95 #s(literal 1 binary64))
(fma.f64 %108 #s(literal 1 binary64) %350)
(fma.f64 %108 #s(literal 1 binary64) %353)
(fma.f64 %108 #s(literal 1 binary64) %356)
(fma.f64 %108 #s(literal 1 binary64) %249)
(fma.f64 %108 #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 %107 #s(literal -1 binary64) %350)
(fma.f64 %107 #s(literal -1 binary64) %353)
(fma.f64 %107 #s(literal -1 binary64) %356)
(fma.f64 %107 #s(literal -1 binary64) %249)
(fma.f64 %107 #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -2 binary64) %117 %350)
(fma.f64 #s(literal -2 binary64) %117 %353)
(fma.f64 #s(literal -2 binary64) %117 %356)
(fma.f64 #s(literal -2 binary64) %117 %249)
(fma.f64 #s(literal -2 binary64) %117 #s(literal 1 binary64))
(fma.f64 #s(literal -1 binary64) %107 %350)
(fma.f64 #s(literal -1 binary64) %107 %353)
(fma.f64 #s(literal -1 binary64) %107 %356)
(fma.f64 #s(literal -1 binary64) %107 %249)
(fma.f64 #s(literal -1 binary64) %107 #s(literal 1 binary64))
(fma.f64 r %175 %350)
(fma.f64 r %175 %353)
(fma.f64 r %175 %356)
(fma.f64 r %175 %249)
(fma.f64 r %175 #s(literal 1 binary64))
(fma.f64 r %76 %350)
(fma.f64 r %76 %353)
(fma.f64 r %76 %356)
(fma.f64 r %76 %249)
(fma.f64 r %76 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %108 %350)
(fma.f64 #s(literal 1 binary64) %108 %353)
(fma.f64 #s(literal 1 binary64) %108 %356)
(fma.f64 #s(literal 1 binary64) %108 %249)
(fma.f64 #s(literal 1 binary64) %108 #s(literal 1 binary64))
(-.f64 %249 %471)
(-.f64 %249 %474)
(-.f64 %249 %478)
(-.f64 %249 %107)
(-.f64 %108 #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 %55 %175))
(-.f64 #s(literal 1 binary64) %471)
(-.f64 #s(literal 1 binary64) %474)
(-.f64 #s(literal 1 binary64) %478)
(-.f64 #s(literal 1 binary64) %107)
(+.f64 %489 %490)
(+.f64 %490 %489)
(+.f64 %493 %495)
(+.f64 %495 %493)
(+.f64 %498 %249)
(+.f64 %249 %498)
(+.f64 %249 %108)
(+.f64 %108 %350)
(+.f64 %108 %353)
(+.f64 %108 %356)
(+.f64 %108 %249)
(+.f64 %108 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 %175 r))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) %119))
(+.f64 #s(literal 1 binary64) %498)
(+.f64 #s(literal 1 binary64) %108)
%513
%514
%515
%516
%517
%518
%519
%520
%521
%522
%523
%526
%529
%531
%532
%533
%534
%535
%536
%537
%538
%539
%540
%541
%543
%544
%545
%546
%547
%548
%549
%550
%551
%553
%554
%555
%556
%557
%558
%559
%560
%561
%562
%563
%564
%565
%566
%568
%569
%570
%571
%573
%574
%576
%578
%579
%580
%583
%585
%587
%588
%590
%592
%594
%595
%596
%597
%599
%601
%603
%604
%605
%606
%608
%610
%612
%613
%614
%615
%616
%617
%203
%618
%619
%620
%621
%622
%623
%624
%625
%626
%627
%628
%631
%633
%635
%637
%638
%639
%640
(*.f64 (/.f64 %27 #s(literal -2 binary64)) (/.f64 %642 #s(literal 1/2 binary64)))
(*.f64 (/.f64 %147 #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 (/.f64 %7 #s(literal 1 binary64)) %648)
(*.f64 %650 (/.f64 %72 #s(literal 1/2 binary64)))
(*.f64 %650 (/.f64 %653 #s(literal 1/2 binary64)))
(*.f64 %656 #s(literal 2 binary64))
(*.f64 %254 (/.f64 #s(literal 1 binary64) %40))
(*.f64 %660 #s(literal 1/2 binary64))
(*.f64 %662 %72)
(*.f64 (/.f64 #s(literal 2 binary64) %35) (/.f64 %13 #s(literal 1/2 binary64)))
(*.f64 %667 (/.f64 %13 #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) %35) %228)
(*.f64 %293 %72)
(*.f64 %252 %642)
(*.f64 %72 %662)
(*.f64 %642 %252)
(*.f64 %642 p)
(*.f64 %27 %72)
(*.f64 %194 #s(literal -1 binary64))
(*.f64 %147 #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) %194)
(*.f64 #s(literal 1/2 binary64) (/.f64 %147 #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) %683)
(*.f64 p (/.f64 #s(literal 1/2 binary64) %40))
(*.f64 p %642)
(*.f64 #s(literal 2 binary64) %688)
(*.f64 #s(literal 2 binary64) %690)
(*.f64 #s(literal 1 binary64) (/.f64 %13 %40))
(*.f64 #s(literal 1 binary64) %147)
(pow.f64 %147 #s(literal 1 binary64))
(/.f64 %696 %35)
(/.f64 (*.f64 %293 #s(literal 2 binary64)) %128)
(/.f64 (*.f64 %194 #s(literal 2 binary64)) #s(literal -2 binary64))
(/.f64 %702 %133)
(/.f64 %704 %137)
(/.f64 %706 #s(literal -2 binary64))
(/.f64 %126 %128)
(/.f64 %131 %133)
(/.f64 %138 %137)
(/.f64 (neg.f64 %293) r)
(/.f64 %713 %55)
(/.f64 %7 %35)
(/.f64 %293 %55)
(/.f64 %252 r)
(/.f64 %27 %55)
(/.f64 %194 #s(literal -1 binary64))
(/.f64 %147 #s(literal 1 binary64))
%147
(/.f64 #s(literal 1 binary64) (/.f64 %55 %293))
(/.f64 #s(literal 1 binary64) (/.f64 r %252))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) %194))
(/.f64 #s(literal 1 binary64) (pow.f64 %147 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %107)
(neg.f64 %194)
(*.f64 %731 %228)
(*.f64 %656 #s(literal -2 binary64))
(*.f64 %254 %734)
(*.f64 %736 %648)
(*.f64 %660 #s(literal -1/2 binary64))
(*.f64 %662 %642)
(*.f64 %667 %740)
(*.f64 #s(literal -1/2 binary64) %683)
(*.f64 %552 %72)
(*.f64 %252 %72)
(*.f64 %72 %252)
(*.f64 %642 %662)
(*.f64 %27 %642)
(*.f64 %194 #s(literal 1 binary64))
(*.f64 %147 #s(literal -1 binary64))
(*.f64 #s(literal -2 binary64) %688)
(*.f64 #s(literal -1 binary64) %147)
(*.f64 p %653)
(*.f64 p %72)
(*.f64 #s(literal 1 binary64) %194)
(pow.f64 %194 #s(literal 1 binary64))
(/.f64 %713 r)
(/.f64 (neg.f64 %552) r)
(/.f64 %552 %55)
(/.f64 %252 %55)
(/.f64 %27 r)
(/.f64 p %55)
(/.f64 #s(literal 1 binary64) (/.f64 %55 %552))
(/.f64 #s(literal 1 binary64) (/.f64 %55 %252))
(/.f64 #s(literal 1 binary64) (pow.f64 %194 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %108)
%194
(*.f64 (/.f64 %197 %35) %89)
(*.f64 %261 %772)
(*.f64 %774 %210)
(*.f64 %264 %776)
(*.f64 %91 (/.f64 %197 %40))
(*.f64 %780 %94)
(*.f64 %94 %780)
(*.f64 %776 %264)
(*.f64 %196 %642)
(pow.f64 %197 #s(literal 1 binary64))
(/.f64 (fma.f64 %194 #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 1 binary64) %55 %552) %55)
(/.f64 (fma.f64 #s(literal 1 binary64) %55 %252) %55)
(/.f64 (fma.f64 #s(literal 1 binary64) %55 p) %55)
(/.f64 (-.f64 %62 %293) %55)
(/.f64 (-.f64 %62 %27) %55)
(/.f64 (fma.f64 %552 #s(literal 2 binary64) %133) %128)
(/.f64 (fma.f64 %252 #s(literal 2 binary64) %133) %128)
(/.f64 (fma.f64 %27 #s(literal 2 binary64) %137) %35)
(/.f64 (fma.f64 p #s(literal 2 binary64) %133) %128)
(/.f64 (fma.f64 #s(literal 2 binary64) %55 (*.f64 %552 #s(literal 2 binary64))) %133)
(/.f64 (fma.f64 #s(literal 2 binary64) %55 %696) %133)
(/.f64 (fma.f64 #s(literal 2 binary64) r %126) %137)
(/.f64 (fma.f64 #s(literal 2 binary64) %55 %7) %133)
(/.f64 (fma.f64 %552 #s(literal 2 binary64) %128) %128)
(/.f64 (fma.f64 %252 #s(literal 2 binary64) %128) %128)
(/.f64 (fma.f64 %27 #s(literal 2 binary64) %35) %35)
(/.f64 (fma.f64 p #s(literal 2 binary64) %128) %128)
(/.f64 (fma.f64 #s(literal 2 binary64) %55 (*.f64 #s(literal 2 binary64) %552)) %133)
(/.f64 (fma.f64 #s(literal 2 binary64) %55 %704) %133)
(/.f64 (fma.f64 #s(literal 2 binary64) r %131) %137)
(/.f64 (fma.f64 #s(literal 2 binary64) %55 %138) %133)
(/.f64 (-.f64 %133 %702) %133)
(/.f64 (-.f64 %137 %704) %137)
(/.f64 (-.f64 %133 %131) %133)
(/.f64 (-.f64 #s(literal -2 binary64) %706) #s(literal -2 binary64))
(/.f64 (-.f64 %137 %138) %137)
(/.f64 %204 #s(literal -1 binary64))
(/.f64 %203 %55)
%197
(/.f64 #s(literal 1 binary64) (/.f64 r %196))
(/.f64 #s(literal 1 binary64) (pow.f64 %197 #s(literal -1 binary64)))
(neg.f64 %204)
(fma.f64 %731 %228 %776)
(fma.f64 %731 %228 #s(literal 1 binary64))
(fma.f64 %656 #s(literal -2 binary64) %776)
(fma.f64 %656 #s(literal -2 binary64) #s(literal 1 binary64))
(fma.f64 %254 %734 %776)
(fma.f64 %254 %734 #s(literal 1 binary64))
(fma.f64 %736 %648 %776)
(fma.f64 %736 %648 #s(literal 1 binary64))
(fma.f64 %660 #s(literal -1/2 binary64) %776)
(fma.f64 %660 #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 %662 %642 %776)
(fma.f64 %662 %642 #s(literal 1 binary64))
(fma.f64 %667 %740 %776)
(fma.f64 %667 %740 #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) %683 %776)
(fma.f64 #s(literal -1/2 binary64) %683 #s(literal 1 binary64))
(fma.f64 %552 %72 %776)
(fma.f64 %552 %72 #s(literal 1 binary64))
(fma.f64 %252 %72 %776)
(fma.f64 %252 %72 #s(literal 1 binary64))
(fma.f64 %72 %252 %776)
(fma.f64 %72 %252 #s(literal 1 binary64))
(fma.f64 %642 %662 %776)
(fma.f64 %642 %662 #s(literal 1 binary64))
(fma.f64 %27 %642 %776)
(fma.f64 %27 %642 #s(literal 1 binary64))
(fma.f64 %194 #s(literal 1 binary64) %776)
(fma.f64 %194 #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 %147 #s(literal -1 binary64) %776)
(fma.f64 %147 #s(literal -1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -2 binary64) %688 %776)
(fma.f64 #s(literal -2 binary64) %688 #s(literal 1 binary64))
(fma.f64 #s(literal -1 binary64) %147 %776)
(fma.f64 #s(literal -1 binary64) %147 #s(literal 1 binary64))
(fma.f64 p %653 %776)
(fma.f64 p %653 #s(literal 1 binary64))
(fma.f64 p %72 %776)
(fma.f64 p %72 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %194 %776)
(fma.f64 #s(literal 1 binary64) %194 #s(literal 1 binary64))
(-.f64 %776 %889)
(-.f64 %776 %891)
(-.f64 %776 %893)
(-.f64 %776 %147)
(-.f64 %194 #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 %27 %653))
(-.f64 #s(literal 1 binary64) %889)
(-.f64 #s(literal 1 binary64) %891)
(-.f64 #s(literal 1 binary64) %893)
(-.f64 #s(literal 1 binary64) %147)
(+.f64 %903 %776)
(+.f64 %776 %903)
(+.f64 %776 %194)
(+.f64 %194 %776)
(+.f64 %194 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 %653 p))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) %690))
(+.f64 #s(literal 1 binary64) %903)
(+.f64 #s(literal 1 binary64) %194)
%915
%916
%917
%920
%923
%925
%926
%928
%930
%932
%934
%936
%937
%938
%939
%941
%942
%943
%944
%945
%946
%947
%948
%949
%950
%951
%952
%953
%954
%955
%956
%957
%958
%959
%960
%961
%963
%964
%965
%966
%967
%968
%969
%970
%196
%971
%972
%973
%974
%975
%976
%977
%978
%979
%513
%514
%515
%516
%517
%518
%519
%520
%521
%522
%523
%526
%529
%531
%532
%533
%534
%535
%536
%537
%538
%539
%540
%541
%543
%544
%545
%546
%547
%548
%549
%550
%551
%553
%554
%555
%556
%557
%558
%559
%560
%561
%562
%563
%564
%565
%566
%568
%569
%570
%571
%573
%574
%576
%578
%579
%580
%583
%585
%587
%588
%590
%592
%594
%595
%596
%597
%599
%601
%603
%604
%605
%606
%608
%610
%612
%613
%614
%615
%616
%617
%203
%618
%619
%620
%621
%622
%623
%624
%625
%626
%627
%628
%631
%633
%635
%637
%638
%639
%640
(pow.f64 %980 #s(literal 1 binary64))
(/.f64 (*.f64 (+.f64 r p) %196) (-.f64 %31 %3))
(/.f64 (*.f64 (+.f64 p r) %203) (-.f64 %3 %31))
(/.f64 #s(literal 1 binary64) (pow.f64 %980 #s(literal -1 binary64)))
(neg.f64 %992)
(fma.f64 %33 %33 %994)
(fma.f64 %33 %33 %3)
(fma.f64 %5 %5 %997)
(fma.f64 %5 %5 %31)
(fma.f64 %36 #s(literal 1/2 binary64) %994)
(fma.f64 %36 #s(literal 1/2 binary64) %3)
(fma.f64 %8 #s(literal 1/2 binary64) %997)
(fma.f64 %8 #s(literal 1/2 binary64) %31)
(fma.f64 %32 %32 %994)
(fma.f64 %32 %32 %3)
(fma.f64 %4 %4 %997)
(fma.f64 %4 %4 %31)
(fma.f64 %31 #s(literal 1 binary64) %994)
(fma.f64 %31 #s(literal 1 binary64) %3)
(fma.f64 %3 #s(literal 1 binary64) %997)
(fma.f64 %3 #s(literal 1 binary64) %31)
(fma.f64 #s(literal 2 binary64) %41 %994)
(fma.f64 #s(literal 2 binary64) %41 %3)
(fma.f64 #s(literal 2 binary64) %14 %997)
(fma.f64 #s(literal 2 binary64) %14 %31)
(fma.f64 #s(literal 1 binary64) %31 %994)
(fma.f64 #s(literal 1 binary64) %31 %3)
(fma.f64 #s(literal 1 binary64) %3 %997)
(fma.f64 #s(literal 1 binary64) %3 %31)
(-.f64 %31 %1020)
(-.f64 %31 (neg.f64 %994))
(-.f64 %31 %25)
(-.f64 %3 %1025)
(-.f64 %3 %1027)
(-.f64 %3 %53)
(-.f64 %3 %64)
(+.f64 %31 %994)
%980
(+.f64 %3 %997)
(+.f64 %3 %31)
%915
%916
%917
%920
%923
%925
%926
%928
%930
%932
%934
%936
%937
%938
%939
%941
%942
%943
%944
%945
%946
%947
%948
%949
%950
%951
%952
%953
%954
%955
%956
%957
%958
%959
%960
%961
%963
%964
%965
%966
%967
%968
%969
%970
%196
%971
%972
%973
%974
%975
%976
%977
%978
%979
(*.f64 %1036 %1036)
(*.f64 %1038 %31)
(*.f64 %1040 %31)
(*.f64 %1042 %3)
(*.f64 %1044 %31)
(*.f64 %1035 %1035)
(*.f64 %1034 #s(literal 1 binary64))
(*.f64 %31 %1038)
(*.f64 %31 %1040)
(*.f64 %31 %1044)
(*.f64 %3 %1042)
(*.f64 #s(literal 1 binary64) %1034)
(pow.f64 (*.f64 %1053 %1053) #s(literal 1/4 binary64))
(pow.f64 %1035 #s(literal 2 binary64))
(pow.f64 %1053 #s(literal 1/2 binary64))
(pow.f64 %1034 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1034 #s(literal -1 binary64)))
(neg.f64 %1062)
(sqrt.f64 %1053)
%1034
(fabs.f64 %196)
(fabs.f64 %1062)
(fabs.f64 %1034)
(pow.f64 %1062 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1062 #s(literal -1 binary64)))
%1062
%1074
%1075
%1078
%1079
%1080
%1081
%1083
%1085
%1086
%1090
%1091
%1092
%1093
%1094
%1071
(pow.f64 %1084 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1084 #s(literal -1 binary64)))
%1084
%1074
%1075
%1078
%1079
%1080
%1081
%1083
%1085
%1086
%1090
%1091
%1092
%1093
%1094
%1071
(pow.f64 %1087 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1087 #s(literal -1 binary64)))
%1087
(*.f64 %1087 #s(literal 2 binary64))
%1102
(*.f64 #s(literal 2 binary64) %1087)
(pow.f64 %1102 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1102 #s(literal -1 binary64)))
(neg.f64 %1107)
(fma.f64 %1087 #s(literal 1 binary64) %1109)
(fma.f64 #s(literal 1 binary64) %1087 %1111)
(-.f64 %1109 (*.f64 q #s(literal 1 binary64)))
(-.f64 %1109 (*.f64 %1088 #s(literal 1 binary64)))
(-.f64 %1109 (neg.f64 %1109))
(-.f64 %1111 (*.f64 #s(literal -1 binary64) %1087))
(-.f64 %1111 (neg.f64 %1111))
(-.f64 %1087 %1088)
(-.f64 %1087 q)
(+.f64 %1109 %1109)
(+.f64 %1111 %1111)
(+.f64 %1087 %1089)
(+.f64 %1087 %1087)
(*.f64 %1133 %1133)
(pow.f64 %1131 #s(literal 1/2 binary64))
(pow.f64 %1132 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1132 #s(literal -1 binary64)))
%1132
(fabs.f64 %1140)
(fabs.f64 %1139)
(fabs.f64 %1132)
(hypot.f64 %1144 %203)
(hypot.f64 %1144 %196)
(hypot.f64 %1144 %1062)
(hypot.f64 %1144 %1034)
(hypot.f64 %1149 %203)
(hypot.f64 %1149 %196)
(hypot.f64 %1149 %1062)
(hypot.f64 %1149 %1034)
(hypot.f64 %1154 %203)
(hypot.f64 %1154 %196)
(hypot.f64 %1154 %1062)
(hypot.f64 %1154 %1034)
(hypot.f64 %1159 %203)
(hypot.f64 %1159 %196)
(hypot.f64 %1159 %1062)
(hypot.f64 %1159 %1034)
(hypot.f64 %1107 %203)
(hypot.f64 %1107 %196)
(hypot.f64 %1107 %1062)
(hypot.f64 %1107 %1034)
(hypot.f64 %1168 %203)
(hypot.f64 %1168 %196)
(hypot.f64 %1168 %1062)
(hypot.f64 %1168 %1034)
(hypot.f64 %203 %1144)
(hypot.f64 %203 %1149)
(hypot.f64 %203 %1154)
(hypot.f64 %203 %1159)
(hypot.f64 %203 %1107)
(hypot.f64 %203 %1168)
(hypot.f64 %203 %1179)
(hypot.f64 %203 %1102)
(hypot.f64 %196 %1144)
(hypot.f64 %196 %1149)
(hypot.f64 %196 %1154)
(hypot.f64 %196 %1159)
(hypot.f64 %196 %1107)
(hypot.f64 %196 %1168)
(hypot.f64 %196 %1179)
(hypot.f64 %196 %1102)
(hypot.f64 %1179 %203)
(hypot.f64 %1179 %196)
(hypot.f64 %1179 %1062)
(hypot.f64 %1179 %1034)
(hypot.f64 %1102 %203)
(hypot.f64 %1102 %196)
(hypot.f64 %1102 %1062)
(hypot.f64 %1102 %1034)
(hypot.f64 %1062 %1144)
(hypot.f64 %1062 %1149)
(hypot.f64 %1062 %1154)
(hypot.f64 %1062 %1159)
(hypot.f64 %1062 %1107)
(hypot.f64 %1062 %1168)
(hypot.f64 %1062 %1179)
(hypot.f64 %1062 %1102)
(hypot.f64 %1034 %1144)
(hypot.f64 %1034 %1149)
(hypot.f64 %1034 %1154)
(hypot.f64 %1034 %1159)
(hypot.f64 %1034 %1107)
(hypot.f64 %1034 %1168)
(hypot.f64 %1034 %1179)
(hypot.f64 %1034 %1102)
%1179
(*.f64 %1084 #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) %1071)
(pow.f64 %1179 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1179 #s(literal -1 binary64)))
(neg.f64 %1168)
(pow.f64 %1221 #s(literal 1 binary64))
%1221
(/.f64 #s(literal 1 binary64) (pow.f64 %1221 #s(literal -1 binary64)))
%1233
%1232
%1235
(pow.f64 %1236 #s(literal 1 binary64))
%1236
(/.f64 #s(literal 1 binary64) (pow.f64 %1236 #s(literal -1 binary64)))
%1233
%1232
%1235
(pow.f64 %1240 #s(literal 1 binary64))
%1240
(/.f64 #s(literal 1 binary64) (pow.f64 %1240 #s(literal -1 binary64)))
(pow.f64 %1244 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1244 #s(literal -1 binary64)))
(neg.f64 (-.f64 %25 %1248))
(neg.f64 (-.f64 %1251 %980))
(neg.f64 (-.f64 %1254 %31))
(neg.f64 (neg.f64 %1244))
(fma.f64 %33 %33 %1259)
(fma.f64 %33 %33 %1261)
(fma.f64 %5 %5 %1248)
(fma.f64 %36 #s(literal 1/2 binary64) %1259)
(fma.f64 %36 #s(literal 1/2 binary64) %1261)
(fma.f64 %8 #s(literal 1/2 binary64) %1248)
(fma.f64 %32 %32 %1259)
(fma.f64 %32 %32 %1261)
(fma.f64 %4 %4 %1248)
(fma.f64 %31 #s(literal 1 binary64) %1259)
(fma.f64 %31 #s(literal 1 binary64) %1261)
(fma.f64 %3 #s(literal 1 binary64) %1248)
(fma.f64 #s(literal 2 binary64) %41 %1259)
(fma.f64 #s(literal 2 binary64) %41 %1261)
(fma.f64 #s(literal 2 binary64) %14 %1248)
(fma.f64 #s(literal 1 binary64) %31 %1259)
(fma.f64 #s(literal 1 binary64) %31 %1261)
(fma.f64 #s(literal 1 binary64) %3 %1248)
(-.f64 %1279 %1025)
(-.f64 %1279 %1027)
(-.f64 %1279 %53)
(-.f64 %1279 %64)
(-.f64 %1248 %1020)
(-.f64 %1248 %25)
(-.f64 %1240 %992)
(-.f64 %980 %1251)
(-.f64 %31 (neg.f64 %1261))
(-.f64 %31 %1254)
(-.f64 %3 (neg.f64 %1248))
(+.f64 %1279 %31)
(+.f64 %1248 %994)
(+.f64 %1248 %3)
%1244
(+.f64 %980 (neg.f64 %1251))
(+.f64 %980 %1240)
(+.f64 %31 %1259)
(+.f64 %31 %1261)
(+.f64 %3 %1248)
%1302
(*.f64 #s(literal 1/2 binary64) %1244)
(pow.f64 %1302 #s(literal 1 binary64))
(/.f64 %1244 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1302 #s(literal -1 binary64)))
(fma.f64 %1248 #s(literal 1/2 binary64) %1308)
(fma.f64 %1240 #s(literal 1/2 binary64) %1310)
(fma.f64 %980 #s(literal 1/2 binary64) %1312)
(fma.f64 #s(literal 1/2 binary64) %1248 %1314)
(fma.f64 #s(literal 1/2 binary64) %1240 %1316)
(fma.f64 #s(literal 1/2 binary64) %980 %1318)
(-.f64 %1320 %1321)
(-.f64 %1320 %1323)
(-.f64 %1318 %1325)
(-.f64 %1318 %1327)
(-.f64 %1316 (*.f64 #s(literal -1/2 binary64) %1240))
(-.f64 %1316 (neg.f64 %1318))
(-.f64 %1333 %1334)
(-.f64 %1333 %1336)
(-.f64 %1312 %1338)
(-.f64 %1312 %1340)
(-.f64 %1310 (*.f64 %1251 #s(literal 1/2 binary64)))
(-.f64 %1310 (neg.f64 %1312))
(+.f64 %1320 %1314)
(+.f64 %1318 %1316)
(+.f64 %1316 %1318)
(+.f64 %1333 %1308)
(+.f64 %1312 %1310)
(+.f64 %1310 %1312)
(*.f64 %1354 %1354)
(*.f64 %1353 %1353)
(pow.f64 (*.f64 %1357 %1357) #s(literal 1/4 binary64))
(pow.f64 %1353 #s(literal 2 binary64))
(pow.f64 %1357 #s(literal 1/2 binary64))
(pow.f64 %1352 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1352 #s(literal -1 binary64)))
(sqrt.f64 %1357)
(fabs.f64 (neg.f64 %1367))
(fabs.f64 %1371)
(fabs.f64 %1367)
(fabs.f64 %1370)
(fabs.f64 %1366)
(fabs.f64 %1352)
%1352
(*.f64 %1379 %1379)
(pow.f64 %1377 #s(literal 1/2 binary64))
(pow.f64 %1378 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1378 #s(literal -1 binary64)))
%1378
(fabs.f64 %1386)
(fabs.f64 %1385)
(fabs.f64 %1378)
(hypot.f64 %1144 %1390)
(hypot.f64 %1144 %1371)
(hypot.f64 %1144 %1367)
(hypot.f64 %1144 %1370)
(hypot.f64 %1144 %1366)
(hypot.f64 %1144 %1352)
(hypot.f64 %1144 %1221)
(hypot.f64 %1390 %1144)
(hypot.f64 %1390 %1149)
(hypot.f64 %1390 %1154)
(hypot.f64 %1390 %1159)
(hypot.f64 %1390 %1107)
(hypot.f64 %1390 %1168)
(hypot.f64 %1390 %1179)
(hypot.f64 %1390 %1102)
(hypot.f64 %1149 %1390)
(hypot.f64 %1149 %1371)
(hypot.f64 %1149 %1367)
(hypot.f64 %1149 %1370)
(hypot.f64 %1149 %1366)
(hypot.f64 %1149 %1352)
(hypot.f64 %1149 %1221)
(hypot.f64 %1154 %1390)
(hypot.f64 %1154 %1371)
(hypot.f64 %1154 %1367)
(hypot.f64 %1154 %1370)
(hypot.f64 %1154 %1366)
(hypot.f64 %1154 %1352)
(hypot.f64 %1154 %1221)
(hypot.f64 %1159 %1390)
(hypot.f64 %1159 %1371)
(hypot.f64 %1159 %1367)
(hypot.f64 %1159 %1370)
(hypot.f64 %1159 %1366)
(hypot.f64 %1159 %1352)
(hypot.f64 %1159 %1221)
(hypot.f64 %1371 %1144)
(hypot.f64 %1371 %1149)
(hypot.f64 %1371 %1154)
(hypot.f64 %1371 %1159)
(hypot.f64 %1371 %1107)
(hypot.f64 %1371 %1168)
(hypot.f64 %1371 %1179)
(hypot.f64 %1371 %1102)
(hypot.f64 %1367 %1144)
(hypot.f64 %1367 %1149)
(hypot.f64 %1367 %1154)
(hypot.f64 %1367 %1159)
(hypot.f64 %1367 %1107)
(hypot.f64 %1367 %1168)
(hypot.f64 %1367 %1179)
(hypot.f64 %1367 %1102)
(hypot.f64 %1107 %1390)
(hypot.f64 %1107 %1371)
(hypot.f64 %1107 %1367)
(hypot.f64 %1107 %1370)
(hypot.f64 %1107 %1366)
(hypot.f64 %1107 %1352)
(hypot.f64 %1107 %1221)
(hypot.f64 %1168 %1390)
(hypot.f64 %1168 %1371)
(hypot.f64 %1168 %1367)
(hypot.f64 %1168 %1370)
(hypot.f64 %1168 %1366)
(hypot.f64 %1168 %1352)
(hypot.f64 %1168 %1221)
(hypot.f64 %1370 %1144)
(hypot.f64 %1370 %1149)
(hypot.f64 %1370 %1154)
(hypot.f64 %1370 %1159)
(hypot.f64 %1370 %1107)
(hypot.f64 %1370 %1168)
(hypot.f64 %1370 %1179)
(hypot.f64 %1370 %1102)
(hypot.f64 %1366 %1144)
(hypot.f64 %1366 %1149)
(hypot.f64 %1366 %1154)
(hypot.f64 %1366 %1159)
(hypot.f64 %1366 %1107)
(hypot.f64 %1366 %1168)
(hypot.f64 %1366 %1179)
(hypot.f64 %1366 %1102)
(hypot.f64 %1352 %1144)
(hypot.f64 %1352 %1149)
(hypot.f64 %1352 %1154)
(hypot.f64 %1352 %1159)
(hypot.f64 %1352 %1107)
(hypot.f64 %1352 %1168)
(hypot.f64 %1352 %1179)
(hypot.f64 %1352 %1102)
(hypot.f64 %1221 %1144)
(hypot.f64 %1221 %1149)
(hypot.f64 %1221 %1154)
(hypot.f64 %1221 %1159)
(hypot.f64 %1221 %1107)
(hypot.f64 %1221 %1168)
(hypot.f64 %1221 %1179)
(hypot.f64 %1221 %1102)
(hypot.f64 %1179 %1390)
(hypot.f64 %1179 %1371)
(hypot.f64 %1179 %1367)
(hypot.f64 %1179 %1370)
(hypot.f64 %1179 %1366)
(hypot.f64 %1179 %1352)
(hypot.f64 %1179 %1221)
(hypot.f64 %1102 %1390)
(hypot.f64 %1102 %1371)
(hypot.f64 %1102 %1367)
(hypot.f64 %1102 %1370)
(hypot.f64 %1102 %1366)
(hypot.f64 %1102 %1352)
(hypot.f64 %1102 %1221)
(pow.f64 %1503 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1503 #s(literal -1 binary64)))
(neg.f64 (-.f64 %25 %1507))
(neg.f64 (-.f64 %1385 %980))
(neg.f64 (-.f64 %1512 %31))
(neg.f64 (neg.f64 %1503))
(fma.f64 %33 %33 %1517)
(fma.f64 %33 %33 %1519)
(fma.f64 %5 %5 %1507)
(fma.f64 %36 #s(literal 1/2 binary64) %1517)
(fma.f64 %36 #s(literal 1/2 binary64) %1519)
(fma.f64 %8 #s(literal 1/2 binary64) %1507)
(fma.f64 %1379 %1379 %980)
(fma.f64 %32 %32 %1517)
(fma.f64 %32 %32 %1519)
(fma.f64 %4 %4 %1507)
(fma.f64 %31 #s(literal 1 binary64) %1517)
(fma.f64 %31 #s(literal 1 binary64) %1519)
(fma.f64 %3 #s(literal 1 binary64) %1507)
(fma.f64 #s(literal 2 binary64) %41 %1517)
(fma.f64 #s(literal 2 binary64) %41 %1519)
(fma.f64 #s(literal 2 binary64) %14 %1507)
(fma.f64 #s(literal 1 binary64) %31 %1517)
(fma.f64 #s(literal 1 binary64) %31 %1519)
(fma.f64 #s(literal 1 binary64) %3 %1507)
(-.f64 %1538 %1025)
(-.f64 %1538 %1027)
(-.f64 %1538 %53)
(-.f64 %1538 %64)
(-.f64 %1507 %1020)
(-.f64 %1507 %25)
(-.f64 %1378 %992)
(-.f64 %980 %1385)
(-.f64 %31 (neg.f64 %1519))
(-.f64 %31 %1512)
(-.f64 %3 (neg.f64 %1507))
(+.f64 %1538 %31)
(+.f64 %1507 %994)
(+.f64 %1507 %3)
%1503
(+.f64 %980 %1386)
(+.f64 %980 %1378)
(+.f64 %31 %1517)
(+.f64 %31 %1519)
(+.f64 %3 %1507)
%1560
(*.f64 #s(literal 1/2 binary64) %1503)
(pow.f64 %1560 #s(literal 1 binary64))
(/.f64 %1503 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1560 #s(literal -1 binary64)))
(fma.f64 %1507 #s(literal 1/2 binary64) %1308)
(fma.f64 %1378 #s(literal 1/2 binary64) %1310)
(fma.f64 %980 #s(literal 1/2 binary64) %1568)
(fma.f64 #s(literal 1/2 binary64) %1507 %1314)
(fma.f64 #s(literal 1/2 binary64) %1378 %1316)
(fma.f64 #s(literal 1/2 binary64) %980 %1572)
(-.f64 %1574 %1321)
(-.f64 %1574 %1323)
(-.f64 %1572 %1325)
(-.f64 %1572 %1327)
(-.f64 %1316 (*.f64 #s(literal -1/2 binary64) %1378))
(-.f64 %1316 (neg.f64 %1572))
(-.f64 %1583 %1334)
(-.f64 %1583 %1336)
(-.f64 %1568 %1338)
(-.f64 %1568 %1340)
(-.f64 %1310 (*.f64 %1385 #s(literal 1/2 binary64)))
(-.f64 %1310 (neg.f64 %1568))
(+.f64 %1574 %1314)
(+.f64 %1572 %1316)
(+.f64 %1316 %1572)
(+.f64 %1583 %1308)
(+.f64 %1568 %1310)
(+.f64 %1310 %1568)
%1599
%1601
%1604
%1607
%1610
%1612
%1614
%1616
%1617
%1618
%1619
%1620
%1621
%1622
%1623
%1624
%1625
%1626
%1627
%1628
%1629
%1630
%1631
%1632
%1634
%1635
%1636
%1637
%1638
%1639
%1640
%1641
%1643
%1644
%1646
%1647
%1648
%1649
%1598
%1651
%1652
%1653
%1654
%1655
%1656
%1657
%1658
%1659
%1661
%1662
%1663
%1665
%1666
%1667
%1669
%1671
%1672
%1673
%1674
%1676
%1678
%1680
%1681
%1682
%1683
%1685
%1687
%1688
%1689
%1690
%1691
%1692
%1693
(pow.f64 %1694 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1694 #s(literal -1 binary64)))
(neg.f64 (-.f64 %25 %1698))
(neg.f64 (-.f64 %1701 %980))
(neg.f64 (-.f64 %1704 %31))
(neg.f64 (neg.f64 %1694))
(fma.f64 %33 %33 %1709)
(fma.f64 %33 %33 %1711)
(fma.f64 %5 %5 %1698)
(fma.f64 %36 #s(literal 1/2 binary64) %1709)
(fma.f64 %36 #s(literal 1/2 binary64) %1711)
(fma.f64 %8 #s(literal 1/2 binary64) %1698)
(fma.f64 %32 %32 %1709)
(fma.f64 %32 %32 %1711)
(fma.f64 %4 %4 %1698)
(fma.f64 %31 #s(literal 1 binary64) %1709)
(fma.f64 %31 #s(literal 1 binary64) %1711)
(fma.f64 %3 #s(literal 1 binary64) %1698)
(fma.f64 #s(literal 2 binary64) %41 %1709)
(fma.f64 #s(literal 2 binary64) %41 %1711)
(fma.f64 #s(literal 2 binary64) %14 %1698)
(fma.f64 #s(literal 1 binary64) %31 %1709)
(fma.f64 #s(literal 1 binary64) %31 %1711)
(fma.f64 #s(literal 1 binary64) %3 %1698)
(-.f64 %1729 %1025)
(-.f64 %1729 %1027)
(-.f64 %1729 %53)
(-.f64 %1729 %64)
(-.f64 %1698 %1020)
(-.f64 %1698 %25)
(-.f64 %1236 %992)
(-.f64 %980 %1701)
(-.f64 %31 (neg.f64 %1711))
(-.f64 %31 %1704)
(-.f64 %3 (neg.f64 %1698))
(+.f64 %1729 %31)
(+.f64 %1698 %994)
(+.f64 %1698 %3)
%1694
(+.f64 %980 (neg.f64 %1701))
(+.f64 %980 %1236)
(+.f64 %31 %1709)
(+.f64 %31 %1711)
(+.f64 %3 %1698)
%1752
(*.f64 #s(literal 1/2 binary64) %1694)
(pow.f64 %1752 #s(literal 1 binary64))
(/.f64 %1694 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1752 #s(literal -1 binary64)))
(fma.f64 %1698 #s(literal 1/2 binary64) %1308)
(fma.f64 %1236 #s(literal 1/2 binary64) %1310)
(fma.f64 %980 #s(literal 1/2 binary64) %1760)
(fma.f64 #s(literal 1/2 binary64) %1698 %1314)
(fma.f64 #s(literal 1/2 binary64) %1236 %1316)
(fma.f64 #s(literal 1/2 binary64) %980 %1764)
(-.f64 %1766 %1321)
(-.f64 %1766 %1323)
(-.f64 %1764 %1325)
(-.f64 %1764 %1327)
(-.f64 %1316 (*.f64 #s(literal -1/2 binary64) %1236))
(-.f64 %1316 (neg.f64 %1764))
(-.f64 %1775 %1334)
(-.f64 %1775 %1336)
(-.f64 %1760 %1338)
(-.f64 %1760 %1340)
(-.f64 %1310 (*.f64 %1701 #s(literal 1/2 binary64)))
(-.f64 %1310 (neg.f64 %1760))
(+.f64 %1766 %1314)
(+.f64 %1764 %1316)
(+.f64 %1316 %1764)
(+.f64 %1775 %1308)
(+.f64 %1760 %1310)
(+.f64 %1310 %1760)
%1599
%1601
%1604
%1607
%1610
%1612
%1614
%1616
%1617
%1618
%1619
%1620
%1621
%1622
%1623
%1624
%1625
%1626
%1627
%1628
%1629
%1630
%1631
%1632
%1634
%1635
%1636
%1637
%1638
%1639
%1640
%1641
%1643
%1644
%1646
%1647
%1648
%1649
%1598
%1651
%1652
%1653
%1654
%1655
%1656
%1657
%1658
%1659
%1661
%1662
%1663
%1665
%1666
%1667
%1669
%1671
%1672
%1673
%1674
%1676
%1678
%1680
%1681
%1682
%1683
%1685
%1687
%1688
%1689
%1690
%1691
%1692
%1693
(pow.f64 %1790 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1790 #s(literal -1 binary64)))
(neg.f64 (-.f64 %25 %1794))
(neg.f64 (-.f64 %1139 %980))
(neg.f64 (-.f64 %1799 %31))
(neg.f64 (neg.f64 %1790))
(fma.f64 %33 %33 %1804)
(fma.f64 %33 %33 %1806)
(fma.f64 %5 %5 %1794)
(fma.f64 %36 #s(literal 1/2 binary64) %1804)
(fma.f64 %36 #s(literal 1/2 binary64) %1806)
(fma.f64 %8 #s(literal 1/2 binary64) %1794)
(fma.f64 %1133 %1133 %980)
(fma.f64 %32 %32 %1804)
(fma.f64 %32 %32 %1806)
(fma.f64 %4 %4 %1794)
(fma.f64 %31 #s(literal 1 binary64) %1804)
(fma.f64 %31 #s(literal 1 binary64) %1806)
(fma.f64 %3 #s(literal 1 binary64) %1794)
(fma.f64 #s(literal 2 binary64) %41 %1804)
(fma.f64 #s(literal 2 binary64) %41 %1806)
(fma.f64 #s(literal 2 binary64) %14 %1794)
(fma.f64 #s(literal 1 binary64) %31 %1804)
(fma.f64 #s(literal 1 binary64) %31 %1806)
(fma.f64 #s(literal 1 binary64) %3 %1794)
(-.f64 %1825 %1025)
(-.f64 %1825 %1027)
(-.f64 %1825 %53)
(-.f64 %1825 %64)
(-.f64 %1794 %1020)
(-.f64 %1794 %25)
(-.f64 %1132 %992)
(-.f64 %980 %1139)
(-.f64 %31 (neg.f64 %1806))
(-.f64 %31 %1799)
(-.f64 %3 (neg.f64 %1794))
(+.f64 %1825 %31)
(+.f64 %1794 %994)
(+.f64 %1794 %3)
%1790
(+.f64 %980 %1140)
(+.f64 %980 %1132)
(+.f64 %31 %1804)
(+.f64 %31 %1806)
(+.f64 %3 %1794)
%1847
(*.f64 #s(literal 1/2 binary64) %1790)
(pow.f64 %1847 #s(literal 1 binary64))
(/.f64 %1790 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1847 #s(literal -1 binary64)))
(fma.f64 %1794 #s(literal 1/2 binary64) %1308)
(fma.f64 %1132 #s(literal 1/2 binary64) %1310)
(fma.f64 %980 #s(literal 1/2 binary64) %1855)
(fma.f64 #s(literal 1/2 binary64) %1794 %1314)
(fma.f64 #s(literal 1/2 binary64) %1132 %1316)
(fma.f64 #s(literal 1/2 binary64) %980 %1859)
(-.f64 %1861 %1321)
(-.f64 %1861 %1323)
(-.f64 %1859 %1325)
(-.f64 %1859 %1327)
(-.f64 %1316 (*.f64 #s(literal -1/2 binary64) %1132))
(-.f64 %1316 (neg.f64 %1859))
(-.f64 %1870 %1334)
(-.f64 %1870 %1336)
(-.f64 %1855 %1338)
(-.f64 %1855 %1340)
(-.f64 %1310 (*.f64 %1139 #s(literal 1/2 binary64)))
(-.f64 %1310 (neg.f64 %1855))
(+.f64 %1861 %1314)
(+.f64 %1859 %1316)
(+.f64 %1316 %1859)
(+.f64 %1870 %1308)
(+.f64 %1855 %1310)
(+.f64 %1310 %1855)

reconstruct114.0ms (4.0%)

Counts
1 902 → 438
Compiler

Compiled 1 902 to 2 835 computations (-49.1% saved)

eval-18.0ms (-0.6%)

Compiler

Compiled 529 to 2 247 computations (-324.8% saved)

prune8.0ms (0.3%)

Pruning

11 alts after pruning (4 fresh and 7 done)

PrunedKeptTotal
New5254529
Fresh000
Picked516
Done066
Total53011541
Accuracy
100.0%
Counts
541 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
73.4%
(*.f64 (+.f64 (hypot.f64 (*.f64 (fabs.f64 q) #s(literal -2 binary64)) (fabs.f64 (approx (- r p) r))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
100.0%
(*.f64 (+.f64 (hypot.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (fabs.f64 q))) (-.f64 p r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
40.8%
%58 = (-.f64 p r)
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (*.f64 %58 %58))) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
2.4%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* (pow q 2) -4))) (-.f64 p r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
8.2%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* (pow q 2) -4))) (neg.f64 r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
67.9%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (-.f64 r p)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
45.9%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (+.f64 q q)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
12.6%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (*.f64 #s(literal -2 binary64) q)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
39.0%
(*.f64 (+.f64 (approx (sqrt (- (pow (- r p) 2) (* -4 (pow q 2)))) (neg.f64 p)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
41.7%
%20 = (- r p)
(*.f64 (+.f64 (approx (sqrt (- (pow %20 2) (* -4 (pow q 2)))) (approx %20 r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
1.1%
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))))) (*.f64 #s(literal -1 binary64) q))
Compiler

Compiled 11 to 49 computations (-345.5% saved)

regimes137.0ms (4.8%)

Counts
1 → 1
2 → 1
4 → 2
5 → 3
16 → 2
18 → 2
23 → 1
Calls
Call 1
Inputs
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))))) (*.f64 #s(literal -1 binary64) q))
Outputs
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 (pow q 2)))))) (*.f64 #s(literal -1 binary64) q))
Call 2
Inputs
%11 = (pow q 2)
%20 = (- r p)
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 %11))))) (*.f64 #s(literal -1 binary64) q))
(*.f64 (+.f64 (approx (sqrt (- (pow %20 2) (* -4 %11))) (approx %20 r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
Outputs
%2 = (- r p)
(*.f64 (+.f64 (approx (sqrt (- (pow %2 2) (* -4 (pow q 2)))) (approx %2 r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
Call 3
Inputs
%11 = (pow q 2)
%20 = (- r p)
%21 = (pow %20 2)
%25 = (sqrt (- %21 (* -4 %11)))
%30 = (+.f64 (fabs.f64 r) (fabs.f64 p))
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 %11))))) (*.f64 #s(literal -1 binary64) q))
(*.f64 (+.f64 (approx %25 (approx %20 r)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (neg.f64 p)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx (sqrt (- %21 (* %11 -4))) (neg.f64 r)) %30) #s(literal 1/2 binary64))
Outputs
%2 = (- r p)
%10 = (sqrt (- (pow %2 2) (* -4 (pow q 2))))
%15 = (+.f64 (fabs.f64 r) (fabs.f64 p))
(*.f64 (+.f64 (approx %10 (neg.f64 p)) %15) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %10 (approx %2 r)) %15) #s(literal 1/2 binary64))
Call 4
Inputs
%11 = (pow q 2)
%20 = (- r p)
%21 = (pow %20 2)
%25 = (sqrt (- %21 (* -4 %11)))
%30 = (+.f64 (fabs.f64 r) (fabs.f64 p))
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) (sqrt (+ (pow (- p r) 2) (* 4 %11))))) (*.f64 #s(literal -1 binary64) q))
(*.f64 (+.f64 (approx %25 (approx %20 r)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (neg.f64 p)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx (sqrt (- %21 (* %11 -4))) (neg.f64 r)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (+.f64 q q)) %30) #s(literal 1/2 binary64))
Outputs
%2 = (- r p)
%10 = (sqrt (- (pow %2 2) (* -4 (pow q 2))))
%15 = (+.f64 (fabs.f64 r) (fabs.f64 p))
(*.f64 (+.f64 (approx %10 (neg.f64 p)) %15) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %10 (+.f64 q q)) %15) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %10 (approx %2 r)) %15) #s(literal 1/2 binary64))
Call 5
Inputs
%11 = (pow q 2)
%14 = (sqrt (+ (pow (- p r) 2) (* 4 %11)))
%20 = (- r p)
%21 = (pow %20 2)
%25 = (sqrt (- %21 (* -4 %11)))
%28 = (fabs.f64 r)
%29 = (fabs.f64 p)
%30 = (+.f64 %28 %29)
%40 = (sqrt (- %21 (* %11 -4)))
%53 = (-.f64 p r)
%58 = (*.f64 #s(literal -2 binary64) q)
%68 = (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
%69 = (+.f64 %29 %28)
%91 = (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 p r))))
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) %14)) (*.f64 #s(literal -1 binary64) q))
(*.f64 (+.f64 (approx %25 (approx %20 r)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (neg.f64 p)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %40 (neg.f64 r)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (+.f64 q q)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (-.f64 r p)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %40 %53) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 %58) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (*.f64 #s(literal -1 binary64) r)) %30) #s(literal 1/2 binary64))
(*.f64 %68 (+.f64 %69 (approx %14 %58)))
(*.f64 %68 (+.f64 %69 (approx %14 (*.f64 #s(literal -1 binary64) p))))
(*.f64 %68 (+.f64 %69 (approx %14 (*.f64 #s(literal 2 binary64) q))))
(*.f64 (+.f64 (approx %25 (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 r p))))) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (*.f64 #s(literal -1 binary64) %91)) %30) #s(literal 1/2 binary64))
(*.f64 %68 (+.f64 %69 (approx %14 %91)))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (*.f64 %53 %53))) %30) #s(literal 1/2 binary64))
Outputs
%10 = (sqrt (- (pow (- r p) 2) (* -4 (pow q 2))))
%15 = (+.f64 (fabs.f64 r) (fabs.f64 p))
(*.f64 (+.f64 (approx %10 (-.f64 r p)) %15) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %10 (+.f64 q q)) %15) #s(literal 1/2 binary64))
Call 6
Inputs
%11 = (pow q 2)
%14 = (sqrt (+ (pow (- p r) 2) (* 4 %11)))
%20 = (- r p)
%21 = (pow %20 2)
%25 = (sqrt (- %21 (* -4 %11)))
%26 = (approx %20 r)
%28 = (fabs.f64 r)
%29 = (fabs.f64 p)
%30 = (+.f64 %28 %29)
%40 = (sqrt (- %21 (* %11 -4)))
%53 = (-.f64 p r)
%58 = (*.f64 #s(literal -2 binary64) q)
%68 = (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
%69 = (+.f64 %29 %28)
%91 = (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 p r))))
%106 = (fabs.f64 q)
%108 = (fabs.f64 %26)
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) %14)) (*.f64 #s(literal -1 binary64) q))
(*.f64 (+.f64 (approx %25 %26) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (neg.f64 p)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %40 (neg.f64 r)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (+.f64 q q)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (-.f64 r p)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %40 %53) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 %58) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (*.f64 #s(literal -1 binary64) r)) %30) #s(literal 1/2 binary64))
(*.f64 %68 (+.f64 %69 (approx %14 %58)))
(*.f64 %68 (+.f64 %69 (approx %14 (*.f64 #s(literal -1 binary64) p))))
(*.f64 %68 (+.f64 %69 (approx %14 (*.f64 #s(literal 2 binary64) q))))
(*.f64 (+.f64 (approx %25 (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 r p))))) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (*.f64 #s(literal -1 binary64) %91)) %30) #s(literal 1/2 binary64))
(*.f64 %68 (+.f64 %69 (approx %14 %91)))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (*.f64 %53 %53))) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 (*.f64 %106 #s(literal -2 binary64)) %108) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 (*.f64 (neg.f64 (neg.f64 %106)) #s(literal -2 binary64)) %108) %30) #s(literal 1/2 binary64))
Outputs
%2 = (- r p)
%15 = (+.f64 (fabs.f64 r) (fabs.f64 p))
(*.f64 (+.f64 (approx (sqrt (- (pow %2 2) (* -4 (pow q 2)))) (-.f64 r p)) %15) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 (*.f64 (fabs.f64 q) #s(literal -2 binary64)) (fabs.f64 (approx %2 r))) %15) #s(literal 1/2 binary64))
Call 7
Inputs
%11 = (pow q 2)
%14 = (sqrt (+ (pow (- p r) 2) (* 4 %11)))
%20 = (- r p)
%21 = (pow %20 2)
%25 = (sqrt (- %21 (* -4 %11)))
%26 = (approx %20 r)
%28 = (fabs.f64 r)
%29 = (fabs.f64 p)
%30 = (+.f64 %28 %29)
%40 = (sqrt (- %21 (* %11 -4)))
%49 = (-.f64 r p)
%53 = (-.f64 p r)
%58 = (*.f64 #s(literal -2 binary64) q)
%68 = (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))
%69 = (+.f64 %29 %28)
%91 = (*.f64 r (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 p r))))
%106 = (fabs.f64 q)
%108 = (fabs.f64 %26)
%112 = (neg.f64 %106)
%114 = (*.f64 (neg.f64 %112) #s(literal -2 binary64))
%124 = (fabs.f64 %49)
%125 = (neg.f64 %124)
(approx (* 1/2 (+ (+ (fabs p) (fabs r)) %14)) (*.f64 #s(literal -1 binary64) q))
(*.f64 (+.f64 (approx %25 %26) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (neg.f64 p)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %40 (neg.f64 r)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (+.f64 q q)) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 %49) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %40 %53) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 %58) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (*.f64 #s(literal -1 binary64) r)) %30) #s(literal 1/2 binary64))
(*.f64 %68 (+.f64 %69 (approx %14 %58)))
(*.f64 %68 (+.f64 %69 (approx %14 (*.f64 #s(literal -1 binary64) p))))
(*.f64 %68 (+.f64 %69 (approx %14 (*.f64 #s(literal 2 binary64) q))))
(*.f64 (+.f64 (approx %25 (*.f64 p (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 r p))))) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (approx %25 (*.f64 #s(literal -1 binary64) %91)) %30) #s(literal 1/2 binary64))
(*.f64 %68 (+.f64 %69 (approx %14 %91)))
(*.f64 (+.f64 (sqrt.f64 (fma.f64 (*.f64 q q) #s(literal 4 binary64) (*.f64 %53 %53))) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 (*.f64 %106 #s(literal -2 binary64)) %108) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 %114 %108) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 (*.f64 #s(literal 2 binary64) %112) %53) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 (*.f64 #s(literal 2 binary64) (neg.f64 q)) %125) %30) #s(literal 1/2 binary64))
(*.f64 (+.f64 (hypot.f64 %114 %124) %30) #s(literal 1/2 binary64))
(*.f64 %68 (+.f64 %69 (hypot.f64 (*.f64 %112 #s(literal 2 binary64)) (neg.f64 %125))))
(*.f64 %68 (+.f64 %69 (sqrt.f64 (+.f64 (pow.f64 %53 #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
Outputs
(*.f64 (+.f64 (hypot.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (fabs.f64 q))) (-.f64 p r)) (+.f64 (fabs.f64 r) (fabs.f64 p))) #s(literal 1/2 binary64))
Calls

44 calls:

12.0ms
(+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))
10.0ms
p
6.0ms
r
6.0ms
q
6.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
Results
AccuracySegmentsBranch
1.1%1
q
1.1%1
r
1.1%1
p
1.1%1
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
1.1%1
(+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))
1.1%1
(*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))
1.1%1
(pow.f64 q #s(literal 2 binary64))
41.7%1
q
41.7%1
(*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))
41.7%1
(pow.f64 q #s(literal 2 binary64))
41.7%1
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
41.7%1
(+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))
41.7%1
p
41.7%1
r
43.5%2
q
43.5%2
(*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))
43.5%2
(pow.f64 q #s(literal 2 binary64))
60.1%2
r
58.9%2
p
69.2%3
p
68.7%3
r
45.9%1
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
45.9%1
(+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))
62.2%2
q
62.2%2
(*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))
62.2%2
(pow.f64 q #s(literal 2 binary64))
84.1%2
q
84.1%2
(*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))
84.1%2
(pow.f64 q #s(literal 2 binary64))
75.2%3
p
87.2%2
q
78.1%2
r
88.7%2
p
82.6%2
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
82.6%2
(+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))
87.2%2
(*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))
87.2%2
(pow.f64 q #s(literal 2 binary64))
100.0%1
q
100.0%1
r
100.0%1
p
100.0%1
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)) (+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))))))
100.0%1
(+.f64 (+.f64 (fabs.f64 p) (fabs.f64 r)) (sqrt.f64 (+.f64 (pow.f64 (-.f64 p r) #s(literal 2 binary64)) (*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64))))))
100.0%1
(*.f64 #s(literal 4 binary64) (pow.f64 q #s(literal 2 binary64)))
100.0%1
(pow.f64 q #s(literal 2 binary64))
Compiler

Compiled 30 to 123 computations (-310.0% saved)

bsearch0.0ms (0.0%)

bsearch15.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
-8.376728107733935e+127
-8.116091018682105e+122
Samples
10.0ms144×0valid
Compiler

Compiled 27 to 39 computations (-44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-sqrt!: 1.0ms (20.3% of total, 0.4 MiB)
ival-fabs: 1.0ms (20.3% of total, 1.5 MiB)
ival-add!: 1.0ms (20.3% of total, 0.9 MiB)
ival-mult!: 1.0ms (20.3% of total, 0.8 MiB)
ival-pow2: 1.0ms (20.3% of total, 1.0 MiB)
ival-sub!: 0.0ms (0.0% of total, 0.3 MiB)
adjust: 0.0ms (0.0% of total, 0.1 MiB)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.407781419477044e+292
5.838932903035222e+297
Compiler

Compiled 1 to 3 computations (-200.0% saved)

bsearch14.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.8254148380483513e-271
3.8474093521380577e-267
0.0ms
-8.376728107733935e+127
-8.116091018682105e+122
Samples
9.0ms128×0valid
Compiler

Compiled 29 to 47 computations (-62.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-fabs: 1.0ms (22.7% of total, 1.8 MiB)
ival-add!: 1.0ms (22.7% of total, 1.0 MiB)
ival-mult!: 1.0ms (22.7% of total, 0.9 MiB)
ival-pow2: 1.0ms (22.7% of total, 1.3 MiB)
ival-sub!: 0.0ms (0.0% of total, 0.7 MiB)
adjust: 0.0ms (0.0% of total, 0.1 MiB)
ival-sqrt!: 0.0ms (0.0% of total, 0.6 MiB)

bsearch16.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
21.0ms
7.482150828711451e-43
1.7745230555869843e-34
Samples
17.0ms144×0valid
Compiler

Compiled 27 to 33 computations (-22.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-sqrt!: 1.0ms (18.9% of total, 0.5 MiB)
ival-fabs: 1.0ms (18.9% of total, 2.0 MiB)
ival-add!: 1.0ms (18.9% of total, 1.0 MiB)
ival-mult!: 1.0ms (18.9% of total, 1.2 MiB)
ival-pow2: 1.0ms (18.9% of total, 1.6 MiB)
ival-sub!: 0.0ms (0.0% of total, 0.4 MiB)
adjust: 0.0ms (0.0% of total, 0.1 MiB)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations276.0ms (9.7%)

Stop Event
fuel
Compiler

Compiled 7 to 48 computations (-585.7% saved)

preprocess51.0ms (1.8%)

Compiler

Compiled 42 to 557 computations (-1226.2% saved)

end0.0ms (0.0%)

gc635ms (22.4%)

Allocations
AllocatedPercentPhase
565.6 MiB27.7%sample
140.0 MiB6.9%regimes
103.6 MiB5.1%rewrite
100.6 MiB4.9%derivations
96.5 MiB4.7%reconstruct
94.5 MiB4.6%reconstruct
83.6 MiB4.1%rewrite
81.3 MiB4.0%series
78.5 MiB3.8%rewrite
75.1 MiB3.7%rewrite
70.0 MiB3.4%eval
61.4 MiB3.0%eval
60.5 MiB3.0%preprocess
57.2 MiB2.8%eval
49.7 MiB2.4%series
46.7 MiB2.3%reconstruct
39.6 MiB1.9%reconstruct
31.1 MiB1.5%series
28.1 MiB1.4%eval
26.0 MiB1.3%series
24.2 MiB1.2%bsearch
23.7 MiB1.2%bsearch
19.6 MiB1.0%prune
18.8 MiB0.9%prune
18.5 MiB0.9%bsearch
17.4 MiB0.9%prune
16.4 MiB0.8%preprocess
8.6 MiB0.4%prune
2.1 MiB0.1%bsearch
1.4 MiB0.1%sample
0.7 MiB0.0%sample
0.6 MiB0.0%sample
0.3 MiB0.0%bsearch
0.3 MiB0.0%bsearch
0.3 MiB0.0%bsearch
0.3 MiB0.0%analyze
0.2 MiB0.0%sample
0.1 MiB0.0%start
0.0 MiB0.0%end
2 043.3 MiB100.0%total

Profiling

Loading profile data...