Quotient of products

Time bar (total: 2.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage

analyze126.0ms (6%)

Memory
1.4MiB live, 235.1MiB allocated; 29ms collecting garbage
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 9 to 9 computations (0% saved)

sample748.0ms (35.3%)

Memory
35.8MiB live, 1 308.8MiB allocated; 154ms collecting garbage
Samples
418.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 172.0ms
ival-mult!: 105.0ms (61.2% of total)
ival-div!: 65.0ms (37.9% of total)
adjust: 2.0ms (1.2% of total)
Bogosity

explain56.0ms (2.7%)

Memory
19.2MiB live, 113.4MiB allocated; 4ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
390-1(4.3606760699611257e-305 -1.0923606993480874e-10 -1.2333728281497875e+40 1.8225306395103947e-79)(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
00-0-(*.f64 b1 b2)
00-0-(*.f64 a1 a2)
00-0-a1
00-0-b2
00-0-b1
00-0-a2
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/n100
(*.f64 a1 a2)underflow30
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/n100
(*.f64 a1 a2)overflow33
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/o60
(*.f64 a1 a2)overflow33
(*.f64 b1 b2)overflow25
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/u60
(*.f64 a1 a2)underflow30
(*.f64 b1 b2)underflow31
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/u30
(*.f64 b1 b2)underflow31
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/o30
(*.f64 b1 b2)overflow25
Confusion
Predicted +Predicted -
+381
-0217
Precision
1.0
Recall
0.9743589743589743
Confusion?
Predicted +Predicted MaybePredicted -
+3801
-00217
Precision?
1.0
Recall?
0.9743589743589743
Freqs
test
numberfreq
0218
138
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
25.0ms512×0valid
Compiler

Compiled 45 to 25 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult!: 5.0ms (65.1% of total)
ival-div!: 2.0ms (26% of total)
adjust: 0.0ms (0% of total)

preprocess35.0ms (1.6%)

Memory
-38.6MiB live, 58.5MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037109
1117109
2328109
3696109
4996109
51875109
61891109
Stop Event
saturated
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Symmetry

(negabs a1)

(negabs a2)

(negabs b1)

(negabs b2)

(sort a1 a2)

(sort b1 b2)

Compiler

Compiled 14 to 14 computations (0% saved)

series15.0ms (0.7%)

Memory
31.9MiB live, 31.9MiB allocated; 0ms collecting garbage
Counts
7 → 7
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
a1
a2
(*.f64 b1 b2)
b1
b2
Outputs
#s(approx (/ (* a1 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx a1 #s(hole binary64 a1))
#s(approx a2 #s(hole binary64 a2))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

TimeVariablePointExpression
3.0ms
b2
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) a1 a2 (* b1 b2) b1 b2)
2.0ms
a2
@inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) a1 a2 (* b1 b2) b1 b2)
2.0ms
a1
@inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) a1 a2 (* b1 b2) b1 b2)
1.0ms
a1
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) a1 a2 (* b1 b2) b1 b2)
1.0ms
a2
@-inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) a1 a2 (* b1 b2) b1 b2)

rewrite33.0ms (1.6%)

Memory
-22.5MiB live, 65.9MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01758
01858
13058
27358
321558
455458
556358
056358
Stop Event
iter-limit
saturated
iter-limit
Counts
14 → 44
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
a1
a2
(*.f64 b1 b2)
b1
b2
#s(approx (/ (* a1 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx a1 #s(hole binary64 a1))
#s(approx a2 #s(hole binary64 a2))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Outputs
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 a2 a1)
(*.f64 a1 a2)
(neg.f64 (*.f64 (neg.f64 a2) a1))
a1
a2
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 b2 b1)
(*.f64 b1 b2)
(neg.f64 (*.f64 (neg.f64 b2) b1))
b1
b2
#s(approx (/ (* a1 a2) (* b1 b2)) (*.f64 (/.f64 (/.f64 a1 b2) b1) a2))
#s(approx (* a1 a2) (*.f64 a2 a1))
#s(approx a1 a1)
#s(approx a2 a2)
#s(approx (* b1 b2) (*.f64 b2 b1))
#s(approx b1 b1)
#s(approx b2 b2)

