Quotient of products

Time bar (total: 2.2s)

start0.0ms (0%)

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

analyze142.0ms (6.3%)

Memory
15.5MiB live, 207.3MiB allocated; 34ms 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)

sample728.0ms (32.5%)

Memory
12.1MiB live, 902.9MiB allocated; 132ms collecting garbage
Samples
475.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 178.0ms
ival-mult!: 139.0ms (78% of total)
ival-div!: 38.0ms (21.3% of total)
adjust: 2.0ms (1.1% of total)
Bogosity

explain59.0ms (2.6%)

Memory
5.3MiB live, 103.8MiB allocated; 9ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
440-1(-1.1304252338666038e-168 -1.6202826290604864e+143 -1.0764526770331925e-49 5.011374681330198e-266)(/.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))o/n130
(*.f64 a1 a2)overflow34
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/u80
(*.f64 b1 b2)underflow30
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/o70
(*.f64 a1 a2)overflow34
(*.f64 b1 b2)overflow34
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/o60
(*.f64 b1 b2)overflow34
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/u50
(*.f64 a1 a2)underflow29
(*.f64 b1 b2)underflow30
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/n40
(*.f64 a1 a2)underflow29
Confusion
Predicted +Predicted -
+431
-0212
Precision
1.0
Recall
0.9772727272727273
Confusion?
Predicted +Predicted MaybePredicted -
+4301
-00212
Precision?
1.0
Recall?
0.9772727272727273
Freqs
test
numberfreq
0213
143
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
27.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!: 6.0ms (74.4% of total)
ival-div!: 2.0ms (24.8% of total)
adjust: 0.0ms (0% of total)

preprocess39.0ms (1.7%)

Memory
18.3MiB live, 63.9MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037109
1117109
2328109
3696109
4996109
51875109
61891109
077
0107
1197
2377
3487
4487
0487
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
Symmetry

(negabs a1)

(negabs a2)

(negabs b1)

(negabs b2)

(sort a1 a2)

(sort b1 b2)

Compiler

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

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

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 7 to 7 computations (0% saved)

series19.0ms (0.9%)

Memory
-14.0MiB live, 31.6MiB allocated; 4ms 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
4.0ms
b1
@inf
((/ (* a1 a2) (* b1 b2)) (* a1 a2) a1 a2 (* b1 b2) b1 b2)
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)

rewrite25.0ms (1.1%)

Memory
-5.5MiB live, 40.5MiB allocated; 5ms 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
9.6MiB live, 9.6MiB allocated; 0ms collecting garbage
Compiler

Compiled 368 to 89 computations (75.8% saved)

prune7.0ms (0.3%)

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

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New331144
Fresh000
Picked011
Done000
Total331245
Accuracy
100.0%
Counts
45 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.1%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
86.9%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
91.3%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
72.7%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Compiler

Compiled 161 to 161 computations (0% saved)

series28.0ms (1.3%)

Memory
-8.0MiB live, 47.5MiB allocated; 13ms collecting garbage
Counts
13 → 13
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(*.f64 b1 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 b2)
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 (/ (* a1 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#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 (/ a1 b2) #s(hole binary64 (/ a1 b2)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx b1 #s(hole binary64 b1))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

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

rewrite18.0ms (0.8%)

Memory
-25.3MiB live, 21.9MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036148
043148
174148
2171148
3439148
4495148
0495148
Stop Event
iter limit
saturated
iter limit
Counts
26 → 112
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(*.f64 b1 b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a1 b2) b1)
(/.f64 a1 b2)
#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 (/ (* a1 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#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 (/ a1 b2) #s(hole binary64 (/ a1 b2)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx b1 #s(hole binary64 b1))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b2 #s(hole binary64 b2))
Outputs
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.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 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b2) b1))
(neg.f64 (/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) b2))
(/.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 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.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 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b2) b1))
(neg.f64 (/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) b2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 a1 a2)
(*.f64 a2 a1)
(neg.f64 (*.f64 (neg.f64 a2) a1))
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 b1 b2)
(*.f64 b2 b1)
(neg.f64 (*.f64 (neg.f64 b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.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 a1) b2) b1) (neg.f64 a2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b2) b1))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b2) b1))
(neg.f64 (/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) b2))
(/.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 (neg.f64 a1) (neg.f64 b2))
(/.f64 a1 b2)
(neg.f64 (/.f64 (neg.f64 a1) b2))
#s(approx (* (/ a2 b2) (/ a1 b1)) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (/ a1 b1) (/.f64 a1 b1))
#s(approx a1 a1)
#s(approx (* (/ a2 b2) (/ a1 b1)) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (* a1 a2) (*.f64 a1 a2))
#s(approx (* (/ a2 b2) (/ a1 b1)) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (/ (/ a1 b2) b1) (/.f64 (/.f64 a1 b2) b1))
#s(approx (/ a1 b2) (/.f64 a1 b2))
#s(approx (/ a2 b2) (/.f64 a2 b2))
#s(approx a2 a2)
#s(approx b1 b1)
#s(approx (* b1 b2) (*.f64 b1 b2))
#s(approx b2 b2)

