FRP.Yampa.Vector3:vector3Rho from Yampa-0.10.2

Time bar (total: 2.7s)

analyze15.0ms (0.6%)

Memory
-20.0MiB live, 4.3MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
100%99.9%0%0.1%0%0%0%4
Compiler

Compiled 30 to 21 computations (30% saved)

sample2.6s (95.7%)

Memory
29.2MiB live, 776.2MiB allocated
Samples
546.0ms8 256×73valid-baseline
497.0ms8 256×73valid-sollya
474.0ms8 256×73valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 306.0ms
ival-mult: 170.0ms (55.6% of total)
ival-add: 67.0ms (21.9% of total)
ival-sqrt: 59.0ms (19.3% of total)
ival-true: 7.0ms (2.3% of total)
ival-assert: 3.0ms (1% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 291.0ms
ival-mult: 167.0ms (57.3% of total)
ival-add: 65.0ms (22.3% of total)
ival-sqrt: 54.0ms (18.5% of total)
const: 6.0ms (2.1% of total)
Bogosity

preprocess61.0ms (2.3%)

Memory
7.2MiB live, 22.3MiB allocated
Algorithm
egg-herbie
Rules
212×fmm-def
117×fma-define
31×unsub-neg
31×neg-sub0
30×sub-neg
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
042551
184507
2176507
3393507
4677507
5827507
6843507
Stop Event
saturated
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)))
(sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z)))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z)))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z))))
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z))))
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z))))
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z)))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (*.f64 z z)))
(sqrt.f64 (+.f64 (+.f64 (*.f64 z z) (*.f64 y y)) (*.f64 x x)))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 z z)) (*.f64 y y)))
Outputs
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z)))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z)))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z))))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 y y)) (*.f64 z z))))
(neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))))
(neg.f64 (sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))))
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 y))) (*.f64 z z))))
(neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))))
(neg.f64 (sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))))
(neg.f64 (sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 (neg.f64 z) (neg.f64 z)))))
(neg.f64 (sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y)))))
(neg.f64 (sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z)))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 y y) (*.f64 x x)) (*.f64 z z)))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 z z) (*.f64 y y)) (*.f64 x x)))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 z z)) (*.f64 y y)))
(sqrt.f64 (+.f64 (*.f64 x x) (fma.f64 z z (*.f64 y y))))
(sqrt.f64 (fma.f64 y y (fma.f64 x x (*.f64 z z))))
Symmetry

(abs x)

(abs y)

(abs z)

(sort x y z)

Compiler

Compiled 15 to 9 computations (40% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
42.8%
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)))
Compiler

Compiled 30 to 18 computations (40% saved)

simplify2.0ms (0.1%)

Memory
-15.5MiB live, 0.4MiB allocated
Algorithm
egg-herbie
Rules
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01653
11853
Stop Event
saturated
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)))
Outputs
(sqrt.f64 (+.f64 (+.f64 (*.f64 x x) (*.f64 y y)) (*.f64 z z)))

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 15 to 9 computations (40% saved)

preprocess35.0ms (1.3%)

Memory
11.7MiB live, 44.8MiB allocated
Remove

(sort x y z)

(abs z)

(abs y)

(abs x)

Compiler

Compiled 352 to 212 computations (39.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...