eval4.0ms (0.2%)

Memory
10.2MiB live, 10.2MiB allocated; 0ms collecting garbage
Compiler

Compiled 368 to 89 computations (75.8% saved)

prune6.0ms (0.3%)

Memory
14.5MiB live, 14.5MiB allocated; 0ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New38644
Fresh000
Picked011
Done000
Total38745
Accuracy
100.0%
Counts
45 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.8%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
85.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
93.0%
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
93.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
84.2%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
97.4%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
75.0%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Compiler

Compiled 95 to 95 computations (0% saved)

series33.0ms (1.6%)

Memory
12.4MiB live, 59.9MiB allocated; 11ms collecting garbage
Counts
16 → 16
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(/.f64 a1 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
Outputs
#s(approx (* (/ a2 b2) (/ a1 b1)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 b1) #s(hole binary64 (/ a1 b1)))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 b1) (/ a1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 b2) #s(hole binary64 (/ a1 b2)))
#s(approx (* (/ (/ a1 b2) b1) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (/ a1 b2) b1) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx (* (/ (/ a2 b2) b1) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* (/ a1 b1) a2) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a1 b1) a2) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 b1) #s(hole binary64 (/ a2 b1)))
#s(approx (/ (/ a2 b2) b1) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

TimeVariablePointExpression
12.0ms
a1
@-inf
((* (/ a2 b2) (/ a1 b1)) (/ a2 b2) a2 b2 (/ a1 b1) a1 b1 (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2))
3.0ms
b1
@-inf
((* (/ a2 b2) (/ a1 b1)) (/ a2 b2) a2 b2 (/ a1 b1) a1 b1 (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2))
2.0ms
a1
@inf
((* (/ a2 b2) (/ a1 b1)) (/ a2 b2) a2 b2 (/ a1 b1) a1 b1 (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2))
2.0ms
a2
@-inf
((* (/ a2 b2) (/ a1 b1)) (/ a2 b2) a2 b2 (/ a1 b1) a1 b1 (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2))
2.0ms
a1
@0
((* (/ a2 b2) (/ a1 b1)) (/ a2 b2) a2 b2 (/ a1 b1) a1 b1 (* (/ a2 b1) (/ a1 b2)) (/ a2 b1) (/ a1 b2) (* (/ (/ a1 b2) b1) a2) (/ (/ a1 b2) b1) (* (/ (/ a2 b2) b1) a1) (/ (/ a2 b2) b1) (/ (* (/ a1 b1) a2) b2) (* (/ a1 b1) a2))

rewrite22.0ms (1%)

Memory
-9.2MiB live, 37.2MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050214
065214
1113214
2250214
3548214
4558214
0558214
Stop Event
iter-limit
saturated
iter-limit
Counts
32 → 172
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(/.f64 a1 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
#s(approx (* (/ a2 b2) (/ a1 b1)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 b1) #s(hole binary64 (/ a1 b1)))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 b1) (/ a1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 b2) #s(hole binary64 (/ a1 b2)))
#s(approx (* (/ (/ a1 b2) b1) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (/ a1 b2) b1) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx (* (/ (/ a2 b2) b1) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* (/ a1 b1) a2) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* (/ a1 b1) a2) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 b1) #s(hole binary64 (/ a2 b1)))
#s(approx (/ (/ a2 b2) b1) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Outputs
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(/.f64 (neg.f64 a2) (neg.f64 b2))
(/.f64 a2 b2)
(neg.f64 (/.f64 (neg.f64 a2) b2))
a2
b2
(/.f64 (neg.f64 a1) (neg.f64 b1))
(/.f64 a1 b1)
(neg.f64 (/.f64 (neg.f64 a1) b1))
a1
b1
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(/.f64 (neg.f64 a2) (neg.f64 b1))
(/.f64 a2 b1)
(neg.f64 (/.f64 (neg.f64 a2) b1))
(/.f64 (neg.f64 a1) (neg.f64 b2))
(/.f64 a1 b2)
(neg.f64 (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 (*.f64 b1 b2))
(neg.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(/.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 b1))
(/.f64 (neg.f64 a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (/.f64 a2 b1) b2)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 (*.f64 b1 b2))
(neg.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) a2))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 a2 b1) a1)
(*.f64 (/.f64 a1 b1) a2)
(*.f64 a1 (/.f64 a2 b1))
(*.f64 a2 (/.f64 a1 b1))
(/.f64 (*.f64 a1 a2) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (neg.f64 b1))
(neg.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1))
#s(approx (* (/ (/ a1 b2) b1) a2) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2))
#s(approx (/ a1 b1) (/.f64 a1 b1))
#s(approx a1 a1)
#s(approx (* (/ (/ a1 b2) b1) a2) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2))
#s(approx (/ a1 b2) (/.f64 a1 b2))
#s(approx (* (/ (/ a1 b2) b1) a2) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2))
#s(approx (/ (/ a1 b2) b1) (/.f64 (/.f64 a1 b2) b1))
#s(approx (* (/ (/ a1 b2) b1) a2) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2))
#s(approx (* (/ (/ a1 b2) b1) a2) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2))
#s(approx (* (/ a1 b1) a2) (*.f64 (/.f64 a1 b1) a2))
#s(approx (/ a2 b2) (/.f64 a2 b2))
#s(approx a2 a2)
#s(approx (/ a2 b1) (/.f64 a2 b1))
#s(approx (/ (/ a2 b2) b1) (/.f64 (/.f64 a2 b1) b2))
#s(approx b1 b1)
#s(approx b2 b2)