eval9.0ms (0.4%)

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

Compiled 1 010 to 144 computations (85.7% saved)

prune33.0ms (1.5%)

Memory
24.4MiB live, 71.5MiB allocated; 1ms collecting garbage
Pruning

60 alts after pruning (54 fresh and 6 done)

PrunedKeptTotal
New7248120
Fresh066
Picked055
Done011
Total7260132
Accuracy
100.0%
Counts
132 → 60
Alt Table
Click to see full alt table
StatusAccuracyProgram
82.0%
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
83.1%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
86.9%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
91.3%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
72.7%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 866 to 834 computations (3.7% saved)

series16.0ms (0.7%)

Memory
-11.8MiB live, 35.6MiB allocated; 1ms collecting garbage
Counts
15 → 12
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
(*.f64 b1 b2)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
(*.f64 #s(approx a1 a1) a2)
#s(approx a1 a1)
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 (* (/ 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 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx b1 #s(hole binary64 b1))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

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

rewrite23.0ms (1%)

Memory
-23.1MiB live, 25.9MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034155
043155
175155
2185155
3579155
4817155
5826155
0826155
Stop Event
iter limit
saturated
iter limit
Counts
27 → 139
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
(*.f64 b1 b2)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
(*.f64 #s(approx a1 a1) a2)
#s(approx a1 a1)
#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 (* (/ 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 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx b1 #s(hole binary64 b1))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b2 #s(hole binary64 b2))
Outputs
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b1) b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) 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 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b1) b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) a2))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 (*.f64 b1 b2))
(neg.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 b1 b2)
(*.f64 b2 b1)
(neg.f64 (*.f64 (neg.f64 b1) b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b1) b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) a2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 a1 a2)
(*.f64 a2 a1)
(neg.f64 (*.f64 (neg.f64 a1) a2))
(*.f64 (/.f64 (/.f64 #s(approx a1 a1) b2) (neg.f64 b1)) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 #s(approx a1 a1) b2) b1) a2)
(*.f64 (/.f64 (/.f64 a2 b1) b2) #s(approx a1 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 #s(approx a1 a1)))
(*.f64 (/.f64 #s(approx a1 a1) (neg.f64 b2)) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 #s(approx a1 a1) (neg.f64 b2)))
(*.f64 (/.f64 #s(approx a1 a1) (neg.f64 b1)) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 #s(approx a1 a1) (neg.f64 b1)))
(*.f64 (/.f64 #s(approx a1 a1) b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 #s(approx a1 a1) b2))
(*.f64 (neg.f64 #s(approx a1 a1)) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 #s(approx a1 a1) b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 #s(approx a1 a1) b2) (neg.f64 b1)))
(*.f64 (/.f64 a2 b2) (/.f64 #s(approx a1 a1) b1))
(*.f64 #s(approx a1 a1) (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 #s(approx a1 a1) b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) #s(approx a1 a1)) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 #s(approx a1 a1) b2) a2) b1)
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) #s(approx a1 a1)) (neg.f64 b2))
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 #s(approx a1 a1) b1) a2) b2)
(/.f64 (*.f64 (neg.f64 a2) #s(approx a1 a1)) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 (/.f64 #s(approx a1 a1) b2) b1) (neg.f64 a2)))
(*.f64 (neg.f64 #s(approx a1 a1)) (neg.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 #s(approx a1 a1)))
(*.f64 #s(approx a1 a1) a2)
(*.f64 a2 #s(approx a1 a1))
(neg.f64 (*.f64 (neg.f64 a2) #s(approx a1 a1)))
#s(approx a1 a1)
(neg.f64 (neg.f64 #s(approx a1 a1)))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (/ a1 b1) (/.f64 a1 b1))
#s(approx a1 a1)
(neg.f64 (neg.f64 #s(approx a1 a1)))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (/ a1 (* b1 b2)) (/.f64 (/.f64 a1 b1) b2))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (* a1 a2) (*.f64 a1 a2))
#s(approx (/ a2 b2) (/.f64 a2 b2))
#s(approx a2 a2)
#s(approx b1 b1)
#s(approx (* b1 b2) (*.f64 b1 b2))
#s(approx b2 b2)

eval11.0ms (0.5%)

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

Compiled 1 257 to 193 computations (84.6% saved)

prune60.0ms (2.7%)

Memory
-18.8MiB live, 121.9MiB allocated; 5ms collecting garbage
Pruning

99 alts after pruning (88 fresh and 11 done)

PrunedKeptTotal
New10041141
Fresh24749
Picked055
Done066
Total10299201
Accuracy
100.0%
Counts
201 → 99
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.7%
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
83.1%
(/.f64 (*.f64 (/.f64 #s(approx a1 a1) b2) a2) b1)
93.6%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
86.9%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
91.3%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
91.2%
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
72.7%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 1 435 to 1 374 computations (4.3% saved)

series16.0ms (0.7%)

Memory
-16.5MiB live, 32.0MiB allocated; 3ms collecting garbage
Counts
15 → 12
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
(*.f64 b1 b2)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
(*.f64 #s(approx a1 a1) a2)
#s(approx a1 a1)
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 (* (/ 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 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx b1 #s(hole binary64 b1))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b2 #s(hole binary64 b2))
Calls

12 calls:

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

rewrite22.0ms (1%)

Memory
20.7MiB live, 20.7MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034155
043155
175155
2185155
3579155
4817155
5826155
0826155
Stop Event
iter limit
saturated
iter limit
Counts
27 → 139
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 a1 (*.f64 b1 b2))
(*.f64 b1 b2)
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
(*.f64 #s(approx a1 a1) a2)
#s(approx a1 a1)
#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 (* (/ 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 a2) (* b1 b2)) #s(hole binary64 (/ (* a1 a2) (* b1 b2))))
#s(approx (* a1 a2) #s(hole binary64 (* a1 a2)))
#s(approx (/ a2 b2) #s(hole binary64 (/ a2 b2)))
#s(approx a2 #s(hole binary64 a2))
#s(approx b1 #s(hole binary64 b1))
#s(approx (* b1 b2) #s(hole binary64 (* b1 b2)))
#s(approx b2 #s(hole binary64 b2))
Outputs
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b1) b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) 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 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b1) b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) a2))
(/.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b2) b1)
(/.f64 (neg.f64 a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (/.f64 a1 b1) b2)
(/.f64 a1 (*.f64 b1 b2))
(neg.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 b2) (neg.f64 b1))
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 b1 b2)
(*.f64 b2 b1)
(neg.f64 (*.f64 (neg.f64 b1) b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) (neg.f64 a2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (neg.f64 a2) (/.f64 a1 (*.f64 (neg.f64 b1) b2)))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 a1 b1) b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b1) (neg.f64 b2))
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 a1 (*.f64 (neg.f64 b1) b2)) a2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 a1 a2)
(*.f64 a2 a1)
(neg.f64 (*.f64 (neg.f64 a1) a2))
(*.f64 (/.f64 (/.f64 #s(approx a1 a1) b2) (neg.f64 b1)) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 #s(approx a1 a1) b2) b1) a2)
(*.f64 (/.f64 (/.f64 a2 b1) b2) #s(approx a1 a1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 #s(approx a1 a1)))
(*.f64 (/.f64 #s(approx a1 a1) (neg.f64 b2)) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 #s(approx a1 a1) (neg.f64 b2)))
(*.f64 (/.f64 #s(approx a1 a1) (neg.f64 b1)) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 #s(approx a1 a1) (neg.f64 b1)))
(*.f64 (/.f64 #s(approx a1 a1) b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 #s(approx a1 a1) b2))
(*.f64 (neg.f64 #s(approx a1 a1)) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (/.f64 #s(approx a1 a1) b1) (/.f64 a2 b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 #s(approx a1 a1) b2) (neg.f64 b1)))
(*.f64 (/.f64 a2 b2) (/.f64 #s(approx a1 a1) b1))
(*.f64 #s(approx a1 a1) (/.f64 (/.f64 a2 b1) b2))
(*.f64 a2 (/.f64 (/.f64 #s(approx a1 a1) b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) #s(approx a1 a1)) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 #s(approx a1 a1) b2) a2) b1)
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) #s(approx a1 a1)) (neg.f64 b2))
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
(/.f64 (*.f64 (/.f64 #s(approx a1 a1) b1) a2) b2)
(/.f64 (*.f64 (neg.f64 a2) #s(approx a1 a1)) (*.f64 (neg.f64 b1) b2))
(neg.f64 (*.f64 (/.f64 (/.f64 #s(approx a1 a1) b2) b1) (neg.f64 a2)))
(*.f64 (neg.f64 #s(approx a1 a1)) (neg.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 #s(approx a1 a1)))
(*.f64 #s(approx a1 a1) a2)
(*.f64 a2 #s(approx a1 a1))
(neg.f64 (*.f64 (neg.f64 a2) #s(approx a1 a1)))
#s(approx a1 a1)
(neg.f64 (neg.f64 #s(approx a1 a1)))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (/ a1 b1) (/.f64 a1 b1))
#s(approx a1 a1)
(neg.f64 (neg.f64 #s(approx a1 a1)))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (/ a1 (* b1 b2)) (/.f64 (/.f64 a1 b1) b2))
#s(approx (* (/ a1 (* b1 b2)) a2) (*.f64 (/.f64 (/.f64 a2 b1) b2) a1))
#s(approx (* a1 a2) (*.f64 a1 a2))
#s(approx (/ a2 b2) (/.f64 a2 b2))
#s(approx a2 a2)
#s(approx b1 b1)
#s(approx (* b1 b2) (*.f64 b1 b2))
#s(approx b2 b2)

eval11.0ms (0.5%)

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

Compiled 1 257 to 193 computations (84.6% saved)

prune106.0ms (4.7%)

Memory
-1.0MiB live, 91.6MiB allocated; 4ms collecting garbage
Pruning

137 alts after pruning (121 fresh and 16 done)

PrunedKeptTotal
New10338141
Fresh08383
Picked055
Done01111
Total103137240
Accuracy
100.0%
Counts
240 → 137
Alt Table
Click to see full alt table
StatusAccuracyProgram
85.7%
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
83.1%
(/.f64 (*.f64 (/.f64 #s(approx a1 a1) b2) a2) b1)
93.6%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
86.9%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 #s(approx a1 a1) a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 #s(approx a2 a2)) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 #s(approx b1 b1) b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 #s(approx b2 b2)))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 (*.f64 a1 a2) #s(approx (* b1 b2) (*.f64 b1 b2)))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
83.6%
(/.f64 #s(approx (* a1 a2) (*.f64 a1 a2)) (*.f64 b1 b2))
91.3%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
80.7%
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
91.2%
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
91.2%
(*.f64 (/.f64 (/.f64 a1 b1) b2) a2)
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
98.3%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
72.7%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
84.7%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 1 141 to 1 045 computations (8.4% saved)

regimes28.0ms (1.2%)

Memory
6.4MiB live, 52.1MiB allocated; 4ms collecting garbage
Counts
12 → 1
Calls
Call 1
Inputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.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 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(/.f64 (*.f64 (/.f64 #s(approx a1 a1) b2) a2) b1)
(/.f64 (/.f64 (*.f64 (neg.f64 a1) a2) b2) (neg.f64 b1))
(/.f64 (/.f64 (*.f64 (neg.f64 a2) a1) b1) (neg.f64 b2))
Outputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
Calls

7 calls:

6.0ms
b1
4.0ms
a2
4.0ms
b2
3.0ms
a1
3.0ms
(*.f64 a1 a2)
Results
AccuracySegmentsBranch
98.3%1(*.f64 b1 b2)
98.3%1(*.f64 a1 a2)
98.3%1(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
98.3%1a1
98.3%1a2
98.3%1b1
98.3%1b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes14.0ms (0.6%)

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

7 calls:

4.0ms
a2
2.0ms
(*.f64 b1 b2)
1.0ms
a1
1.0ms
b2
1.0ms
b1
Results
AccuracySegmentsBranch
95.5%4(*.f64 b1 b2)
93.2%3(*.f64 a1 a2)
96.5%3(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
90.0%2a1
90.9%3a2
90.3%2b1
90.2%3b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes9.0ms (0.4%)

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

7 calls:

1.0ms
a1
1.0ms
a2
1.0ms
(*.f64 a1 a2)
1.0ms
b1
1.0ms
b2
Results
AccuracySegmentsBranch
86.9%2b2
84.7%1a2
88.4%2a1
84.7%1b1
88.4%2(*.f64 a1 a2)
86.5%2(*.f64 b1 b2)
88.5%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes8.0ms (0.3%)

Memory
-26.8MiB live, 20.3MiB allocated; 2ms 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

6 calls:

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

Compiled 16 to 29 computations (-81.3% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.886877035785946e+296
+inf
0.0ms
0.0
4.0631177466583905e-303
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.1842530246296264e+33
5.77246286837074e+36
Compiler

Compiled 10 to 14 computations (-40% saved)

derivations16.0ms (0.7%)

Memory
25.3MiB live, 25.3MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 79 to 24 computations (69.6% saved)

preprocess784.0ms (35.1%)

Memory
-11.9MiB live, 1 130.3MiB allocated; 108ms collecting garbage
Remove

(sort b1 b2)

(negabs b2)

(negabs b1)

(negabs a1)

Compiler

Compiled 1 812 to 888 computations (51% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...