Quotient of products

Time bar (total: 2.9s)

analyze132.0ms (4.5%)

Memory
-6.2MiB live, 56.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
25%25%74.9%0.2%0%0%0%5
25%25%74.9%0.2%0%0%0%6
25%25%74.9%0.2%0%0%0%7
37.5%37.4%62.4%0.2%0%0%0%8
56.3%56.1%43.7%0.2%0%0%0%9
56.3%56.1%43.7%0.2%0%0%0%10
56.3%56.1%43.7%0.2%0%0%0%11
65.6%65.5%34.3%0.2%0%0%0%12
Compiler

Compiled 21 to 17 computations (19% saved)

sample2.7s (90.7%)

Memory
22.7MiB live, 861.0MiB allocated
Samples
549.0ms8 256×0valid-sollya
455.0ms8 256×0valid-baseline
385.0ms8 256×0valid-rival
Precisions
Click to see Rival histograms. Total time spent on operations: 178.0ms
ival-mult: 117.0ms (65.9% of total)
ival-div: 50.0ms (28.2% of total)
ival-true: 7.0ms (3.9% of total)
ival-assert: 3.0ms (1.7% of total)
Precisions
Click to see Base histograms. Total time spent on operations: 172.0ms
ival-mult: 115.0ms (67% of total)
ival-div: 50.0ms (29.1% of total)
const: 7.0ms (4.1% of total)
Bogosity

preprocess99.0ms (3.4%)

Memory
-10.0MiB live, 22.3MiB allocated
Algorithm
egg-herbie
Rules
1 205×fma-define
558×div-sub
470×unsub-neg
342×times-frac
320×associate-/r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045512
1143512
2419512
31300512
43246512
56593512
Stop Event
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 b1 b2))
(/.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b1 b2))
(/.f64 (*.f64 a1 a2) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 (neg.f64 b2)))
(neg.f64 (/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 b1 b2)))
(neg.f64 (/.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b1 b2)))
(neg.f64 (/.f64 (*.f64 a1 a2) (*.f64 (neg.f64 b1) b2)))
(neg.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 (neg.f64 b2))))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(/.f64 (*.f64 b1 a2) (*.f64 a1 b2))
(/.f64 (*.f64 b2 a2) (*.f64 b1 a1))
(/.f64 (*.f64 a1 b1) (*.f64 a2 b2))
(/.f64 (*.f64 a1 b2) (*.f64 b1 a2))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 b1 b2))
(*.f64 (neg.f64 a1) (/.f64 a2 (*.f64 b1 b2)))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 a1 b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 a2 b1) b2))
(*.f64 a1 (/.f64 (neg.f64 a2) (*.f64 b1 b2)))
(/.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b1 b2))
(*.f64 (neg.f64 a1) (/.f64 a2 (*.f64 b1 b2)))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 a1 b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 a2 b1) b2))
(*.f64 a1 (/.f64 (neg.f64 a2) (*.f64 b1 b2)))
(/.f64 (*.f64 a1 a2) (*.f64 (neg.f64 b1) b2))
(*.f64 (neg.f64 a1) (/.f64 a2 (*.f64 b1 b2)))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 a1 b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 a2 b1) b2))
(*.f64 a1 (/.f64 (neg.f64 a2) (*.f64 b1 b2)))
(/.f64 (*.f64 a1 a2) (*.f64 b1 (neg.f64 b2)))
(*.f64 (neg.f64 a1) (/.f64 a2 (*.f64 b1 b2)))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 a1 b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 a2 b1) b2))
(*.f64 a1 (/.f64 (neg.f64 a2) (*.f64 b1 b2)))
(neg.f64 (/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 b1 b2)))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(neg.f64 (/.f64 (*.f64 a1 (neg.f64 a2)) (*.f64 b1 b2)))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(neg.f64 (/.f64 (*.f64 a1 a2) (*.f64 (neg.f64 b1) b2)))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(neg.f64 (/.f64 (*.f64 a1 a2) (*.f64 b1 (neg.f64 b2))))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(/.f64 (*.f64 b1 a2) (*.f64 a1 b2))
(*.f64 b1 (/.f64 a2 (*.f64 a1 b2)))
(*.f64 b1 (/.f64 (/.f64 a2 b2) a1))
(*.f64 a2 (/.f64 b1 (*.f64 a1 b2)))
(*.f64 b1 (/.f64 (/.f64 a2 a1) b2))
(/.f64 (*.f64 b2 a2) (*.f64 b1 a1))
(*.f64 (/.f64 b2 b1) (/.f64 a2 a1))
(/.f64 (*.f64 a2 b2) (*.f64 a1 b1))
(*.f64 b2 (/.f64 a2 (*.f64 a1 b1)))
(*.f64 b2 (/.f64 (/.f64 a2 b1) a1))
(/.f64 (*.f64 a1 b1) (*.f64 a2 b2))
(*.f64 (/.f64 a1 a2) (/.f64 b1 b2))
(*.f64 a1 (/.f64 b1 (*.f64 a2 b2)))
(*.f64 b1 (/.f64 a1 (*.f64 a2 b2)))
(/.f64 (*.f64 a1 b2) (*.f64 b1 a2))
(*.f64 (/.f64 a1 b1) (/.f64 b2 a2))
(*.f64 a1 (/.f64 (/.f64 b2 b1) a2))
(*.f64 a1 (/.f64 b2 (*.f64 a2 b1)))
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 a2 (*.f64 b1 b2)))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
Symmetry

(negabs a1)

(negabs a2)

(negabs b1)

(negabs b2)

(sort a1 a2)

(sort b1 b2)

Compiler

Compiled 11 to 7 computations (36.4% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
79.9%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 22 to 14 computations (36.4% saved)

simplify2.0ms (0.1%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01431
11631
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))

soundness0.0ms (0%)

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

Compiled 11 to 7 computations (36.4% saved)

preprocess38.0ms (1.3%)

Memory
1.6MiB live, 48.7MiB allocated
Remove

(sort b1 b2)

(sort a1 a2)

(negabs b2)

(negabs b1)

(negabs a2)

(negabs a1)

Compiler

Compiled 330 to 210 computations (36.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...