eval15.0ms (0.7%)

Memory
-17.0MiB live, 29.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 1 014 to 194 computations (80.9% saved)

prune6.0ms (0.3%)

Memory
14.8MiB live, 14.8MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1173120
Fresh101
Picked325
Done011
Total1216127
Accuracy
100.0%
Counts
127 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.9%
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
85.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
93.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
88.2%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
75.0%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
88.1%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 42 to 42 computations (0% saved)

series20.0ms (1%)

Memory
-4.0MiB live, 42.7MiB allocated; 4ms collecting garbage
Counts
12 → 12
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
a1
(*.f64 b1 b2)
b1
b2
a2
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
(/.f64 (*.f64 a1 a2) b1)
(*.f64 a1 a2)
Outputs
#s(approx (* (/ a1 (* b1 b2)) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 (* b1 b2)) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 (* b1 b2)) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (/ (* a1 a2) b1) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* a1 a2) b1) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 (* b1 b2)) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

TimeVariablePointExpression
4.0ms
a2
@inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) a1 (* b1 b2) b1 b2 a2 (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (/ (* a1 a2) b1) b2) (/ (* a1 a2) b1) (* a1 a2))
2.0ms
b1
@-inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) a1 (* b1 b2) b1 b2 a2 (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (/ (* a1 a2) b1) b2) (/ (* a1 a2) b1) (* a1 a2))
2.0ms
a2
@-inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) a1 (* b1 b2) b1 b2 a2 (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (/ (* a1 a2) b1) b2) (/ (* a1 a2) b1) (* a1 a2))
2.0ms
a1
@-inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) a1 (* b1 b2) b1 b2 a2 (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (/ (* a1 a2) b1) b2) (/ (* a1 a2) b1) (* a1 a2))
2.0ms
b2
@-inf
((* (/ a1 (* b1 b2)) a2) (/ a1 (* b1 b2)) a1 (* b1 b2) b1 b2 a2 (* (/ a2 (* b1 b2)) a1) (/ a2 (* b1 b2)) (/ (/ (* a1 a2) b1) b2) (/ (* a1 a2) b1) (* a1 a2))

