
Time bar (total: 1.3s)
| 1× | search |
| Probability | Valid | Unknown | Precondition | Infinite | Domain | Can't | Iter |
|---|---|---|---|---|---|---|---|
| 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 |
Compiled 11 to 9 computations (18.2% saved)
| 202.0ms | 8 256× | 0 | valid |
Mul: 5.0ms (53.1% of total, 0.0 MiB)Sub: 2.0ms (21.2% of total, 0.0 MiB)Add: 2.0ms (21.2% of total, 0.0 MiB)Useful iterations: 3 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 33 | 97 |
| 1 | 150 | 90 |
| 2 | 377 | 90 |
| 3 | 1011 | 75 |
| 1× | node-limit |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 96.5% | (+.f64 (*.f64 x y) (*.f64 (-.f64 #s(literal 1 binary64) x) z)) |
Compiled 2 to 16 computations (-700.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 85 | 338 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %4 = (-.f64 #s(literal 1 binary64) x) %6 = (*.f64 %4 z) x y %2 #s(literal 1 binary64) %4 z %6 (+.f64 %2 %6) |
| Outputs |
|---|
%5 = (* x y) %6 = (*.f64 x y) %9 = (- 1 x) %13 = (*.f64 #s(literal -1 binary64) x) %17 = (* %9 z) %20 = (*.f64 #s(literal -1 binary64) (*.f64 x z)) %23 = (+ %5 %17) %26 = (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z))) %30 = (/.f64 #s(literal 1 binary64) x) %35 = (/.f64 z x) %36 = (fma.f64 #s(literal -1 binary64) z %35) %47 = (*.f64 #s(literal -1 binary64) %35) %63 = (-.f64 #s(literal 1 binary64) x) %64 = (*.f64 z %63) %68 = (/.f64 %64 y) %77 = (/.f64 %6 z) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 %6) (approx %9 #s(literal 1 binary64)) (approx %9 (+.f64 #s(literal 1 binary64) %13)) (approx %17 z) (approx %17 (+.f64 z %20)) (approx %23 (+.f64 z %26)) (approx %9 %13) (approx %9 (*.f64 x (-.f64 %30 #s(literal 1 binary64)))) (approx %17 %20) (approx %17 (*.f64 x %36)) (approx %23 %26) (approx %23 (*.f64 x (+.f64 y %36))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %30)))) (approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z %47)))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) y))))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (fma.f64 #s(literal -1 binary64) y %47))))) (approx y y) (approx %23 %64) (approx %23 (fma.f64 x y %64)) (approx %23 (*.f64 y (+.f64 x %68))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %68))))) (approx %23 (*.f64 z (-.f64 (+.f64 #s(literal 1 binary64) %77) x))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %63 (*.f64 #s(literal -1 binary64) %77))))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 6.0ms | y | inf |
| 2.0ms | x | inf |
| 1.0ms | z | inf |
| 1.0ms | x | -inf |
| 1.0ms | y | -inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 8 | 24 |
| 0 | 12 | 24 |
| 1 | 38 | 24 |
| 2 | 95 | 24 |
| 3 | 304 | 23 |
| 4 | 1707 | 23 |
| 0 | 4275 | 23 |
| 0 | 4397 | 22 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %4 = (-.f64 #s(literal 1 binary64) x) %6 = (*.f64 %4 z) x y %2 #s(literal 1 binary64) %4 z %6 (+.f64 %2 %6) |
| Outputs |
|---|
%2 = (neg.f64 y) %3 = (neg.f64 x) %7 = (*.f64 y x) %14 = (*.f64 %3 y) %17 = (-.f64 #s(literal 1 binary64) x) %18 = (*.f64 #s(literal 2 binary64) %17) %20 = (/.f64 %18 #s(literal 8 binary64)) %23 = (/.f64 %18 #s(literal 4 binary64)) %33 = (/.f64 %18 #s(literal 1/2 binary64)) %36 = (/.f64 %18 #s(literal 1 binary64)) %39 = (-.f64 #s(literal 1/2 binary64) x) %40 = (fma.f64 %39 #s(literal 2 binary64) #s(literal 1 binary64)) %44 = (fma.f64 %3 #s(literal -2 binary64) #s(literal -2 binary64)) %47 = (fma.f64 %3 #s(literal 1 binary64) #s(literal 1 binary64)) %51 = (-.f64 (*.f64 %3 #s(literal -2 binary64)) #s(literal 2 binary64)) %54 = (fma.f64 %18 #s(literal 2 binary64) #s(literal 0 binary64)) %57 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64)) %58 = (neg.f64 %57) %61 = (neg.f64 %18) %82 = (-.f64 x #s(literal 1 binary64)) %85 = (+.f64 x x) %86 = (-.f64 %85 #s(literal 1 binary64)) %98 = (-.f64 x #s(literal 1/2 binary64)) %213 = (*.f64 %3 #s(literal 1 binary64)) %230 = (/.f64 %85 #s(literal -2 binary64)) %233 = (/.f64 %39 #s(literal 1 binary64)) %235 = (/.f64 %3 #s(literal 1 binary64)) %239 = (+.f64 #s(literal 0 binary64) %39) %252 = (*.f64 %17 #s(literal 1/2 binary64)) %253 = (+.f64 z z) %255 = (*.f64 %17 #s(literal 1 binary64)) %257 = (*.f64 %17 %253) %259 = (*.f64 #s(literal 1/2 binary64) z) %260 = (*.f64 %17 %259) %262 = (*.f64 #s(literal 1/2 binary64) %17) %266 = (neg.f64 z) %268 = (*.f64 %253 %17) %270 = (*.f64 %259 %17) %273 = (*.f64 z %17) %298 = (*.f64 %266 x) %299 = (fma.f64 %298 #s(literal 2 binary64) %253) %302 = (*.f64 %3 %253) %305 = (*.f64 %253 %3) %308 = (*.f64 #s(literal -1 binary64) %253) %313 = (*.f64 %266 #s(literal 2 binary64)) %318 = (*.f64 #s(literal 2 binary64) %266) %323 = (*.f64 %253 #s(literal -1 binary64)) %328 = (*.f64 #s(literal -2 binary64) z) %333 = (*.f64 z #s(literal -2 binary64)) %338 = (neg.f64 %253) %343 = (*.f64 x %253) %346 = (*.f64 %253 x) %349 = (*.f64 %266 %57) %352 = (*.f64 z %18) %357 = (*.f64 %57 %266) %362 = (*.f64 %18 z) %367 = (*.f64 %253 %18) %370 = (*.f64 %18 %253) %384 = (*.f64 %82 z) %386 = (*.f64 %17 #s(literal 0 binary64)) %388 = (*.f64 #s(literal 0 binary64) %17) %394 = (*.f64 #s(literal -1 binary64) %266) %396 = (*.f64 %266 #s(literal -1 binary64)) %402 = (*.f64 %3 #s(literal 1/2 binary64)) %406 = (*.f64 %3 %259) %413 = (*.f64 #s(literal 1/2 binary64) %259) %414 = (fma.f64 #s(literal 1/2 binary64) z %298) %416 = (*.f64 z x) %417 = (-.f64 %259 %416) %419 = (*.f64 z %39) %421 = (*.f64 %39 z) %434 = (*.f64 #s(literal 1/2 binary64) %3) %445 = (neg.f64 %85) %481 = (*.f64 %259 #s(literal 1/2 binary64)) %486 = (*.f64 %259 %3) %558 = (-.f64 z y) %559 = (fma.f64 %3 %558 z) %562 = (fma.f64 %7 #s(literal 2 binary64) %253) %581 = (-.f64 z %14) %583 = (fma.f64 y x z) %591 = (*.f64 %3 %558) %592 = (fma.f64 #s(literal 1/2 binary64) z %591) x y (*.f64 %2 %3) (*.f64 %3 %2) (*.f64 #s(literal 1 binary64) %7) %7 (*.f64 x y) (pow.f64 %7 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64))) (neg.f64 %14) #s(literal 1 binary64) (*.f64 %20 #s(literal 4 binary64)) (*.f64 %23 #s(literal 2 binary64)) (*.f64 %18 #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) %17) (pow.f64 %17 #s(literal 1 binary64)) (/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %3 #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %33) #s(literal 4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %36) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %40) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %44) #s(literal -2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %47) #s(literal 1 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %51) #s(literal -2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %54) #s(literal 4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %58) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %61) #s(literal -2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %18) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %57) #s(literal -2 binary64)) (/.f64 (+.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (+.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (+.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (+.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64)) (/.f64 (+.f64 %58 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %61 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) %82 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 1 binary64) %86) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %57 #s(literal 1/2 binary64))) #s(literal 4 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %57 #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (fma.f64 x #s(literal -2 binary64) #s(literal 2 binary64))) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %98 #s(literal 2 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %82 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x #s(literal -2 binary64)) #s(literal -2 binary64))) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) #s(literal 1 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %57 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 4 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %58) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %61) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %18) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %57) #s(literal 2 binary64)) (/.f64 (-.f64 %33 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 %36 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64)) (/.f64 (-.f64 %58 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %18 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %61 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (neg.f64 %33) #s(literal -4 binary64)) (/.f64 (neg.f64 %36) #s(literal -2 binary64)) (/.f64 (neg.f64 %40) #s(literal -2 binary64)) (/.f64 (neg.f64 %44) #s(literal 2 binary64)) (/.f64 (neg.f64 %47) #s(literal -1 binary64)) (/.f64 (neg.f64 %51) #s(literal 2 binary64)) (/.f64 (neg.f64 %54) #s(literal -4 binary64)) (/.f64 (neg.f64 %58) #s(literal -2 binary64)) (/.f64 (neg.f64 %61) #s(literal 2 binary64)) (/.f64 %33 #s(literal 4 binary64)) (/.f64 %36 #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 2 binary64) %85) #s(literal 2 binary64)) (/.f64 %40 #s(literal 2 binary64)) (/.f64 %44 #s(literal -2 binary64)) (/.f64 %47 #s(literal 1 binary64)) (/.f64 %51 #s(literal -2 binary64)) (/.f64 %54 #s(literal 4 binary64)) (/.f64 %58 #s(literal 2 binary64)) (/.f64 %61 #s(literal -2 binary64)) (/.f64 %18 #s(literal 2 binary64)) (/.f64 %57 #s(literal -2 binary64)) (/.f64 %82 #s(literal -1 binary64)) (/.f64 %17 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %18)) (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64))) (neg.f64 %82) (fma.f64 %20 #s(literal 4 binary64) #s(literal 0 binary64)) (fma.f64 %23 #s(literal 2 binary64) #s(literal 0 binary64)) (fma.f64 %18 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %39 #s(literal 1/2 binary64)) (fma.f64 #s(literal 1 binary64) %3 #s(literal 1 binary64)) (fma.f64 #s(literal 1 binary64) %17 #s(literal 0 binary64)) (-.f64 (+.f64 %17 #s(literal 1 binary64)) #s(literal 1 binary64)) (-.f64 %39 #s(literal -1/2 binary64)) (-.f64 #s(literal 1/2 binary64) (-.f64 #s(literal -1/2 binary64) %3)) (-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) x)) (-.f64 #s(literal 1/2 binary64) %98) (-.f64 %3 #s(literal -1 binary64)) (-.f64 #s(literal 0 binary64) %82) (-.f64 %17 #s(literal 0 binary64)) (-.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) %3)) (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) x)) (-.f64 #s(literal 1 binary64) (-.f64 x #s(literal 0 binary64))) %17 (+.f64 (/.f64 (*.f64 %39 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64)) (+.f64 (/.f64 %213 #s(literal 1 binary64)) #s(literal 1 binary64)) (+.f64 (/.f64 (*.f64 %18 #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 0 binary64)) (+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %3 #s(literal 3/2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %3 #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 3/4 binary64)) (+.f64 (/.f64 %86 #s(literal -2 binary64)) #s(literal 1/2 binary64)) (+.f64 (/.f64 %230 #s(literal 1 binary64)) #s(literal 1 binary64)) (+.f64 %233 #s(literal 1/2 binary64)) (+.f64 %235 #s(literal 1 binary64)) (+.f64 %230 #s(literal 1 binary64)) (+.f64 %39 #s(literal 1/2 binary64)) (+.f64 #s(literal 1/2 binary64) (/.f64 %239 #s(literal 1 binary64))) (+.f64 #s(literal 1/2 binary64) %233) (+.f64 #s(literal 1/2 binary64) %239) (+.f64 #s(literal 1/2 binary64) %39) (+.f64 %3 #s(literal 1 binary64)) (+.f64 #s(literal 0 binary64) %17) (+.f64 %17 #s(literal 0 binary64)) (+.f64 #s(literal 1 binary64) %235) (+.f64 #s(literal 1 binary64) %230) (+.f64 #s(literal 1 binary64) %3) z (*.f64 %252 %253) (*.f64 %255 z) (*.f64 %257 #s(literal 1/2 binary64)) (*.f64 %260 #s(literal 2 binary64)) (*.f64 %253 %262) (*.f64 %259 %18) (*.f64 %18 %259) (*.f64 %266 %82) (*.f64 #s(literal 1/2 binary64) %268) (*.f64 #s(literal 2 binary64) %270) (*.f64 %82 %266) (*.f64 %273 #s(literal 1 binary64)) %273 (*.f64 %17 z) (*.f64 #s(literal 1 binary64) %273) (pow.f64 %273 #s(literal 1 binary64)) (/.f64 (fma.f64 %3 %253 %253) #s(literal 2 binary64)) (/.f64 (fma.f64 %253 %3 %253) #s(literal 2 binary64)) (/.f64 (fma.f64 %253 %18 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 %18 %253 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 %266 %57 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 z %18 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %17 %253 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %57 %266 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %253 %17 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %18 z #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %299 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) z %302) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) z %305) #s(literal 2 binary64)) (/.f64 (-.f64 %302 %308) #s(literal 2 binary64)) (/.f64 (-.f64 %305 %308) #s(literal 2 binary64)) (/.f64 (-.f64 %302 %313) #s(literal 2 binary64)) (/.f64 (-.f64 %305 %313) #s(literal 2 binary64)) (/.f64 (-.f64 %302 %318) #s(literal 2 binary64)) (/.f64 (-.f64 %305 %318) #s(literal 2 binary64)) (/.f64 (-.f64 %302 %323) #s(literal 2 binary64)) (/.f64 (-.f64 %305 %323) #s(literal 2 binary64)) (/.f64 (-.f64 %302 %328) #s(literal 2 binary64)) (/.f64 (-.f64 %305 %328) #s(literal 2 binary64)) (/.f64 (-.f64 %302 %333) #s(literal 2 binary64)) (/.f64 (-.f64 %305 %333) #s(literal 2 binary64)) (/.f64 (-.f64 %302 %338) #s(literal 2 binary64)) (/.f64 (-.f64 %305 %338) #s(literal 2 binary64)) (/.f64 (-.f64 %253 %343) #s(literal 2 binary64)) (/.f64 (-.f64 %253 %346) #s(literal 2 binary64)) (/.f64 (neg.f64 %349) #s(literal -2 binary64)) (/.f64 (neg.f64 %352) #s(literal -2 binary64)) (/.f64 (neg.f64 %257) #s(literal -2 binary64)) (/.f64 (neg.f64 %357) #s(literal -2 binary64)) (/.f64 (neg.f64 %268) #s(literal -2 binary64)) (/.f64 (neg.f64 %362) #s(literal -2 binary64)) (/.f64 (neg.f64 %299) #s(literal -2 binary64)) (/.f64 (neg.f64 %367) #s(literal -4 binary64)) (/.f64 (neg.f64 %370) #s(literal -4 binary64)) (/.f64 %349 #s(literal 2 binary64)) (/.f64 %352 #s(literal 2 binary64)) (/.f64 %257 #s(literal 2 binary64)) (/.f64 %357 #s(literal 2 binary64)) (/.f64 %268 #s(literal 2 binary64)) (/.f64 %362 #s(literal 2 binary64)) (/.f64 %299 #s(literal 2 binary64)) (/.f64 %367 #s(literal 4 binary64)) (/.f64 %370 #s(literal 4 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %273 #s(literal -1 binary64))) (neg.f64 %384) (fma.f64 %252 %253 %386) (fma.f64 %252 %253 %388) (fma.f64 %252 %253 #s(literal 0 binary64)) (fma.f64 %255 z %386) (fma.f64 %255 z %388) (fma.f64 %255 z #s(literal 0 binary64)) (fma.f64 %302 #s(literal 1/2 binary64) %394) (fma.f64 %302 #s(literal 1/2 binary64) %396) (fma.f64 %302 #s(literal 1/2 binary64) z) (fma.f64 %257 #s(literal 1/2 binary64) %386) (fma.f64 %257 #s(literal 1/2 binary64) %388) (fma.f64 %257 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 %402 %253 %394) (fma.f64 %402 %253 %396) (fma.f64 %402 %253 z) (fma.f64 %406 #s(literal 2 binary64) %394) (fma.f64 %406 #s(literal 2 binary64) %396) (fma.f64 %406 #s(literal 2 binary64) z) (fma.f64 %260 #s(literal 2 binary64) %386) (fma.f64 %260 #s(literal 2 binary64) %388) (fma.f64 %260 #s(literal 2 binary64) #s(literal 0 binary64)) (fma.f64 %413 #s(literal 2 binary64) %414) (fma.f64 %413 #s(literal 2 binary64) %417) (fma.f64 %413 #s(literal 2 binary64) %419) (fma.f64 %413 #s(literal 2 binary64) %421) (fma.f64 %213 z %394) (fma.f64 %213 z %396) (fma.f64 %213 z z) (fma.f64 #s(literal 1/4 binary64) %253 %414) (fma.f64 #s(literal 1/4 binary64) %253 %417) (fma.f64 #s(literal 1/4 binary64) %253 %419) (fma.f64 #s(literal 1/4 binary64) %253 %421) (fma.f64 %39 z %259) (fma.f64 %253 %262 %386) (fma.f64 %253 %262 %388) (fma.f64 %253 %262 #s(literal 0 binary64)) (fma.f64 %253 %434 %394) (fma.f64 %253 %434 %396) (fma.f64 %253 %434 z) (fma.f64 %253 #s(literal 1/4 binary64) %414) (fma.f64 %253 #s(literal 1/4 binary64) %417) (fma.f64 %253 #s(literal 1/4 binary64) %419) (fma.f64 %253 #s(literal 1/4 binary64) %421) (fma.f64 %259 %18 %386) (fma.f64 %259 %18 %388) (fma.f64 %259 %18 #s(literal 0 binary64)) (fma.f64 %259 %445 %394) (fma.f64 %259 %445 %396) (fma.f64 %259 %445 z) (fma.f64 %259 %17 %270) (fma.f64 %259 #s(literal 1 binary64) %414) (fma.f64 %259 #s(literal 1 binary64) %417) (fma.f64 %259 #s(literal 1 binary64) %419) (fma.f64 %259 #s(literal 1 binary64) %421) (fma.f64 %18 %259 %386) (fma.f64 %18 %259 %388) (fma.f64 %18 %259 #s(literal 0 binary64)) (fma.f64 %445 %259 %394) (fma.f64 %445 %259 %396) (fma.f64 %445 %259 z) (fma.f64 %298 #s(literal 1 binary64) %394) (fma.f64 %298 #s(literal 1 binary64) %396) (fma.f64 %298 #s(literal 1 binary64) z) (fma.f64 %266 #s(literal -1 binary64) %298) (fma.f64 %266 %82 %386) (fma.f64 %266 %82 %388) (fma.f64 %266 %82 #s(literal 0 binary64)) (fma.f64 %266 x %394) (fma.f64 %266 x %396) (fma.f64 %266 x z) (fma.f64 #s(literal -1 binary64) %266 %298) (fma.f64 #s(literal 1/2 binary64) %305 %394) (fma.f64 #s(literal 1/2 binary64) %305 %396) (fma.f64 #s(literal 1/2 binary64) %305 z) (fma.f64 #s(literal 1/2 binary64) %268 %386) (fma.f64 #s(literal 1/2 binary64) %268 %388) (fma.f64 #s(literal 1/2 binary64) %268 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) z %414) (fma.f64 #s(literal 1/2 binary64) z %417) (fma.f64 #s(literal 1/2 binary64) z %419) (fma.f64 #s(literal 1/2 binary64) z %421) (fma.f64 #s(literal 2 binary64) %481 %414) (fma.f64 #s(literal 2 binary64) %481 %417) (fma.f64 #s(literal 2 binary64) %481 %419) (fma.f64 #s(literal 2 binary64) %481 %421) (fma.f64 #s(literal 2 binary64) %486 %394) (fma.f64 #s(literal 2 binary64) %486 %396) (fma.f64 #s(literal 2 binary64) %486 z) (fma.f64 #s(literal 2 binary64) %270 %386) (fma.f64 #s(literal 2 binary64) %270 %388) (fma.f64 #s(literal 2 binary64) %270 #s(literal 0 binary64)) (fma.f64 %3 z %394) (fma.f64 %3 z %396) (fma.f64 %3 z z) (fma.f64 %82 %266 %386) (fma.f64 %82 %266 %388) (fma.f64 %82 %266 #s(literal 0 binary64)) (fma.f64 %273 #s(literal 1 binary64) %386) (fma.f64 %273 #s(literal 1 binary64) %388) (fma.f64 %273 #s(literal 1 binary64) #s(literal 0 binary64)) (fma.f64 z %39 %259) (fma.f64 z #s(literal 1/2 binary64) %414) (fma.f64 z #s(literal 1/2 binary64) %417) (fma.f64 z #s(literal 1/2 binary64) %419) (fma.f64 z #s(literal 1/2 binary64) %421) (fma.f64 z %3 %394) (fma.f64 z %3 %396) (fma.f64 z %3 z) (fma.f64 z %17 %386) (fma.f64 z %17 %388) (fma.f64 z %17 #s(literal 0 binary64)) (fma.f64 %17 %259 %260) (fma.f64 %17 z %386) (fma.f64 %17 z %388) (fma.f64 %17 z #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %259 %414) (fma.f64 #s(literal 1 binary64) %259 %417) (fma.f64 #s(literal 1 binary64) %259 %419) (fma.f64 #s(literal 1 binary64) %259 %421) (fma.f64 #s(literal 1 binary64) %298 %394) (fma.f64 #s(literal 1 binary64) %298 %396) (fma.f64 #s(literal 1 binary64) %298 z) (fma.f64 #s(literal 1 binary64) %273 %386) (fma.f64 #s(literal 1 binary64) %273 %388) (fma.f64 #s(literal 1 binary64) %273 #s(literal 0 binary64)) (fma.f64 x %266 %394) (fma.f64 x %266 %396) (fma.f64 x %266 z) (-.f64 %298 %266) (-.f64 z %416) (+.f64 (/.f64 (*.f64 %298 #s(literal 2 binary64)) #s(literal 2 binary64)) z) (+.f64 (fma.f64 %266 x %259) %259) (+.f64 %419 %259) (+.f64 %260 %260) (+.f64 %421 %259) (+.f64 %270 %270) (+.f64 %394 %298) (+.f64 %396 %298) (+.f64 %259 %414) (+.f64 %259 %417) (+.f64 %259 %419) (+.f64 %259 %421) (+.f64 %298 %394) (+.f64 %298 %396) (+.f64 %298 z) (+.f64 %273 %386) (+.f64 %273 %388) (+.f64 %273 #s(literal 0 binary64)) (+.f64 z (+.f64 #s(literal 0 binary64) %298)) (+.f64 z (-.f64 #s(literal 0 binary64) %416)) (+.f64 z %298) (*.f64 #s(literal 1 binary64) %559) (pow.f64 %559 #s(literal 1 binary64)) (/.f64 (+.f64 %562 %302) #s(literal 2 binary64)) (/.f64 (+.f64 %562 %305) #s(literal 2 binary64)) (/.f64 (fma.f64 %3 %253 %562) #s(literal 2 binary64)) (/.f64 (fma.f64 %253 %3 %562) #s(literal 2 binary64)) (/.f64 (-.f64 %562 %343) #s(literal 2 binary64)) (/.f64 (-.f64 %562 %346) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %559 #s(literal -1 binary64))) (neg.f64 (neg.f64 %559)) (fma.f64 %252 %253 %7) (fma.f64 %255 z %7) (fma.f64 %302 #s(literal 1/2 binary64) %581) (fma.f64 %302 #s(literal 1/2 binary64) %583) (fma.f64 %257 #s(literal 1/2 binary64) %7) (fma.f64 %402 %253 %581) (fma.f64 %402 %253 %583) (fma.f64 %406 #s(literal 2 binary64) %581) (fma.f64 %406 #s(literal 2 binary64) %583) (fma.f64 %260 #s(literal 2 binary64) %7) (fma.f64 %413 #s(literal 2 binary64) %592) (fma.f64 %213 z %581) (fma.f64 %213 z %583) (fma.f64 #s(literal 1/4 binary64) %253 %592) (fma.f64 %253 %262 %7) (fma.f64 %253 %434 %581) (fma.f64 %253 %434 %583) (fma.f64 %253 #s(literal 1/4 binary64) %592) (fma.f64 %259 %18 %7) (fma.f64 %259 %445 %581) (fma.f64 %259 %445 %583) (fma.f64 %259 #s(literal 1 binary64) %592) (fma.f64 %18 %259 %7) (fma.f64 %445 %259 %581) (fma.f64 %445 %259 %583) (fma.f64 %298 #s(literal 1 binary64) %581) (fma.f64 %298 #s(literal 1 binary64) %583) (fma.f64 %2 %3 %273) (fma.f64 %266 %82 %7) (fma.f64 %266 x %581) (fma.f64 %266 x %583) (fma.f64 #s(literal 1/2 binary64) %305 %581) (fma.f64 #s(literal 1/2 binary64) %305 %583) (fma.f64 #s(literal 1/2 binary64) %268 %7) (fma.f64 #s(literal 1/2 binary64) z %592) (fma.f64 #s(literal 2 binary64) %481 %592) (fma.f64 #s(literal 2 binary64) %486 %581) (fma.f64 #s(literal 2 binary64) %486 %583) (fma.f64 #s(literal 2 binary64) %270 %7) %559 (fma.f64 %3 %2 %273) (fma.f64 %3 z %581) (fma.f64 %3 z %583) (fma.f64 %82 %266 %7) (fma.f64 %273 #s(literal 1 binary64) %7) (fma.f64 z #s(literal 1/2 binary64) %592) (fma.f64 z %3 %581) (fma.f64 z %3 %583) (fma.f64 z %17 %7) (fma.f64 %17 z %7) (fma.f64 #s(literal 1 binary64) %583 %298) (fma.f64 #s(literal 1 binary64) %591 z) (fma.f64 #s(literal 1 binary64) %259 %592) (fma.f64 #s(literal 1 binary64) %298 %581) (fma.f64 #s(literal 1 binary64) %298 %583) (fma.f64 #s(literal 1 binary64) %273 %7) (fma.f64 #s(literal 1 binary64) %7 %273) (fma.f64 y x %273) (fma.f64 x %266 %581) (fma.f64 x %266 %583) (fma.f64 x y %273) (-.f64 (-.f64 %7 %416) %266) (-.f64 %583 %416) (-.f64 %273 %14) (-.f64 z (-.f64 %416 %7)) (-.f64 z (fma.f64 z x %14)) (-.f64 z (neg.f64 %591)) (-.f64 %7 %384) (+.f64 %583 %298) (+.f64 %591 z) (+.f64 %259 %592) (+.f64 %298 %581) (+.f64 %298 %583) (+.f64 %273 %7) (+.f64 z (+.f64 #s(literal 0 binary64) %591)) (+.f64 z %591) (+.f64 %7 %273) |
Compiled 453 to 711 computations (-57.0% saved)
Compiled 39 to 121 computations (-210.3% saved)
4 alts after pruning (4 fresh and 0 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 35 | 4 | 39 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 0 | 1 |
| Done | 0 | 0 | 0 |
| Total | 36 | 4 | 40 |
| Status | Accuracy | Program |
|---|---|---|
| ▶ | 100.0% | (fma.f64 (neg.f64 x) (-.f64 z y) z) |
| ▶ | 98.8% | (fma.f64 z (-.f64 #s(literal 1 binary64) x) (*.f64 y x)) |
| ▶ | 77.2% | (+.f64 (*.f64 x y) (approx (* (- 1 x) z) z)) |
| ▶ | 56.2% | (approx (+ (* x y) (* (- 1 x) z)) (*.f64 z (-.f64 #s(literal 1 binary64) x))) |
Compiled 4 to 13 computations (-225.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 155 | 640 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %4 = (-.f64 #s(literal 1 binary64) x) %8 = (* (- 1 x) z) %9 = (approx %8 z) %10 = (*.f64 z %4) %14 = (neg.f64 x) %15 = (*.f64 y x) %16 = (-.f64 z y) x y %2 #s(literal 1 binary64) %4 z %9 %10 (approx (+ (* x y) %8) %10) %14 %15 %16 (fma.f64 %14 %16 z) (fma.f64 z %4 %15) (+.f64 %2 %9) |
| Outputs |
|---|
%5 = (* x y) %6 = (*.f64 x y) %9 = (- 1 x) %13 = (*.f64 #s(literal -1 binary64) x) %14 = (+.f64 #s(literal 1 binary64) %13) %17 = (* %9 z) %19 = (*.f64 x z) %20 = (*.f64 #s(literal -1 binary64) %19) %21 = (+.f64 z %20) %23 = (+ %5 %17) %26 = (*.f64 x (+.f64 y (*.f64 #s(literal -1 binary64) z))) %29 = (neg x) %31 = (- z y) %33 = (+ (* %29 %31) z) %34 = (-.f64 z y) %36 = (*.f64 #s(literal -1 binary64) (*.f64 x %34)) %39 = (/.f64 #s(literal 1 binary64) x) %44 = (/.f64 z x) %45 = (fma.f64 #s(literal -1 binary64) z %44) %60 = (*.f64 #s(literal -1 binary64) %44) %61 = (+.f64 z %60) %65 = (*.f64 #s(literal -1 binary64) y) %66 = (+.f64 z %65) %80 = (-.f64 #s(literal 1 binary64) x) %81 = (*.f64 z %80) %89 = (/.f64 %81 y) %94 = (/.f64 z y) %120 = (*.f64 z %14) %123 = (/.f64 %6 z) %128 = (/.f64 y z) %138 = (*.f64 #s(literal -1 binary64) %123) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 %6) (approx %9 #s(literal 1 binary64)) (approx %9 %14) (approx %17 z) (approx %17 %21) (approx %23 (+.f64 z %26)) (approx %29 %13) (approx %33 (+.f64 z %36)) (approx %9 (*.f64 x (-.f64 %39 #s(literal 1 binary64)))) (approx %17 %20) (approx %17 (*.f64 x %45)) (approx %23 %26) (approx %23 (*.f64 x (+.f64 y %45))) (approx %33 %36) (approx %33 (*.f64 x (fma.f64 #s(literal -1 binary64) %34 %44))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %39)))) (approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x %61))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x %66))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (fma.f64 #s(literal -1 binary64) y %60))))) (approx %33 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %61 y)))) (approx y y) (approx %23 %81) (approx %23 (fma.f64 x y %81)) (approx %31 %66) (approx %33 (+.f64 z (fma.f64 #s(literal -1 binary64) %19 %6))) (approx %23 (*.f64 y (+.f64 x %89))) (approx %31 %65) (approx %31 (*.f64 y (-.f64 %94 #s(literal 1 binary64)))) (approx %33 (*.f64 y (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 %19 y) %94)))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %89))))) (approx %31 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %94))))) (approx %33 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %21 y)))))) (approx %31 %34) (approx %33 (fma.f64 x y %120)) (approx %23 (*.f64 z (-.f64 (+.f64 #s(literal 1 binary64) %123) x))) (approx %31 (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %128)))) (approx %33 %120) (approx %33 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) x %123)))) (approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %80 %138)))) (approx %31 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %128 #s(literal 1 binary64))))) (approx %33 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 x #s(literal 1 binary64))))) (approx %33 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 x %138) #s(literal 1 binary64))))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 3.0ms | y | inf |
| 2.0ms | x | inf |
| 2.0ms | z | inf |
| 1.0ms | x | -inf |
| 1.0ms | z | -inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 19 | 71 |
| 0 | 30 | 69 |
| 1 | 85 | 69 |
| 2 | 192 | 68 |
| 3 | 523 | 68 |
| 4 | 2028 | 68 |
| 0 | 4321 | 68 |
| 0 | 4483 | 64 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %4 = (-.f64 #s(literal 1 binary64) x) %8 = (* (- 1 x) z) %9 = (approx %8 z) %10 = (*.f64 z %4) %14 = (neg.f64 x) %15 = (*.f64 y x) %16 = (-.f64 z y) x y %2 #s(literal 1 binary64) %4 z %9 %10 (approx (+ (* x y) %8) %10) %14 %15 %16 (fma.f64 %14 %16 z) (fma.f64 z %4 %15) (+.f64 %2 %9) |
| Outputs |
|---|
%2 = (neg.f64 y) %3 = (neg.f64 x) %4 = (*.f64 %2 %3) %5 = (*.f64 %3 %2) %7 = (*.f64 y x) %8 = (*.f64 #s(literal 1 binary64) %7) %9 = (*.f64 x y) %10 = (pow.f64 %7 #s(literal 1 binary64)) %13 = (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64))) %14 = (*.f64 %2 x) %15 = (neg.f64 %14) %17 = (-.f64 #s(literal 1 binary64) x) %18 = (*.f64 #s(literal 2 binary64) %17) %20 = (/.f64 %18 #s(literal 8 binary64)) %23 = (/.f64 %18 #s(literal 4 binary64)) %33 = (/.f64 %18 #s(literal 1/2 binary64)) %36 = (/.f64 %18 #s(literal 1 binary64)) %39 = (-.f64 #s(literal 1/2 binary64) x) %40 = (fma.f64 %39 #s(literal 2 binary64) #s(literal 1 binary64)) %44 = (fma.f64 %3 #s(literal -2 binary64) #s(literal -2 binary64)) %47 = (fma.f64 %3 #s(literal 1 binary64) #s(literal 1 binary64)) %51 = (-.f64 (*.f64 %3 #s(literal -2 binary64)) #s(literal 2 binary64)) %54 = (fma.f64 %18 #s(literal 2 binary64) #s(literal 0 binary64)) %57 = (neg.f64 %18) %60 = (fma.f64 #s(literal 2 binary64) x #s(literal -2 binary64)) %61 = (neg.f64 %60) %86 = (-.f64 x #s(literal 1 binary64)) %89 = (+.f64 x x) %102 = (-.f64 x #s(literal 1/2 binary64)) %208 = (-.f64 #s(literal 0 binary64) %3) %210 = (+.f64 #s(literal 0 binary64) x) %212 = (-.f64 x #s(literal 0 binary64)) %228 = (approx (* z (- 1 x)) z) %233 = (neg.f64 %228) %235 = (*.f64 %17 #s(literal 1/2 binary64)) %236 = (+.f64 z z) %238 = (*.f64 %17 #s(literal 1 binary64)) %240 = (*.f64 %17 %236) %242 = (*.f64 #s(literal 1/2 binary64) z) %243 = (*.f64 %17 %242) %245 = (*.f64 #s(literal 1/2 binary64) %17) %249 = (*.f64 %236 %17) %251 = (*.f64 %242 %17) %253 = (neg.f64 z) %256 = (*.f64 z %17) %281 = (*.f64 %253 x) %282 = (fma.f64 %281 #s(literal 2 binary64) %236) %285 = (*.f64 %3 %236) %288 = (*.f64 %236 %3) %291 = (*.f64 #s(literal -1 binary64) %236) %296 = (*.f64 %236 #s(literal -1 binary64)) %301 = (*.f64 #s(literal -2 binary64) z) %306 = (*.f64 %253 #s(literal 2 binary64)) %311 = (*.f64 #s(literal 2 binary64) %253) %316 = (*.f64 z #s(literal -2 binary64)) %321 = (neg.f64 %236) %326 = (*.f64 x %236) %329 = (*.f64 %236 x) %332 = (*.f64 %253 %60) %335 = (*.f64 z %18) %340 = (*.f64 %60 %253) %345 = (*.f64 %18 z) %350 = (*.f64 %236 %18) %353 = (*.f64 %18 %236) %367 = (*.f64 %86 z) %369 = (*.f64 %17 #s(literal 0 binary64)) %371 = (*.f64 #s(literal 0 binary64) %17) %380 = (*.f64 #s(literal -1 binary64) %253) %382 = (*.f64 %253 #s(literal -1 binary64)) %388 = (*.f64 %3 %242) %392 = (*.f64 %3 #s(literal 1/2 binary64)) %396 = (*.f64 #s(literal 1/2 binary64) %242) %397 = (fma.f64 #s(literal 1/2 binary64) z %281) %399 = (*.f64 z x) %400 = (-.f64 %242 %399) %402 = (*.f64 z %39) %404 = (*.f64 %39 z) %406 = (*.f64 %3 #s(literal 1 binary64)) %419 = (*.f64 #s(literal 1/2 binary64) %3) %430 = (neg.f64 %89) %459 = (*.f64 %242 #s(literal 1/2 binary64)) %467 = (*.f64 %242 %3) %543 = (approx (- z (* (- z y) x)) %256) %564 = (-.f64 z y) %567 = (fma.f64 %2 #s(literal 2 binary64) %236) %575 = (-.f64 y z) %577 = (fma.f64 #s(literal 1/2 binary64) z %2) %579 = (-.f64 %242 y) %609 = (fma.f64 %575 x z) %610 = (*.f64 #s(literal 1 binary64) %609) %611 = (pow.f64 %609 #s(literal 1 binary64)) %612 = (fma.f64 %7 #s(literal 2 binary64) %236) %614 = (/.f64 (+.f64 %612 %285) #s(literal 2 binary64)) %616 = (/.f64 (+.f64 %612 %288) #s(literal 2 binary64)) %618 = (/.f64 (fma.f64 %3 %236 %612) #s(literal 2 binary64)) %620 = (/.f64 (fma.f64 %236 %3 %612) #s(literal 2 binary64)) %621 = (*.f64 %575 x) %622 = (fma.f64 %621 #s(literal 2 binary64) %236) %624 = (/.f64 (+.f64 %622 #s(literal 0 binary64)) #s(literal 2 binary64)) %626 = (/.f64 (-.f64 %612 %326) #s(literal 2 binary64)) %628 = (/.f64 (-.f64 %612 %329) #s(literal 2 binary64)) %630 = (-.f64 (*.f64 %14 #s(literal 2 binary64)) %236) %632 = (/.f64 (-.f64 %285 %630) #s(literal 2 binary64)) %634 = (/.f64 (-.f64 %288 %630) #s(literal 2 binary64)) %636 = (/.f64 (neg.f64 %622) #s(literal -2 binary64)) %637 = (/.f64 %622 #s(literal 2 binary64)) %639 = (/.f64 #s(literal 1 binary64) (pow.f64 %609 #s(literal -1 binary64))) %640 = (*.f64 %564 x) %642 = (neg.f64 (-.f64 %640 z)) %643 = (fma.f64 %235 %236 %7) %644 = (fma.f64 %238 z %7) %645 = (fma.f64 %240 #s(literal 1/2 binary64) %7) %646 = (-.f64 z %14) %647 = (fma.f64 %285 #s(literal 1/2 binary64) %646) %648 = (fma.f64 y x z) %649 = (fma.f64 %285 #s(literal 1/2 binary64) %648) %650 = (fma.f64 %243 #s(literal 2 binary64) %7) %651 = (fma.f64 %388 #s(literal 2 binary64) %646) %652 = (fma.f64 %388 #s(literal 2 binary64) %648) %653 = (fma.f64 %392 %236 %646) %654 = (fma.f64 %392 %236 %648) %655 = (fma.f64 #s(literal 1/2 binary64) z %621) %656 = (fma.f64 %396 #s(literal 2 binary64) %655) %657 = (-.f64 %242 %640) %658 = (fma.f64 %396 #s(literal 2 binary64) %657) %659 = (fma.f64 %406 z %646) %660 = (fma.f64 %406 z %648) %661 = (fma.f64 #s(literal 1/4 binary64) %236 %655) %662 = (fma.f64 #s(literal 1/4 binary64) %236 %657) %663 = (fma.f64 %236 %245 %7) %664 = (fma.f64 %236 %419 %646) %665 = (fma.f64 %236 %419 %648) %666 = (fma.f64 %236 #s(literal 1/4 binary64) %655) %667 = (fma.f64 %236 #s(literal 1/4 binary64) %657) %668 = (fma.f64 %242 %18 %7) %669 = (fma.f64 %242 %430 %646) %670 = (fma.f64 %242 %430 %648) %671 = (fma.f64 %242 #s(literal 1 binary64) %655) %672 = (fma.f64 %242 #s(literal 1 binary64) %657) %673 = (fma.f64 %18 %242 %7) %674 = (fma.f64 %430 %242 %646) %675 = (fma.f64 %430 %242 %648) %676 = (fma.f64 %281 #s(literal 1 binary64) %646) %677 = (fma.f64 %281 #s(literal 1 binary64) %648) %678 = (fma.f64 #s(literal 1/2 binary64) %249 %7) %679 = (fma.f64 #s(literal 1/2 binary64) %288 %646) %680 = (fma.f64 #s(literal 1/2 binary64) %288 %648) %681 = (fma.f64 #s(literal 1/2 binary64) z %655) %682 = (fma.f64 #s(literal 1/2 binary64) z %657) %683 = (fma.f64 #s(literal 2 binary64) %459 %655) %684 = (fma.f64 #s(literal 2 binary64) %459 %657) %685 = (fma.f64 #s(literal 2 binary64) %251 %7) %686 = (fma.f64 #s(literal 2 binary64) %467 %646) %687 = (fma.f64 #s(literal 2 binary64) %467 %648) %688 = (fma.f64 %2 %3 %256) %689 = (fma.f64 %86 %253 %7) %690 = (fma.f64 %253 %86 %7) %691 = (fma.f64 %253 x %646) %692 = (fma.f64 %253 x %648) %693 = (fma.f64 %564 %3 z) %694 = (fma.f64 %3 %2 %256) %695 = (fma.f64 %3 %564 z) %696 = (fma.f64 %3 z %646) %697 = (fma.f64 %3 z %648) %698 = (fma.f64 %256 #s(literal 1 binary64) %7) %699 = (fma.f64 z #s(literal 1/2 binary64) %655) %700 = (fma.f64 z #s(literal 1/2 binary64) %657) %701 = (fma.f64 z %3 %646) %702 = (fma.f64 z %3 %648) %703 = (fma.f64 z %17 %7) %704 = (fma.f64 %17 z %7) %705 = (fma.f64 #s(literal 1 binary64) %648 %281) %706 = (fma.f64 #s(literal 1 binary64) %242 %655) %707 = (fma.f64 #s(literal 1 binary64) %242 %657) %708 = (fma.f64 #s(literal 1 binary64) %281 %646) %709 = (fma.f64 #s(literal 1 binary64) %281 %648) %710 = (fma.f64 #s(literal 1 binary64) %7 %256) %711 = (fma.f64 #s(literal 1 binary64) %621 z) %712 = (fma.f64 #s(literal 1 binary64) %609 #s(literal 0 binary64)) %713 = (fma.f64 #s(literal 1 binary64) %256 %7) %714 = (fma.f64 y x %256) %715 = (fma.f64 x %575 z) %716 = (fma.f64 x %253 %646) %717 = (fma.f64 x %253 %648) %718 = (fma.f64 x y %256) %719 = (-.f64 %646 %399) %720 = (-.f64 %648 %399) %722 = (-.f64 %281 (neg.f64 %648)) %724 = (-.f64 %281 (-.f64 %14 z)) %725 = (-.f64 %7 %367) %726 = (-.f64 %621 %253) %727 = (-.f64 %256 %14) %728 = (-.f64 z %640) %730 = (+.f64 (fma.f64 %575 x %242) %242) %731 = (+.f64 %648 %281) %732 = (+.f64 %242 %655) %733 = (+.f64 %242 %657) %734 = (+.f64 %281 %646) %735 = (+.f64 %281 %648) %736 = (+.f64 %7 %256) %737 = (+.f64 %621 z) %738 = (+.f64 %609 #s(literal 0 binary64)) %739 = (+.f64 %256 %7) %741 = (+.f64 z (+.f64 #s(literal 0 binary64) %621)) %743 = (+.f64 z (-.f64 #s(literal 0 binary64) %640)) %744 = (+.f64 z %621) %745 = (fma.f64 y x %228) x y %4 %5 %8 %7 %9 %10 %13 %15 #s(literal 1 binary64) (*.f64 %20 #s(literal 4 binary64)) (*.f64 %23 #s(literal 2 binary64)) (*.f64 %18 #s(literal 1/2 binary64)) (*.f64 #s(literal 1 binary64) %17) (pow.f64 %17 #s(literal 1 binary64)) (/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %3 #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %33) #s(literal 4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %36) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %40) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %44) #s(literal -2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %47) #s(literal 1 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %51) #s(literal -2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %54) #s(literal 4 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %57) #s(literal -2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %61) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %18) #s(literal 2 binary64)) (/.f64 (+.f64 #s(literal 0 binary64) %60) #s(literal -2 binary64)) (/.f64 (+.f64 %33 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (+.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (+.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (+.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (+.f64 %36 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64)) (/.f64 (+.f64 %61 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %57 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) %86 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 1 binary64) (-.f64 %89 #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %60 #s(literal 1/2 binary64))) #s(literal 4 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (/.f64 %60 #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (fma.f64 x #s(literal -2 binary64) #s(literal 2 binary64))) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %102 #s(literal 2 binary64)) #s(literal 1 binary64))) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %86 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x #s(literal -2 binary64)) #s(literal -2 binary64))) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))) #s(literal 1 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) (-.f64 (*.f64 %60 #s(literal 2 binary64)) #s(literal 0 binary64))) #s(literal 4 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %57) #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %61) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %18) #s(literal -2 binary64)) (/.f64 (-.f64 #s(literal 0 binary64) %60) #s(literal 2 binary64)) (/.f64 (-.f64 %33 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %54 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (-.f64 %44 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 %51 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (-.f64 %36 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %47 #s(literal 0 binary64)) #s(literal 1 binary64)) (/.f64 (-.f64 %61 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %18 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %57 #s(literal 0 binary64)) #s(literal -2 binary64)) (/.f64 (neg.f64 %33) #s(literal -4 binary64)) (/.f64 (neg.f64 %36) #s(literal -2 binary64)) (/.f64 (neg.f64 %40) #s(literal -2 binary64)) (/.f64 (neg.f64 %44) #s(literal 2 binary64)) (/.f64 (neg.f64 %47) #s(literal -1 binary64)) (/.f64 (neg.f64 %51) #s(literal 2 binary64)) (/.f64 (neg.f64 %54) #s(literal -4 binary64)) (/.f64 (neg.f64 %57) #s(literal 2 binary64)) (/.f64 (neg.f64 %61) #s(literal -2 binary64)) (/.f64 %33 #s(literal 4 binary64)) (/.f64 %36 #s(literal 2 binary64)) (/.f64 (-.f64 #s(literal 2 binary64) %89) #s(literal 2 binary64)) (/.f64 %40 #s(literal 2 binary64)) (/.f64 %44 #s(literal -2 binary64)) (/.f64 %47 #s(literal 1 binary64)) (/.f64 %51 #s(literal -2 binary64)) (/.f64 %54 #s(literal 4 binary64)) (/.f64 %57 #s(literal -2 binary64)) (/.f64 %61 #s(literal 2 binary64)) (/.f64 %18 #s(literal 2 binary64)) (/.f64 %60 #s(literal -2 binary64)) (/.f64 %86 #s(literal -1 binary64)) (/.f64 %17 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %18)) (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64))) (neg.f64 %86) (fma.f64 %20 #s(literal 4 binary64) #s(literal 0 binary64)) (fma.f64 %23 #s(literal 2 binary64) #s(literal 0 binary64)) (fma.f64 %18 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %39 #s(literal 1/2 binary64)) (fma.f64 #s(literal 1 binary64) %3 #s(literal 1 binary64)) (fma.f64 #s(literal 1 binary64) %17 #s(literal 0 binary64)) (-.f64 (+.f64 %17 #s(literal 1 binary64)) #s(literal 1 binary64)) (-.f64 %39 #s(literal -1/2 binary64)) (-.f64 #s(literal 1/2 binary64) (-.f64 #s(literal -1/2 binary64) %3)) (-.f64 #s(literal 1/2 binary64) (+.f64 #s(literal -1/2 binary64) x)) (-.f64 #s(literal 1/2 binary64) %102) (-.f64 #s(literal 0 binary64) %86) (-.f64 %3 #s(literal -1 binary64)) (-.f64 %17 #s(literal 0 binary64)) (-.f64 #s(literal 1 binary64) %208) (-.f64 #s(literal 1 binary64) %210) (-.f64 #s(literal 1 binary64) %212) %17 (+.f64 (/.f64 %89 #s(literal -2 binary64)) #s(literal 1 binary64)) (+.f64 %39 #s(literal 1/2 binary64)) (+.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 0 binary64) %39)) (+.f64 #s(literal 1/2 binary64) %39) (+.f64 #s(literal 0 binary64) %17) (+.f64 %3 #s(literal 1 binary64)) (+.f64 %17 #s(literal 0 binary64)) (+.f64 #s(literal 1 binary64) %3) z (*.f64 #s(literal 1 binary64) %228) (pow.f64 %228 #s(literal 1 binary64)) %228 (/.f64 #s(literal 1 binary64) (pow.f64 %228 #s(literal -1 binary64))) (neg.f64 %233) (*.f64 %235 %236) (*.f64 %238 z) (*.f64 %240 #s(literal 1/2 binary64)) (*.f64 %243 #s(literal 2 binary64)) (*.f64 %236 %245) (*.f64 %242 %18) (*.f64 %18 %242) (*.f64 #s(literal 1/2 binary64) %249) (*.f64 #s(literal 2 binary64) %251) (*.f64 %86 %253) (*.f64 %253 %86) (*.f64 %256 #s(literal 1 binary64)) %256 (*.f64 %17 z) (*.f64 #s(literal 1 binary64) %256) (pow.f64 %256 #s(literal 1 binary64)) (/.f64 (fma.f64 %3 %236 %236) #s(literal 2 binary64)) (/.f64 (fma.f64 %236 %3 %236) #s(literal 2 binary64)) (/.f64 (fma.f64 %236 %18 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 %18 %236 #s(literal 0 binary64)) #s(literal 4 binary64)) (/.f64 (fma.f64 %253 %60 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 z %18 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %17 %236 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %60 %253 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %236 %17 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 %18 z #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (+.f64 %282 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) z %285) #s(literal 2 binary64)) (/.f64 (fma.f64 #s(literal 2 binary64) z %288) #s(literal 2 binary64)) (/.f64 (-.f64 %285 %291) #s(literal 2 binary64)) (/.f64 (-.f64 %288 %291) #s(literal 2 binary64)) (/.f64 (-.f64 %285 %296) #s(literal 2 binary64)) (/.f64 (-.f64 %288 %296) #s(literal 2 binary64)) (/.f64 (-.f64 %285 %301) #s(literal 2 binary64)) (/.f64 (-.f64 %288 %301) #s(literal 2 binary64)) (/.f64 (-.f64 %285 %306) #s(literal 2 binary64)) (/.f64 (-.f64 %288 %306) #s(literal 2 binary64)) (/.f64 (-.f64 %285 %311) #s(literal 2 binary64)) (/.f64 (-.f64 %288 %311) #s(literal 2 binary64)) (/.f64 (-.f64 %285 %316) #s(literal 2 binary64)) (/.f64 (-.f64 %288 %316) #s(literal 2 binary64)) (/.f64 (-.f64 %285 %321) #s(literal 2 binary64)) (/.f64 (-.f64 %288 %321) #s(literal 2 binary64)) (/.f64 (-.f64 %236 %326) #s(literal 2 binary64)) (/.f64 (-.f64 %236 %329) #s(literal 2 binary64)) (/.f64 (neg.f64 %332) #s(literal -2 binary64)) (/.f64 (neg.f64 %335) #s(literal -2 binary64)) (/.f64 (neg.f64 %240) #s(literal -2 binary64)) (/.f64 (neg.f64 %340) #s(literal -2 binary64)) (/.f64 (neg.f64 %249) #s(literal -2 binary64)) (/.f64 (neg.f64 %345) #s(literal -2 binary64)) (/.f64 (neg.f64 %282) #s(literal -2 binary64)) (/.f64 (neg.f64 %350) #s(literal -4 binary64)) (/.f64 (neg.f64 %353) #s(literal -4 binary64)) (/.f64 %332 #s(literal 2 binary64)) (/.f64 %335 #s(literal 2 binary64)) (/.f64 %240 #s(literal 2 binary64)) (/.f64 %340 #s(literal 2 binary64)) (/.f64 %249 #s(literal 2 binary64)) (/.f64 %345 #s(literal 2 binary64)) (/.f64 %282 #s(literal 2 binary64)) (/.f64 %350 #s(literal 4 binary64)) (/.f64 %353 #s(literal 4 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %256 #s(literal -1 binary64))) (neg.f64 %367) (fma.f64 %235 %236 %369) (fma.f64 %235 %236 %371) (fma.f64 %235 %236 #s(literal 0 binary64)) (fma.f64 %238 z %369) (fma.f64 %238 z %371) (fma.f64 %238 z #s(literal 0 binary64)) (fma.f64 %240 #s(literal 1/2 binary64) %369) (fma.f64 %240 #s(literal 1/2 binary64) %371) (fma.f64 %240 #s(literal 1/2 binary64) #s(literal 0 binary64)) (fma.f64 %285 #s(literal 1/2 binary64) %380) (fma.f64 %285 #s(literal 1/2 binary64) %382) (fma.f64 %285 #s(literal 1/2 binary64) z) (fma.f64 %243 #s(literal 2 binary64) %369) (fma.f64 %243 #s(literal 2 binary64) %371) (fma.f64 %243 #s(literal 2 binary64) #s(literal 0 binary64)) (fma.f64 %388 #s(literal 2 binary64) %380) (fma.f64 %388 #s(literal 2 binary64) %382) (fma.f64 %388 #s(literal 2 binary64) z) (fma.f64 %392 %236 %380) (fma.f64 %392 %236 %382) (fma.f64 %392 %236 z) (fma.f64 %396 #s(literal 2 binary64) %397) (fma.f64 %396 #s(literal 2 binary64) %400) (fma.f64 %396 #s(literal 2 binary64) %402) (fma.f64 %396 #s(literal 2 binary64) %404) (fma.f64 %406 z %380) (fma.f64 %406 z %382) (fma.f64 %406 z z) (fma.f64 #s(literal 1/4 binary64) %236 %397) (fma.f64 #s(literal 1/4 binary64) %236 %400) (fma.f64 #s(literal 1/4 binary64) %236 %402) (fma.f64 #s(literal 1/4 binary64) %236 %404) (fma.f64 %39 z %242) (fma.f64 %236 %245 %369) (fma.f64 %236 %245 %371) (fma.f64 %236 %245 #s(literal 0 binary64)) (fma.f64 %236 %419 %380) (fma.f64 %236 %419 %382) (fma.f64 %236 %419 z) (fma.f64 %236 #s(literal 1/4 binary64) %397) (fma.f64 %236 #s(literal 1/4 binary64) %400) (fma.f64 %236 #s(literal 1/4 binary64) %402) (fma.f64 %236 #s(literal 1/4 binary64) %404) (fma.f64 %242 %18 %369) (fma.f64 %242 %18 %371) (fma.f64 %242 %18 #s(literal 0 binary64)) (fma.f64 %242 %430 %380) (fma.f64 %242 %430 %382) (fma.f64 %242 %430 z) (fma.f64 %242 %17 %251) (fma.f64 %242 #s(literal 1 binary64) %397) (fma.f64 %242 #s(literal 1 binary64) %400) (fma.f64 %242 #s(literal 1 binary64) %402) (fma.f64 %242 #s(literal 1 binary64) %404) (fma.f64 %18 %242 %369) (fma.f64 %18 %242 %371) (fma.f64 %18 %242 #s(literal 0 binary64)) (fma.f64 %430 %242 %380) (fma.f64 %430 %242 %382) (fma.f64 %430 %242 z) (fma.f64 %281 #s(literal 1 binary64) %380) (fma.f64 %281 #s(literal 1 binary64) %382) (fma.f64 %281 #s(literal 1 binary64) z) (fma.f64 #s(literal -1 binary64) %253 %281) (fma.f64 #s(literal 1/2 binary64) %249 %369) (fma.f64 #s(literal 1/2 binary64) %249 %371) (fma.f64 #s(literal 1/2 binary64) %249 #s(literal 0 binary64)) (fma.f64 #s(literal 1/2 binary64) %288 %380) (fma.f64 #s(literal 1/2 binary64) %288 %382) (fma.f64 #s(literal 1/2 binary64) %288 z) (fma.f64 #s(literal 1/2 binary64) z %397) (fma.f64 #s(literal 1/2 binary64) z %400) (fma.f64 #s(literal 1/2 binary64) z %402) (fma.f64 #s(literal 1/2 binary64) z %404) (fma.f64 #s(literal 2 binary64) %459 %397) (fma.f64 #s(literal 2 binary64) %459 %400) (fma.f64 #s(literal 2 binary64) %459 %402) (fma.f64 #s(literal 2 binary64) %459 %404) (fma.f64 #s(literal 2 binary64) %251 %369) (fma.f64 #s(literal 2 binary64) %251 %371) (fma.f64 #s(literal 2 binary64) %251 #s(literal 0 binary64)) (fma.f64 #s(literal 2 binary64) %467 %380) (fma.f64 #s(literal 2 binary64) %467 %382) (fma.f64 #s(literal 2 binary64) %467 z) (fma.f64 %86 %253 %369) (fma.f64 %86 %253 %371) (fma.f64 %86 %253 #s(literal 0 binary64)) (fma.f64 %253 #s(literal -1 binary64) %281) (fma.f64 %253 %86 %369) (fma.f64 %253 %86 %371) (fma.f64 %253 %86 #s(literal 0 binary64)) (fma.f64 %253 x %380) (fma.f64 %253 x %382) (fma.f64 %253 x z) (fma.f64 %3 z %380) (fma.f64 %3 z %382) (fma.f64 %3 z z) (fma.f64 %256 #s(literal 1 binary64) %369) (fma.f64 %256 #s(literal 1 binary64) %371) (fma.f64 %256 #s(literal 1 binary64) #s(literal 0 binary64)) (fma.f64 z %39 %242) (fma.f64 z #s(literal 1/2 binary64) %397) (fma.f64 z #s(literal 1/2 binary64) %400) (fma.f64 z #s(literal 1/2 binary64) %402) (fma.f64 z #s(literal 1/2 binary64) %404) (fma.f64 z %3 %380) (fma.f64 z %3 %382) (fma.f64 z %3 z) (fma.f64 z %17 %369) (fma.f64 z %17 %371) (fma.f64 z %17 #s(literal 0 binary64)) (fma.f64 %17 %242 %243) (fma.f64 %17 z %369) (fma.f64 %17 z %371) (fma.f64 %17 z #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %242 %397) (fma.f64 #s(literal 1 binary64) %242 %400) (fma.f64 #s(literal 1 binary64) %242 %402) (fma.f64 #s(literal 1 binary64) %242 %404) (fma.f64 #s(literal 1 binary64) %281 %380) (fma.f64 #s(literal 1 binary64) %281 %382) (fma.f64 #s(literal 1 binary64) %281 z) (fma.f64 #s(literal 1 binary64) %256 %369) (fma.f64 #s(literal 1 binary64) %256 %371) (fma.f64 #s(literal 1 binary64) %256 #s(literal 0 binary64)) (fma.f64 x %253 %380) (fma.f64 x %253 %382) (fma.f64 x %253 z) (-.f64 %281 %253) (-.f64 z %399) (+.f64 (fma.f64 %253 x %242) %242) (+.f64 %402 %242) (+.f64 %243 %243) (+.f64 %404 %242) (+.f64 %251 %251) (+.f64 %380 %281) (+.f64 %382 %281) (+.f64 %242 %397) (+.f64 %242 %400) (+.f64 %242 %402) (+.f64 %242 %404) (+.f64 %281 %380) (+.f64 %281 %382) (+.f64 %281 z) (+.f64 %256 %369) (+.f64 %256 %371) (+.f64 %256 #s(literal 0 binary64)) (+.f64 z (+.f64 #s(literal 0 binary64) %281)) (+.f64 z (-.f64 #s(literal 0 binary64) %399)) (+.f64 z %281) (*.f64 #s(literal 1 binary64) %543) (pow.f64 %543 #s(literal 1 binary64)) %543 (/.f64 #s(literal 1 binary64) (pow.f64 %543 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %3) (pow.f64 %3 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64))) (neg.f64 %210) (neg.f64 %212) %3 (fma.f64 #s(literal 1 binary64) %3 #s(literal 0 binary64)) (-.f64 #s(literal 0 binary64) %208) (-.f64 #s(literal 0 binary64) %210) (-.f64 #s(literal 0 binary64) x) (-.f64 #s(literal 1 binary64) (-.f64 #s(literal 1 binary64) %3)) (-.f64 #s(literal 1 binary64) (+.f64 #s(literal 1 binary64) x)) (+.f64 #s(literal 0 binary64) %3) (+.f64 %3 #s(literal 0 binary64)) %4 %5 %8 %7 %9 %10 %13 %15 (*.f64 #s(literal 1 binary64) %564) (pow.f64 %564 #s(literal 1 binary64)) (/.f64 (+.f64 %567 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (neg.f64 %567) #s(literal -2 binary64)) (/.f64 %567 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %564 #s(literal -1 binary64))) (neg.f64 %575) (fma.f64 %396 #s(literal 2 binary64) %577) (fma.f64 %396 #s(literal 2 binary64) %579) (fma.f64 #s(literal 1/4 binary64) %236 %577) (fma.f64 #s(literal 1/4 binary64) %236 %579) (fma.f64 %236 #s(literal 1/4 binary64) %577) (fma.f64 %236 #s(literal 1/4 binary64) %579) (fma.f64 %242 #s(literal 1 binary64) %577) (fma.f64 %242 #s(literal 1 binary64) %579) (fma.f64 #s(literal 1/2 binary64) z %577) (fma.f64 #s(literal 1/2 binary64) z %579) (fma.f64 #s(literal 2 binary64) %459 %577) (fma.f64 #s(literal 2 binary64) %459 %579) (fma.f64 z #s(literal 1/2 binary64) %577) (fma.f64 z #s(literal 1/2 binary64) %579) (fma.f64 #s(literal 1 binary64) %242 %577) (fma.f64 #s(literal 1 binary64) %242 %579) (fma.f64 #s(literal 1 binary64) %2 z) (fma.f64 #s(literal 1 binary64) %564 #s(literal 0 binary64)) (-.f64 %2 %253) %564 (+.f64 (+.f64 %2 %242) %242) (+.f64 %242 %577) (+.f64 %242 %579) (+.f64 %2 z) (+.f64 %564 #s(literal 0 binary64)) (+.f64 z (+.f64 #s(literal 0 binary64) %2)) (+.f64 z (-.f64 #s(literal 0 binary64) y)) (+.f64 z %2) %610 %611 %614 %616 %618 %620 %624 %626 %628 %632 %634 %636 %637 %639 %642 %643 %644 %645 %647 %649 %650 %651 %652 %653 %654 %656 %658 %659 %660 %661 %662 %663 %664 %665 %666 %667 %668 %669 %670 %671 %672 %673 %674 %675 %676 %677 %678 %679 %680 %681 %682 %683 %684 %685 %686 %687 %688 %609 %689 %690 %691 %692 %693 %694 %695 %696 %697 %698 %699 %700 %701 %702 %703 %704 %705 %706 %707 %708 %709 %710 %711 %712 %713 %714 %715 %716 %717 %718 %719 %720 %722 %724 %725 %726 %727 %728 %730 %731 %732 %733 %734 %735 %736 %737 %738 %739 %741 %743 %744 %610 %611 %614 %616 %618 %620 %624 %626 %628 %632 %634 %636 %637 %639 %642 %643 %644 %645 %647 %649 %650 %651 %652 %653 %654 %656 %658 %659 %660 %661 %662 %663 %664 %665 %666 %667 %668 %669 %670 %671 %672 %673 %674 %675 %676 %677 %678 %679 %680 %681 %682 %683 %684 %685 %686 %687 %688 %609 %689 %690 %691 %692 %693 %694 %695 %696 %697 %698 %699 %700 %701 %702 %703 %704 %705 %706 %707 %708 %709 %710 %711 %712 %713 %714 %715 %716 %717 %718 %719 %720 %722 %724 %725 %726 %727 %728 %730 %731 %732 %733 %734 %735 %736 %737 %738 %739 %741 %743 %744 (*.f64 #s(literal 1 binary64) %745) (pow.f64 %745 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %745 #s(literal -1 binary64))) (neg.f64 (neg.f64 %745)) (fma.f64 %2 %3 %228) (fma.f64 %3 %2 %228) (fma.f64 #s(literal 1 binary64) %7 %228) (fma.f64 #s(literal 1 binary64) %228 %7) %745 (fma.f64 x y %228) (-.f64 %7 %233) (-.f64 %228 %14) (+.f64 %7 %228) (+.f64 %228 %7) |
Compiled 671 to 844 computations (-25.8% saved)
Compiled 69 to 163 computations (-136.2% saved)
5 alts after pruning (3 fresh and 2 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 66 | 3 | 69 |
| Fresh | 0 | 0 | 0 |
| Picked | 2 | 2 | 4 |
| Done | 0 | 0 | 0 |
| Total | 68 | 5 | 73 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.8% | (fma.f64 z (-.f64 #s(literal 1 binary64) x) (*.f64 y x)) |
| ▶ | 100.0% | (fma.f64 x (-.f64 y z) z) |
| ▶ | 77.2% | (fma.f64 x y (approx (* z (- 1 x)) z)) |
| ✓ | 56.2% | (approx (+ (* x y) (* (- 1 x) z)) (*.f64 z (-.f64 #s(literal 1 binary64) x))) |
| ▶ | 33.1% | %4 = (- 1 x) (approx (+ (* x y) (* %4 z)) (*.f64 z (approx %4 #s(literal 1 binary64)))) |
Compiled 5 to 12 computations (-140.0% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 151 | 628 |
| 1× | iter-limit |
| Inputs |
|---|
%5 = (- 1 x) %6 = (approx %5 #s(literal 1 binary64)) %8 = (approx (* z %5) z) %9 = (-.f64 y z) %12 = (*.f64 z %6) x y #s(literal 1 binary64) z %6 %8 %9 (fma.f64 x %9 z) (fma.f64 x y %8) %12 (approx (+ (* x y) (* %5 z)) %12) |
| Outputs |
|---|
%5 = (- 1 x) %9 = (*.f64 #s(literal -1 binary64) x) %10 = (+.f64 #s(literal 1 binary64) %9) %13 = (* z %5) %15 = (*.f64 x z) %16 = (*.f64 #s(literal -1 binary64) %15) %17 = (+.f64 z %16) %20 = (- y z) %22 = (+ (* x %20) z) %23 = (-.f64 y z) %24 = (*.f64 x %23) %28 = (+ (* x y) %13) %29 = (*.f64 #s(literal -1 binary64) z) %30 = (+.f64 y %29) %31 = (*.f64 x %30) %35 = (/.f64 #s(literal 1 binary64) x) %40 = (/.f64 z x) %41 = (fma.f64 #s(literal -1 binary64) z %40) %57 = (*.f64 #s(literal -1 binary64) %40) %79 = (*.f64 x y) %83 = (-.f64 #s(literal 1 binary64) x) %84 = (*.f64 z %83) %88 = (/.f64 z y) %99 = (/.f64 %84 y) %119 = (*.f64 z %10) %122 = (/.f64 y z) %127 = (/.f64 %79 z) %145 = (*.f64 #s(literal -1 binary64) %127) (approx x #s(literal 0 binary64)) (approx x x) (approx %5 #s(literal 1 binary64)) (approx %5 %10) (approx %13 z) (approx %13 %17) (approx %22 (+.f64 z %24)) (approx %28 (+.f64 z %31)) (approx %5 %9) (approx %5 (*.f64 x (-.f64 %35 #s(literal 1 binary64)))) (approx %13 %16) (approx %13 (*.f64 x %41)) (approx %22 %24) (approx %22 (*.f64 x (-.f64 (+.f64 y %40) z))) (approx %28 %31) (approx %28 (*.f64 x (+.f64 y %41))) (approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 #s(literal 1 binary64) %35)))) (approx %13 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z %57)))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %23 %57)))) (approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (*.f64 #s(literal -1 binary64) y))))) (approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 z (fma.f64 #s(literal -1 binary64) y %57))))) (approx y y) (approx %20 %29) (approx %20 %23) (approx %22 (+.f64 z (fma.f64 #s(literal -1 binary64) %15 %79))) (approx %28 %84) (approx %28 (fma.f64 x y %84)) (approx %20 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %88)))) (approx %22 %79) (approx %22 (*.f64 y (+.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 %15 y) %88)))) (approx %28 (*.f64 y (+.f64 x %99))) (approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %88 #s(literal 1 binary64))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %17 y)))))) (approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %99))))) (approx %20 %30) (approx %22 (fma.f64 x y %119)) (approx %20 (*.f64 z (-.f64 %122 #s(literal 1 binary64)))) (approx %22 %119) (approx %22 (*.f64 z (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) x %127)))) (approx %28 (*.f64 z (-.f64 (+.f64 #s(literal 1 binary64) %127) x))) (approx %20 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %122))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 x #s(literal 1 binary64))))) (approx %22 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (+.f64 x %145) #s(literal 1 binary64))))) (approx %28 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %83 %145)))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 4.0ms | x | inf |
| 1.0ms | z | inf |
| 1.0ms | x | -inf |
| 1.0ms | y | inf |
| 1.0ms | z | -inf |
Useful iterations: 2 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 16 | 59 |
| 0 | 21 | 59 |
| 1 | 67 | 59 |
| 2 | 154 | 56 |
| 3 | 457 | 56 |
| 4 | 2075 | 56 |
| 0 | 4377 | 56 |
| 0 | 4545 | 56 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%5 = (- 1 x) %6 = (approx %5 #s(literal 1 binary64)) %8 = (approx (* z %5) z) %9 = (-.f64 y z) %12 = (*.f64 z %6) x y #s(literal 1 binary64) z %6 %8 %9 (fma.f64 x %9 z) (fma.f64 x y %8) %12 (approx (+ (* x y) (* %5 z)) %12) |
| Outputs |
|---|
%5 = (- 1 x) %6 = (approx %5 #s(literal 1 binary64)) %13 = (approx (* %5 z) z) %18 = (neg.f64 %13) %20 = (-.f64 y z) %25 = (+.f64 z z) %26 = (-.f64 (*.f64 y #s(literal 2 binary64)) %25) %36 = (-.f64 z y) %44 = (*.f64 #s(literal 1/2 binary64) z) %47 = (neg.f64 z) %54 = (neg.f64 %44) %56 = (neg.f64 %25) %82 = (neg.f64 y) %87 = (fma.f64 %20 x z) %90 = (*.f64 y x) %91 = (fma.f64 %90 #s(literal 2 binary64) %25) %92 = (neg.f64 x) %93 = (*.f64 %92 %25) %96 = (*.f64 %25 %92) %103 = (*.f64 %20 x) %104 = (fma.f64 %103 #s(literal 2 binary64) %25) %118 = (*.f64 %36 x) %121 = (-.f64 #s(literal 1 binary64) x) %128 = (fma.f64 y x z) %136 = (*.f64 #s(literal 1/2 binary64) %44) %137 = (fma.f64 #s(literal 1/2 binary64) z %103) %139 = (-.f64 %44 %118) %152 = (*.f64 #s(literal 2 binary64) %121) %155 = (neg.f64 (+.f64 x x)) %161 = (*.f64 %92 z) %163 = (*.f64 %121 z) %172 = (*.f64 %44 #s(literal 1/2 binary64)) %180 = (-.f64 x #s(literal 1 binary64)) %208 = (*.f64 %92 y) %228 = (fma.f64 y x %13) %244 = (*.f64 %6 #s(literal 1/2 binary64)) %246 = (*.f64 %6 #s(literal 2 binary64)) %248 = (*.f64 %6 #s(literal 1 binary64)) %250 = (*.f64 %6 %25) %252 = (*.f64 %6 %44) %254 = (*.f64 #s(literal 1/2 binary64) %6) %256 = (*.f64 #s(literal 2 binary64) %6) %258 = (*.f64 %25 %6) %260 = (*.f64 %44 %6) %262 = (*.f64 %6 z) %279 = (*.f64 %6 #s(literal 0 binary64)) %281 = (*.f64 #s(literal 0 binary64) %6) %316 = (approx (- z (* (- z y) x)) %262) x y #s(literal 1 binary64) z (*.f64 #s(literal 1 binary64) %6) (pow.f64 %6 #s(literal 1 binary64)) %6 (/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %13) (pow.f64 %13 #s(literal 1 binary64)) %13 (/.f64 #s(literal 1 binary64) (pow.f64 %13 #s(literal -1 binary64))) (neg.f64 %18) (*.f64 #s(literal 1 binary64) %20) (pow.f64 %20 #s(literal 1 binary64)) (/.f64 (-.f64 %26 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (neg.f64 %26) #s(literal -2 binary64)) (/.f64 %26 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -1 binary64))) (neg.f64 %36) (fma.f64 (*.f64 #s(literal -1 binary64) %25) #s(literal 1/2 binary64) y) (fma.f64 (*.f64 z #s(literal -1/2 binary64)) #s(literal 2 binary64) y) (fma.f64 (*.f64 #s(literal -1 binary64) %44) #s(literal 2 binary64) y) (fma.f64 (*.f64 %47 #s(literal 2 binary64)) #s(literal 1/2 binary64) y) (fma.f64 (*.f64 z #s(literal -2 binary64)) #s(literal 1/2 binary64) y) (fma.f64 (*.f64 %47 #s(literal 1/2 binary64)) #s(literal 2 binary64) y) (fma.f64 %54 #s(literal 2 binary64) y) (fma.f64 %56 #s(literal 1/2 binary64) y) (fma.f64 %25 #s(literal -1/2 binary64) y) (fma.f64 %44 #s(literal -2 binary64) y) (fma.f64 #s(literal -1/2 binary64) %25 y) (fma.f64 #s(literal -2 binary64) %44 y) (fma.f64 #s(literal -1 binary64) z y) (fma.f64 #s(literal 1/2 binary64) (*.f64 %25 #s(literal -1 binary64)) y) (fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -2 binary64) z) y) (fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 2 binary64) %47) y) (fma.f64 #s(literal 1/2 binary64) %56 y) (fma.f64 #s(literal 2 binary64) (*.f64 %44 #s(literal -1 binary64)) y) (fma.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) %47) y) (fma.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) z) y) (fma.f64 #s(literal 2 binary64) %54 y) (fma.f64 %47 #s(literal 1 binary64) y) (fma.f64 z #s(literal -1 binary64) y) (fma.f64 #s(literal 1 binary64) %47 y) (-.f64 (-.f64 y %44) %44) (-.f64 %47 %82) (-.f64 %20 #s(literal 0 binary64)) %20 (+.f64 %47 y) (+.f64 y %47) (*.f64 #s(literal 1 binary64) %87) (pow.f64 %87 #s(literal 1 binary64)) (/.f64 (+.f64 %91 %93) #s(literal 2 binary64)) (/.f64 (+.f64 %91 %96) #s(literal 2 binary64)) (/.f64 (fma.f64 %92 %25 %91) #s(literal 2 binary64)) (/.f64 (fma.f64 %25 %92 %91) #s(literal 2 binary64)) (/.f64 (+.f64 %104 #s(literal 0 binary64)) #s(literal 2 binary64)) (/.f64 (-.f64 %91 (*.f64 x %25)) #s(literal 2 binary64)) (/.f64 (-.f64 %91 (*.f64 %25 x)) #s(literal 2 binary64)) (/.f64 (neg.f64 %104) #s(literal -2 binary64)) (/.f64 %104 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %87 #s(literal -1 binary64))) (neg.f64 (-.f64 %118 z)) (fma.f64 (*.f64 %121 #s(literal 1/2 binary64)) %25 %90) (fma.f64 (*.f64 %121 #s(literal 1 binary64)) z %90) (fma.f64 (*.f64 %121 %25) #s(literal 1/2 binary64) %90) (fma.f64 %93 #s(literal 1/2 binary64) %128) (fma.f64 (*.f64 %92 #s(literal 1/2 binary64)) %25 %128) (fma.f64 (*.f64 %121 %44) #s(literal 2 binary64) %90) (fma.f64 (*.f64 %92 %44) #s(literal 2 binary64) %128) (fma.f64 %136 #s(literal 2 binary64) %137) (fma.f64 %136 #s(literal 2 binary64) %139) (fma.f64 (*.f64 %92 #s(literal 1 binary64)) z %128) (fma.f64 #s(literal 1/4 binary64) %25 %137) (fma.f64 #s(literal 1/4 binary64) %25 %139) (fma.f64 %25 (*.f64 #s(literal 1/2 binary64) %121) %90) (fma.f64 %25 (*.f64 #s(literal 1/2 binary64) %92) %128) (fma.f64 %25 #s(literal 1/4 binary64) %137) (fma.f64 %25 #s(literal 1/4 binary64) %139) (fma.f64 %44 %152 %90) (fma.f64 %44 %155 %128) (fma.f64 %44 #s(literal 1 binary64) %137) (fma.f64 %44 #s(literal 1 binary64) %139) (fma.f64 %152 %44 %90) (fma.f64 %155 %44 %128) (fma.f64 %161 #s(literal 1 binary64) %128) (fma.f64 %82 %92 %163) (fma.f64 #s(literal 1/2 binary64) (*.f64 %25 %121) %90) (fma.f64 #s(literal 1/2 binary64) %96 %128) (fma.f64 #s(literal 1/2 binary64) z %137) (fma.f64 #s(literal 1/2 binary64) z %139) (fma.f64 #s(literal 2 binary64) (*.f64 %44 %121) %90) (fma.f64 #s(literal 2 binary64) %172 %137) (fma.f64 #s(literal 2 binary64) %172 %139) (fma.f64 #s(literal 2 binary64) (*.f64 %44 %92) %128) (fma.f64 %92 %82 %163) (fma.f64 %92 %36 z) (fma.f64 %92 z %128) (fma.f64 %180 %47 %90) (fma.f64 %36 %92 z) (fma.f64 %47 %180 %90) (fma.f64 %47 x %128) (fma.f64 %163 #s(literal 1 binary64) %90) %87 (fma.f64 %121 z %90) (fma.f64 z #s(literal 1/2 binary64) %137) (fma.f64 z #s(literal 1/2 binary64) %139) (fma.f64 z %92 %128) (fma.f64 z %121 %90) (fma.f64 #s(literal 1 binary64) %128 %161) (fma.f64 #s(literal 1 binary64) %44 %137) (fma.f64 #s(literal 1 binary64) %44 %139) (fma.f64 #s(literal 1 binary64) %161 %128) (fma.f64 #s(literal 1 binary64) %103 z) (fma.f64 #s(literal 1 binary64) %87 #s(literal 0 binary64)) (fma.f64 #s(literal 1 binary64) %163 %90) (fma.f64 #s(literal 1 binary64) %90 %163) (fma.f64 y x %163) (fma.f64 x %47 %128) (fma.f64 x %20 z) (fma.f64 x y %163) (-.f64 %128 (*.f64 z x)) (-.f64 %161 (neg.f64 %128)) (-.f64 %103 %47) (-.f64 %163 %208) (-.f64 %90 (*.f64 %180 z)) (-.f64 z %118) (+.f64 (fma.f64 %20 x %44) %44) (+.f64 %128 %161) (+.f64 %44 %137) (+.f64 %44 %139) (+.f64 %161 %128) (+.f64 %103 z) (+.f64 %87 #s(literal 0 binary64)) (+.f64 %163 %90) (+.f64 %90 %163) (+.f64 z (+.f64 #s(literal 0 binary64) %103)) (+.f64 z (-.f64 #s(literal 0 binary64) %118)) (+.f64 z %103) (*.f64 #s(literal 1 binary64) %228) (pow.f64 %228 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %228 #s(literal -1 binary64))) (neg.f64 (neg.f64 %228)) (fma.f64 %82 %92 %13) (fma.f64 %92 %82 %13) (fma.f64 #s(literal 1 binary64) %90 %13) (fma.f64 #s(literal 1 binary64) %13 %90) %228 (fma.f64 x y %13) (-.f64 %90 %18) (-.f64 %13 %208) (+.f64 %90 %13) (+.f64 %13 %90) (*.f64 %244 %25) (*.f64 %246 %44) (*.f64 %248 z) (*.f64 %250 #s(literal 1/2 binary64)) (*.f64 %252 #s(literal 2 binary64)) (*.f64 %25 %254) (*.f64 %44 %256) (*.f64 #s(literal 1/2 binary64) %258) (*.f64 #s(literal 2 binary64) %260) (*.f64 %262 #s(literal 1 binary64)) %262 (*.f64 z %6) (*.f64 #s(literal 1 binary64) %262) (pow.f64 %262 #s(literal 1 binary64)) (/.f64 (neg.f64 %250) #s(literal -2 binary64)) (/.f64 (neg.f64 %258) #s(literal -2 binary64)) (/.f64 %250 #s(literal 2 binary64)) (/.f64 %258 #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %262 #s(literal -1 binary64))) (neg.f64 (*.f64 %47 %6)) (neg.f64 (*.f64 %6 %47)) (fma.f64 %244 %25 %279) (fma.f64 %244 %25 %281) (fma.f64 %246 %44 %279) (fma.f64 %246 %44 %281) (fma.f64 %248 z %279) (fma.f64 %248 z %281) (fma.f64 %250 #s(literal 1/2 binary64) %279) (fma.f64 %250 #s(literal 1/2 binary64) %281) (fma.f64 %252 #s(literal 2 binary64) %279) (fma.f64 %252 #s(literal 2 binary64) %281) (fma.f64 %25 %254 %279) (fma.f64 %25 %254 %281) (fma.f64 %44 %256 %279) (fma.f64 %44 %256 %281) (fma.f64 %44 %6 %260) (fma.f64 #s(literal 1/2 binary64) %258 %279) (fma.f64 #s(literal 1/2 binary64) %258 %281) (fma.f64 #s(literal 2 binary64) %260 %279) (fma.f64 #s(literal 2 binary64) %260 %281) (fma.f64 %262 #s(literal 1 binary64) %279) (fma.f64 %262 #s(literal 1 binary64) %281) (fma.f64 %6 %44 %252) (fma.f64 %6 z %279) (fma.f64 %6 z %281) (fma.f64 z %6 %279) (fma.f64 z %6 %281) (fma.f64 #s(literal 1 binary64) %262 %279) (fma.f64 #s(literal 1 binary64) %262 %281) (+.f64 %252 %252) (+.f64 %260 %260) (+.f64 %262 %279) (+.f64 %262 %281) (*.f64 #s(literal 1 binary64) %316) (pow.f64 %316 #s(literal 1 binary64)) %316 (/.f64 #s(literal 1 binary64) (pow.f64 %316 #s(literal -1 binary64))) |
Compiled 253 to 406 computations (-60.5% saved)
Compiled 48 to 118 computations (-145.8% saved)
6 alts after pruning (2 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 46 | 2 | 48 |
| Fresh | 0 | 0 | 0 |
| Picked | 1 | 2 | 3 |
| Done | 0 | 2 | 2 |
| Total | 47 | 6 | 53 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 98.8% | (fma.f64 z (-.f64 #s(literal 1 binary64) x) (*.f64 y x)) |
| ✓ | 77.2% | (fma.f64 x y (approx (* z (- 1 x)) z)) |
| ▶ | 67.7% | (approx (+ (* x (- y z)) z) (*.f64 x (-.f64 y z))) |
| ▶ | 46.3% | (approx (+ (* x (- y z)) z) (*.f64 x y)) |
| ✓ | 56.2% | (approx (+ (* x y) (* (- 1 x) z)) (*.f64 z (-.f64 #s(literal 1 binary64) x))) |
| ✓ | 33.1% | %4 = (- 1 x) (approx (+ (* x y) (* %4 z)) (*.f64 z (approx %4 #s(literal 1 binary64)))) |
Compiled 6 to 13 computations (-116.7% saved)
| Inputs |
|---|
| Outputs |
|---|
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 106 | 419 |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %4 = (-.f64 y z) %5 = (*.f64 x %4) %8 = (+ (* x (- y z)) z) x y %2 z %4 %5 (approx %8 %5) (approx %8 %2) |
| Outputs |
|---|
%6 = (*.f64 x y) %9 = (- y z) %10 = (* x %9) %11 = (-.f64 y z) %12 = (*.f64 x %11) %14 = (+ %10 z) %18 = (/.f64 z x) %30 = (*.f64 #s(literal -1 binary64) z) %33 = (*.f64 x z) %34 = (*.f64 #s(literal -1 binary64) %33) %36 = (fma.f64 #s(literal -1 binary64) %33 %6) %38 = (+.f64 z %34) %43 = (/.f64 z y) %48 = (/.f64 %33 y) %75 = (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x))) %78 = (/.f64 y z) %82 = (/.f64 %6 z) %83 = (fma.f64 #s(literal -1 binary64) x %82) %96 = (+.f64 x (*.f64 #s(literal -1 binary64) %82)) (approx x #s(literal 0 binary64)) (approx x x) (approx (* x y) %6) (approx %10 %12) (approx %14 z) (approx %14 (+.f64 z %12)) (approx %14 (*.f64 x (-.f64 (+.f64 y %18) z))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %11 (*.f64 #s(literal -1 binary64) %18))))) (approx y y) (approx %9 %30) (approx %9 %11) (approx %10 %34) (approx %10 %36) (approx %14 %38) (approx %14 (+.f64 z %36)) (approx %9 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %43)))) (approx %10 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %48)))) (approx %14 (*.f64 y (+.f64 x (fma.f64 #s(literal -1 binary64) %48 %43)))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %43 #s(literal 1 binary64))))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %48)))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %38 y)))))) (approx %9 (+.f64 y %30)) (approx %14 (fma.f64 x y %75)) (approx %9 (*.f64 z (-.f64 %78 #s(literal 1 binary64)))) (approx %10 (*.f64 z %83)) (approx %14 %75) (approx %14 (*.f64 z (+.f64 #s(literal 1 binary64) %83))) (approx %9 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %78))))) (approx %10 (*.f64 #s(literal -1 binary64) (*.f64 z %96))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 x #s(literal 1 binary64))))) (approx %14 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 %96 #s(literal 1 binary64))))) |
9 calls:
| Time | Variable | Point |
|---|---|---|
| 2.0ms | x | inf |
| 1.0ms | y | inf |
| 1.0ms | y | -inf |
| 1.0ms | z | -inf |
| 1.0ms | z | inf |
Useful iterations: 0 (0.0ms)
| Iter | Nodes | Cost |
|---|---|---|
| 0 | 11 | 38 |
| 0 | 14 | 38 |
| 1 | 32 | 38 |
| 2 | 64 | 38 |
| 3 | 169 | 38 |
| 4 | 402 | 38 |
| 5 | 846 | 38 |
| 0 | 4060 | 38 |
| 0 | 4298 | 36 |
| 1× | iter-limit |
| 1× | iter-limit |
| 1× | node-limit |
| 1× | iter-limit |
| Inputs |
|---|
%2 = (*.f64 x y) %4 = (-.f64 y z) %5 = (*.f64 x %4) %8 = (+ (* x (- y z)) z) x y %2 z %4 %5 (approx %8 %5) (approx %8 %2) |
| Outputs |
|---|
%3 = (neg.f64 x) %4 = (*.f64 %3 y) %6 = (neg.f64 y) %10 = (*.f64 y x) %18 = (-.f64 z y) %20 = (-.f64 y z) %27 = (neg.f64 z) %28 = (*.f64 y #s(literal 1 binary64)) %31 = (*.f64 %27 #s(literal 1 binary64)) %38 = (*.f64 %18 x) %42 = (*.f64 %20 x) %49 = (*.f64 %3 z) %51 = (*.f64 z x) %53 = (*.f64 %10 #s(literal 1 binary64)) %62 = (*.f64 %49 #s(literal 1 binary64)) %75 = (+ (* (- y z) x) z) %76 = (approx %75 %42) %81 = (approx %75 %10) x y (*.f64 #s(literal -1 binary64) %4) (*.f64 %3 %6) (*.f64 %6 %3) (*.f64 #s(literal 1 binary64) %10) %10 (*.f64 x y) (pow.f64 %10 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64))) (neg.f64 %4) z (*.f64 #s(literal -1 binary64) %18) (*.f64 #s(literal 1 binary64) %20) (pow.f64 %20 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -1 binary64))) (neg.f64 %18) (fma.f64 #s(literal -1 binary64) z y) (fma.f64 %27 #s(literal 1 binary64) %28) (fma.f64 #s(literal 1 binary64) %27 y) (fma.f64 y #s(literal 1 binary64) %31) (-.f64 %27 %6) %20 (+.f64 %31 %28) (+.f64 %28 %31) (+.f64 %27 y) (+.f64 y %27) (*.f64 #s(literal -1 binary64) %38) (*.f64 %3 %18) (*.f64 %18 %3) (*.f64 #s(literal 1 binary64) %42) %42 (*.f64 x %20) (pow.f64 %42 #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 %42 #s(literal -1 binary64))) (neg.f64 %38) (fma.f64 #s(literal -1 binary64) %4 %49) (fma.f64 #s(literal -1 binary64) %51 %10) (fma.f64 %49 #s(literal 1 binary64) %53) (fma.f64 %3 %6 %49) (fma.f64 %3 z %10) (fma.f64 %6 %3 %49) (fma.f64 %27 x %10) (fma.f64 #s(literal 1 binary64) %49 %10) (fma.f64 #s(literal 1 binary64) %10 %49) (fma.f64 z %3 %10) (fma.f64 %10 #s(literal 1 binary64) %62) (fma.f64 y x %49) (fma.f64 x %27 %10) (fma.f64 x y %49) (-.f64 %49 %4) (-.f64 %10 %51) (+.f64 %62 %53) (+.f64 %53 %62) (+.f64 %49 %10) (+.f64 %10 %49) (*.f64 #s(literal 1 binary64) %76) (pow.f64 %76 #s(literal 1 binary64)) %76 (/.f64 #s(literal 1 binary64) (pow.f64 %76 #s(literal -1 binary64))) (*.f64 #s(literal 1 binary64) %81) (pow.f64 %81 #s(literal 1 binary64)) %81 (/.f64 #s(literal 1 binary64) (pow.f64 %81 #s(literal -1 binary64))) |
Compiled 95 to 146 computations (-53.7% saved)
Compiled 33 to 77 computations (-133.3% saved)
8 alts after pruning (4 fresh and 4 done)
| Pruned | Kept | Total | |
|---|---|---|---|
| New | 29 | 4 | 33 |
| Fresh | 0 | 0 | 0 |
| Picked | 0 | 2 | 2 |
| Done | 2 | 2 | 4 |
| Total | 31 | 8 | 39 |
| Status | Accuracy | Program |
|---|---|---|
| ✓ | 77.2% | (fma.f64 x y (approx (* z (- 1 x)) z)) |
| 66.5% | (approx (+ (* x (- y z)) z) (fma.f64 x (neg.f64 z) (*.f64 y x))) | |
| 64.2% | (approx (+ (* x (- y z)) z) (-.f64 (*.f64 y x) (*.f64 z x))) | |
| 2.6% | (approx (+ (* x (- y z)) z) (*.f64 (approx x #s(literal 0 binary64)) y)) | |
| ✓ | 67.7% | (approx (+ (* x (- y z)) z) (*.f64 x (-.f64 y z))) |
| ✓ | 46.3% | (approx (+ (* x (- y z)) z) (*.f64 x y)) |
| 33.1% | (approx (+ (* x (- y z)) z) z) | |
| ✓ | 56.2% | (approx (+ (* x y) (* (- 1 x) z)) (*.f64 z (-.f64 #s(literal 1 binary64) x))) |
Compiled 8 to 17 computations (-112.5% saved)
Total 15.2b remaining (17.2%)
Threshold costs 0.2b (0.2%)
| 7.6b | 60.7% |
| 6.3b | 53.4% |
| 1.1b | 92.2% |
| 0.2b | 0.0% |
| 0.0b | 0.0% |
| Inputs |
|---|
(approx (+ (* x (- y z)) z) z) |
| Outputs |
|---|
(approx (+ (* x (- y z)) z) z) |
| Inputs |
|---|
%5 = (+ (* x (- y z)) z) %9 = (- 1 x) (approx %5 z) (approx (+ (* x y) (* %9 z)) (*.f64 z (approx %9 #s(literal 1 binary64)))) (approx %5 (*.f64 x y)) |
| Outputs |
|---|
%5 = (+ (* x (- y z)) z) %7 = (approx %5 (*.f64 x y)) %7 (approx %5 z) %7 |
| Inputs |
|---|
%5 = (+ (* x (- y z)) z) %9 = (- 1 x) (approx %5 z) (approx (+ (* x y) (* %9 z)) (*.f64 z (approx %9 #s(literal 1 binary64)))) (approx %5 (*.f64 x y)) (approx %5 (*.f64 (approx x #s(literal 0 binary64)) y)) (fma.f64 x y (approx (* z %9) z)) |
| Outputs |
|---|
(fma.f64 x y (approx (* z (- 1 x)) z)) |
| Inputs |
|---|
%5 = (+ (* x (- y z)) z) %9 = (- 1 x) %11 = (+ (* x y) (* %9 z)) (approx %5 z) (approx %11 (*.f64 z (approx %9 #s(literal 1 binary64)))) (approx %5 (*.f64 x y)) (approx %5 (*.f64 (approx x #s(literal 0 binary64)) y)) (fma.f64 x y (approx (* z %9) z)) (approx %11 (*.f64 z (-.f64 #s(literal 1 binary64) x))) |
| Outputs |
|---|
%4 = (- 1 x) %7 = (fma.f64 x y (approx (* z %4) z)) %7 (approx (+ (* x y) (* %4 z)) (*.f64 z (-.f64 #s(literal 1 binary64) x))) %7 |
| Inputs |
|---|
%5 = (+ (* x (- y z)) z) %9 = (- 1 x) %11 = (+ (* x y) (* %9 z)) (approx %5 z) (approx %11 (*.f64 z (approx %9 #s(literal 1 binary64)))) (approx %5 (*.f64 x y)) (approx %5 (*.f64 (approx x #s(literal 0 binary64)) y)) (fma.f64 x y (approx (* z %9) z)) (approx %11 (*.f64 z (-.f64 #s(literal 1 binary64) x))) (approx %5 (*.f64 x (-.f64 y z))) |
| Outputs |
|---|
%8 = (approx (+ (* x (- y z)) z) (*.f64 x (-.f64 y z))) %8 (fma.f64 x y (approx (* z (- 1 x)) z)) %8 |
| Inputs |
|---|
%5 = (+ (* x (- y z)) z) %9 = (- 1 x) %10 = (* %9 z) %11 = (+ (* x y) %10) %16 = (*.f64 x y) %28 = (-.f64 y z) (approx %5 z) (approx %11 (*.f64 z (approx %9 #s(literal 1 binary64)))) (approx %5 %16) (approx %5 (*.f64 (approx x #s(literal 0 binary64)) y)) (fma.f64 x y (approx (* z %9) z)) (approx %11 (*.f64 z (-.f64 #s(literal 1 binary64) x))) (approx %5 (*.f64 x %28)) (+.f64 %16 (approx %10 z)) (fma.f64 x %28 z) |
| Outputs |
|---|
(fma.f64 x (-.f64 y z) z) |
4 calls:
| 13.0ms | y |
| 8.0ms | z |
| 7.0ms | x |
| 7.0ms | (+.f64 (*.f64 x y) (*.f64 (-.f64 #s(literal 1 binary64) x) z)) |
| Accuracy | Segments | Branch |
|---|---|---|
| 33.1% | 1 | z |
| 33.1% | 1 | y |
| 33.1% | 1 | x |
| 33.1% | 1 | (+.f64 (*.f64 x y) (*.f64 (-.f64 #s(literal 1 binary64) x) z)) |
Compiled 18 to 34 computations (-88.9% saved)
| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 8.0ms | 2.2045952188073033e-14 | 0.0005825814724763941 |
| 5.0ms | -14298.649587223466 | -771.6157302664199 |
| 6.0ms | 272× | 0 | valid |
Compiled 16 to 23 computations (-43.8% saved)
Sub: 0.0ms (0.0% of total, 0.0 MiB)Mul: 0.0ms (0.0% of total, 0.0 MiB)Add: 0.0ms (0.0% of total, 0.0 MiB)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 7.0ms | 3.4571509103209496e-111 | 3.205036354109671e-110 |
| 6.0ms | -6.742668220036118e+82 | -3.452883268481648e+79 |
| 5.0ms | 224× | 0 | valid |
Compiled 16 to 25 computations (-56.3% saved)
Sub: 0.0ms (0.0% of total, 0.0 MiB)Mul: 0.0ms (0.0% of total, 0.0 MiB)Add: 0.0ms (0.0% of total, 0.0 MiB)| 2× | binary-search |
| 1× | narrow-enough |
| 1× | narrow-enough |
| Time | Left | Right |
|---|---|---|
| 4.0ms | 6.976922429949524e-35 | 1.0427301318071524e-33 |
| 4.0ms | -2.8368855981903414e-51 | -1.2064225709139271e-51 |
| 4.0ms | 176× | 0 | valid |
Compiled 16 to 19 computations (-18.8% saved)
Sub: 0.0ms (0.0% of total, 0.0 MiB)Mul: 0.0ms (0.0% of total, 0.0 MiB)Add: 0.0ms (0.0% of total, 0.0 MiB)| 1× | fuel |
Compiled 6 to 29 computations (-383.3% saved)
Compiled 7 to 37 computations (-428.6% saved)
| Allocated | Percent | Phase |
|---|---|---|
| 429.9 MiB | 31.0% | rewrite |
| 297.9 MiB | 21.5% | sample |
| 241.7 MiB | 17.4% | reconstruct |
| 132.5 MiB | 9.6% | series |
| 72.9 MiB | 5.3% | preprocess |
| 61.5 MiB | 4.4% | regimes |
| 58.0 MiB | 4.2% | bsearch |
| 45.0 MiB | 3.2% | eval |
| 24.7 MiB | 1.8% | derivations |
| 21.2 MiB | 1.5% | prune |
| 0.7 MiB | 0.0% | analyze |
| 0.1 MiB | 0.0% | start |
| 0.0 MiB | 0.0% | end |
| 1 385.9 MiB | 100.0% | total |
Loading profile data...