rewrite70.0ms (3.3%)

Memory
-24.1MiB live, 31.3MiB allocated; 75ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033150
042150
167150
2135150
3333150
4419150
5425150
0425150
Stop Event
iter-limit
saturated
iter-limit
Counts
24 → 120
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
a1
(*.f64 b1 b2)
b1
b2
a2
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
(/.f64 (*.f64 a1 a2) b1)
(*.f64 a1 a2)
#s(approx (* (/ a1 (* b1 b2)) a2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ a1 (* b1 b2)) #s(hole binary64 (/ a1 (* b1 b2))))
#s(approx a1 #s(hole binary64 a1))
#s(approx (* (/ a2 (* b1 b2)) a1) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (/ (* a1 a2) b1) b2) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (/ (* a1 a2) b1) #s(hole binary64 (/ (* a1 a2) b1)))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx (/ a2 (* b1 b2)) #s(hole binary64 (/ a2 (* b1 b2))))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b1 #s(hole binary64 b1))
#s(approx b2 #s(hole binary64 b2))
Outputs
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 a2 b1)))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (/.f64 a1 b1) b2)
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b1) b2))
(/.f64 a1 (*.f64 b2 b1))
(neg.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1))
a1
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 b2 b1)
(*.f64 b1 b2)
(neg.f64 (*.f64 (neg.f64 b1) b2))
b1
b2
a2
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 a2 b1)))
(/.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 b2))
(/.f64 (/.f64 a2 b1) b2)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (neg.f64 a2) (*.f64 (neg.f64 b1) b2))
(/.f64 a2 (*.f64 b2 b1))
(neg.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 a2 (*.f64 b2 b1)) a1)
(*.f64 (/.f64 a1 (*.f64 b2 b1)) a2)
(*.f64 a2 (/.f64 a1 (*.f64 b2 b1)))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 a2 a1) (*.f64 b2 b1))
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 a2 b1)))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (/.f64 a2 b1) a1)
(*.f64 (/.f64 a1 b1) a2)
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b1))
(*.f64 a2 (/.f64 a1 b1))
(*.f64 a1 (/.f64 a2 b1))
(/.f64 (*.f64 (neg.f64 a2) a1) (neg.f64 b1))
(/.f64 (*.f64 a2 a1) b1)
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 a2 a1)
(*.f64 a1 a2)
(neg.f64 (*.f64 (neg.f64 a2) a1))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 a1 (*.f64 b2 b1)) a2))
#s(approx (/ a1 (* b1 b2)) (/.f64 a1 (*.f64 b2 b1)))
#s(approx a1 a1)
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 a1 (*.f64 b2 b1)) a2))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 a1 (*.f64 b2 b1)) a2))
#s(approx (/ (* a1 a2) b1) (/.f64 (*.f64 a2 a1) b1))
#s(approx (* a1 a2) (*.f64 a2 a1))
#s(approx a2 a2)
#s(approx (/ a2 (* b1 b2)) (/.f64 a2 (*.f64 b2 b1)))
#s(approx (* b1 b2) (*.f64 b2 b1))
#s(approx b1 b1)
#s(approx b2 b2)

eval8.0ms (0.4%)

Memory
21.7MiB live, 21.7MiB allocated; 0ms collecting garbage
Compiler

Compiled 790 to 178 computations (77.5% saved)

prune18.0ms (0.8%)

Memory
-25.9MiB live, 25.2MiB allocated; 10ms collecting garbage
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New94094
Fresh000
Picked033
Done033
Total946100
Accuracy
100.0%
Counts
100 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.9%
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
85.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
93.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
88.2%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
75.0%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
88.1%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 114 to 72 computations (36.8% saved)

regimes25.0ms (1.2%)

Memory
8.5MiB live, 55.1MiB allocated; 4ms collecting garbage
Counts
10 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
Outputs
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
Calls

7 calls:

6.0ms
(*.f64 a1 a2)
3.0ms
b2
3.0ms
a1
3.0ms
a2
3.0ms
b1
Results
AccuracySegmentsBranch
97.4%1(*.f64 b1 b2)
97.4%1(*.f64 a1 a2)
97.4%1(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
97.4%1a1
97.4%1a2
97.4%1b1
99.2%2b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes6.0ms (0.3%)

Memory
15.9MiB live, 15.9MiB allocated; 0ms collecting garbage
Counts
9 → 1
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (/.f64 (*.f64 a1 a2) b1) b2)
Outputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
Calls

2 calls:

3.0ms
b2
3.0ms
(*.f64 a1 a2)
Results
AccuracySegmentsBranch
97.4%1(*.f64 a1 a2)
97.4%1b2
Compiler

Compiled 4 to 9 computations (-125% saved)

regimes15.0ms (0.7%)

Memory
-12.0MiB live, 34.6MiB allocated; 3ms collecting garbage
Counts
4 → 3
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Outputs
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Calls

7 calls:

5.0ms
a2
2.0ms
a1
2.0ms
b2
2.0ms
b1
2.0ms
(*.f64 a1 a2)
Results
AccuracySegmentsBranch
98.7%4(*.f64 b1 b2)
97.4%3(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
92.5%3a1
91.4%3a2
94.4%3b1
95.5%3(*.f64 a1 a2)
95.3%3b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes6.0ms (0.3%)

Memory
17.3MiB live, 17.3MiB allocated; 0ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Outputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
Calls

4 calls:

2.0ms
(*.f64 a1 a2)
1.0ms
b2
1.0ms
(*.f64 b1 b2)
1.0ms
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Results
AccuracySegmentsBranch
92.9%2b2
93.0%3(*.f64 a1 a2)
92.9%2(*.f64 b1 b2)
92.9%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 14 to 21 computations (-50% saved)

regimes12.0ms (0.6%)

Memory
-30.1MiB live, 21.3MiB allocated; 4ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Outputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Calls

7 calls:

6.0ms
a1
1.0ms
a2
1.0ms
b2
1.0ms
b1
1.0ms
(*.f64 b1 b2)
Results
AccuracySegmentsBranch
88.1%1a2
88.1%1a1
88.1%1(*.f64 a1 a2)
88.1%1b1
88.1%1(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.1%1(*.f64 b1 b2)
88.1%1b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

bsearch8.0ms (0.4%)

Memory
16.7MiB live, 16.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
7.0ms
9.297654766474369e+126
5.468968543297268e+127
Samples
4.0ms96×0valid
Compiler

Compiled 106 to 122 computations (-15.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-mult!: 1.0ms (77.9% of total)
adjust: 0.0ms (0% of total)
ival-div!: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
0.0ms
4.642388651268467e-29
4.009642052514851e-23
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch6.0ms (0.3%)

Memory
14.0MiB live, 14.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
6.0ms
9.297654766474369e+126
5.468968543297268e+127
Samples
3.0ms80×0valid
Compiler

Compiled 94 to 110 computations (-17% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-mult!: 1.0ms (94.2% of total)
adjust: 0.0ms (0% of total)
ival-div!: 0.0ms (0% of total)

derivations33.0ms (1.6%)

Memory
4.3MiB live, 50.8MiB allocated; 6ms collecting garbage
Stop Event
done
Compiler

Compiled 93 to 36 computations (61.3% saved)

preprocess790.0ms (37.3%)

Memory
17.8MiB live, 962.4MiB allocated; 127ms collecting garbage
Remove

(negabs a2)

(negabs a1)

(sort b1 b2)

(sort a1 a2)

(negabs b2)

(negabs b1)

Compiler

Compiled 1 358 to 860 computations (36.7% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...