Quotient of products

Time bar (total: 2.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze143.0ms (7.3%)

Memory
-17.0MiB live, 224.2MiB 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 9 to 9 computations (0% saved)

sample763.0ms (38.8%)

Memory
51.4MiB live, 1 371.1MiB allocated
Samples
486.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 206.0ms
ival-mult: 124.0ms (60.1% of total)
ival-div: 73.0ms (35.4% of total)
ival-true: 6.0ms (2.9% of total)
ival-assert: 3.0ms (1.5% of total)
Bogosity

explain99.0ms (5%)

Memory
-42.4MiB live, 113.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
480-2(-1.0975691206428993e-63 -1.7768667740147778e-233 4.448860261269819e-187 -6.2670458762712405e-137)(/.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))n/o110
(*.f64 b1 b2)overflow37
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))n/u100
(*.f64 b1 b2)underflow34
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/n90
(*.f64 a1 a2)overflow33
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/n70
(*.f64 a1 a2)underflow24
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))o/o50
(*.f64 a1 a2)overflow33
(*.f64 b1 b2)overflow37
/.f64(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))u/u40
(*.f64 a1 a2)underflow24
(*.f64 b1 b2)underflow34
Confusion
Predicted +Predicted -
+462
-0208
Precision
1.0
Recall
0.9583333333333334
Confusion?
Predicted +Predicted MaybePredicted -
+4602
-00208
Precision?
1.0
Recall?
0.9583333333333334
Freqs
test
numberfreq
0210
146
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
56.0ms512×0valid
Compiler

Compiled 45 to 25 computations (44.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 7.0ms (66% of total)
ival-div: 3.0ms (28.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess39.0ms (2%)

Memory
21.2MiB live, 67.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036114
1116102
2326102
3697102
4997102
51879102
61895102
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 b2)

(negabs b1)

(negabs a2)

(negabs a1)

(sort a1 a2)

(sort b1 b2)

Compiler

Compiled 7 to 7 computations (0% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 7 to 7 computations (0% saved)

simplify4.0ms (0.2%)

Memory
6.8MiB live, 6.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 b1 b2)
cost-diff0
(*.f64 a1 a2)
cost-diff0
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
01017
11917
23717
34817
44817
04817
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
a1
a2
(*.f64 b1 b2)
b1
b2
Outputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 a1 a2)
(*.f64 a2 a1)
a1
a2
(*.f64 b1 b2)
(*.f64 b2 b1)
b1
b2

localize19.0ms (1%)

Memory
-8.0MiB live, 38.1MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 b1 b2)
accuracy0.0
(*.f64 a1 a2)
accuracy10.972701206006748
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
Samples
15.0ms256×0valid
Compiler

Compiled 19 to 9 computations (52.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 5.0ms (70.4% of total)
ival-div: 1.0ms (14.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series15.0ms (0.8%)

Memory
-26.2MiB live, 26.8MiB allocated
Counts
3 → 3
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(*.f64 b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(* a1 a2)
(* b1 b2)
Calls

12 calls:

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

simplify3.0ms (0.2%)

Memory
4.9MiB live, 4.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11613
23413
34513
44513
04513
Stop Event
iter limit
saturated
Counts
3 → 3
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(* a1 a2)
(* b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(* a1 a2)
(*.f64 a2 a1)
(* b1 b2)
(*.f64 b2 b1)

rewrite21.0ms (1.1%)

Memory
-12.0MiB live, 34.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
01013
12213
26513
320913
454813
555713
055713
Stop Event
iter limit
saturated
iter limit
Counts
3 → 33
Calls
Call 1
Inputs
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(*.f64 a1 a2)
(*.f64 b1 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 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) 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 a2 a1) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (neg.f64 a1) a2) (*.f64 (neg.f64 b2) b1))
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (neg.f64 a1) (neg.f64 a2))
(*.f64 (neg.f64 a2) (neg.f64 a1))
(*.f64 a2 a1)
(*.f64 a1 a2)
(neg.f64 (*.f64 (neg.f64 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))

eval3.0ms (0.2%)

Memory
8.6MiB live, 8.6MiB allocated
Compiler

Compiled 304 to 77 computations (74.7% saved)

prune4.0ms (0.2%)

Memory
10.5MiB live, 10.5MiB allocated
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New30636
Fresh000
Picked011
Done000
Total30737
Accuracy
100.0%
Counts
37 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
81.7%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
92.4%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
82.7%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.4%
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
93.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
97.8%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
75.7%
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Compiler

Compiled 95 to 95 computations (0% saved)

simplify4.0ms (0.2%)

Memory
7.5MiB live, 7.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 a1 b2)
cost-diff0
(*.f64 (/.f64 a1 b2) a2)
cost-diff0
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
cost-diff0
(/.f64 a1 b1)
cost-diff0
(*.f64 (/.f64 a1 b1) a2)
cost-diff0
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
cost-diff0
(/.f64 a2 b2)
cost-diff0
(/.f64 (/.f64 a2 b2) b1)
cost-diff0
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
cost-diff0
(/.f64 a1 b2)
cost-diff0
(/.f64 a2 b1)
cost-diff0
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
cost-diff0
(/.f64 a1 b1)
cost-diff0
(/.f64 a2 b2)
cost-diff0
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01691
02891
14491
25991
36291
06291
Stop Event
iter limit
saturated
iter limit
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)
a2
b1
(/.f64 a1 b2)
a1
b2
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 a2 b2)
a2
b2
b1
a1
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 a1 b1)
a1
b1
a2
b2
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a1 b2)
a1
b2
a2
b1
Outputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 a2 b2)
a2
b2
(/.f64 a1 b1)
a1
b1
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 a2 b1)
a2
b1
(/.f64 a1 b2)
a1
b2
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (/.f64 a2 b1) b2)
(/.f64 a2 b2)
a2
b2
b1
a1
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b1) a2)
(*.f64 (/.f64 a2 b1) a1)
(/.f64 a1 b1)
a1
b1
a2
b2
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a1 b2)
a1
b2
a2
b1

localize44.0ms (2.2%)

Memory
-13.3MiB live, 80.7MiB allocated
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 a1 b2)
accuracy5.5843846754952935
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
accuracy7.203465997793893
(*.f64 (/.f64 a1 b2) a2)
accuracy0.0
(/.f64 a1 b1)
accuracy1.3459477713138892
(*.f64 (/.f64 a1 b1) a2)
accuracy4.804477862834117
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
accuracy0.0
(/.f64 a2 b2)
accuracy1.3364371130068897
(/.f64 (/.f64 a2 b2) b1)
accuracy4.139808356559227
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
accuracy0.0
(/.f64 a2 b1)
accuracy0.0
(/.f64 a1 b2)
accuracy15.433284465294662
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
accuracy0.0
(/.f64 a2 b2)
accuracy0.0
(/.f64 a1 b1)
accuracy1.3967606867389106
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
Samples
34.0ms256×0valid
Compiler

Compiled 93 to 18 computations (80.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-div: 11.0ms (61.7% of total)
ival-mult: 7.0ms (39.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series25.0ms (1.3%)

Memory
-2.9MiB live, 45.7MiB allocated
Counts
12 → 8
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
(/.f64 a1 b1)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(/.f64 a1 b2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
Outputs
(/ (* a1 a2) (* b1 b2))
(/ a1 b1)
(/ a1 b2)
(/ (* a1 a2) b1)
(/ (* a1 a2) b2)
(/ a2 b2)
(/ a2 b1)
(/ a2 (* b1 b2))
Calls

12 calls:

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

simplify3.0ms (0.2%)

Memory
6.2MiB live, 6.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01434
12234
23634
34134
04134
Stop Event
iter limit
saturated
Counts
8 → 8
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(/ a1 b1)
(/ a1 b2)
(/ (* a1 a2) b1)
(/ (* a1 a2) b2)
(/ a2 b2)
(/ a2 b1)
(/ a2 (* b1 b2))
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(/ a1 b1)
(/.f64 a1 b1)
(/ a1 b2)
(/.f64 a1 b2)
(/ (* a1 a2) b1)
(*.f64 (/.f64 a2 b1) a1)
(/ (* a1 a2) b2)
(*.f64 (/.f64 a1 b2) a2)
(/ a2 b2)
(/.f64 a2 b2)
(/ a2 b1)
(/.f64 a2 b1)
(/ a2 (* b1 b2))
(/.f64 (/.f64 a2 b1) b2)

rewrite13.0ms (0.7%)

Memory
25.9MiB live, 25.9MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01662
02862
16262
219462
353462
458162
058162
Stop Event
iter limit
saturated
iter limit
Counts
12 → 156
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(/.f64 a2 b2)
(/.f64 a1 b1)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(/.f64 a2 b1)
(/.f64 a1 b2)
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (/.f64 a2 b2) b1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(*.f64 (/.f64 a1 b1) a2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(*.f64 (/.f64 a1 b2) a2)
Outputs
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.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 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(/.f64 (neg.f64 a2) (neg.f64 b2))
(/.f64 a2 b2)
(neg.f64 (/.f64 (neg.f64 a2) b2))
(/.f64 (neg.f64 a1) (neg.f64 b1))
(/.f64 a1 b1)
(neg.f64 (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.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 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(/.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 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.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 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(/.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 b1) b2))
(/.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 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.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 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(*.f64 (/.f64 (neg.f64 a1) b1) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b1) (neg.f64 a1))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) 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 a2) a1) (neg.f64 b1))
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.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 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (/.f64 a2 b1) a1) b2)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) a1))
(*.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 a1))
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b2))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 a1 (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) a1)
(*.f64 a2 (/.f64 a1 b2))
(/.f64 (*.f64 a1 a2) b2)
(/.f64 (*.f64 (neg.f64 a2) a1) (neg.f64 b2))
(neg.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1))

eval10.0ms (0.5%)

Memory
-25.5MiB live, 22.0MiB allocated
Compiler

Compiled 726 to 161 computations (77.8% saved)

prune4.0ms (0.2%)

Memory
12.9MiB live, 12.9MiB allocated
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New82284
Fresh011
Picked145
Done011
Total83891
Accuracy
100.0%
Counts
91 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.9%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
81.7%
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
92.4%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
82.7%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.4%
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
93.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
86.4%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
97.8%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
Compiler

Compiled 58 to 58 computations (0% saved)

simplify8.0ms (0.4%)

Memory
14.7MiB live, 14.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 a2 b2)
cost-diff0
(*.f64 (/.f64 a2 b2) a1)
cost-diff0
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
cost-diff0
(neg.f64 a1)
cost-diff0
(/.f64 (neg.f64 a1) b1)
cost-diff0
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
cost-diff2
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
cost-diff0
(*.f64 b1 b2)
cost-diff0
(/.f64 a2 (*.f64 b1 b2))
cost-diff0
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01565
02663
14363
28863
318363
433263
542263
042263
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
a2
(*.f64 b1 b2)
b1
b2
a1
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
a1
b1
b2
(neg.f64 a2)
a2
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 b2)
a2
b2
a1
b1
Outputs
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 a2 (*.f64 b1 b2))
(/.f64 a2 (*.f64 b2 b1))
a2
(*.f64 b1 b2)
(*.f64 b2 b1)
b1
b2
a1
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
a1
b1
b2
(neg.f64 a2)
a2
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 a1 (/.f64 a2 (*.f64 b2 b1)))
(*.f64 (/.f64 a2 b2) a1)
(*.f64 (/.f64 a1 b2) a2)
(/.f64 a2 b2)
a2
b2
a1
b1

localize39.0ms (2%)

Memory
-18.0MiB live, 76.7MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 a2 b2)
accuracy1.8146158415615192
(*.f64 (/.f64 a2 b2) a1)
accuracy5.5843846754952935
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
accuracy0.0
(neg.f64 a2)
accuracy0.0
(neg.f64 a1)
accuracy2.04114257983438
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
accuracy6.690216171429381
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
accuracy0.0
(*.f64 b1 b2)
accuracy4.139808356559227
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
accuracy5.98949734372018
(/.f64 a2 (*.f64 b1 b2))
Samples
31.0ms256×0valid
Compiler

Compiled 67 to 17 computations (74.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-div: 9.0ms (51.9% of total)
ival-mult: 6.0ms (34.6% of total)
ival-neg: 2.0ms (11.5% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series20.0ms (1%)

Memory
-4.1MiB live, 44.6MiB allocated
Counts
11 → 9
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
(*.f64 b1 b2)
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 b2)
(neg.f64 a2)
Outputs
(/ (* a1 a2) (* b1 b2))
(* -1 (/ a1 (* b1 b2)))
(* -1 (/ a1 b1))
(* -1 a1)
(/ (* a1 a2) b2)
(/ a2 (* b1 b2))
(/ a2 b2)
(* -1 a2)
(* b1 b2)
Calls

12 calls:

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

simplify4.0ms (0.2%)

Memory
8.7MiB live, 8.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01737
13737
27137
39537
49637
09637
Stop Event
iter limit
saturated
Counts
9 → 9
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(* -1 (/ a1 (* b1 b2)))
(* -1 (/ a1 b1))
(* -1 a1)
(/ (* a1 a2) b2)
(/ a2 (* b1 b2))
(/ a2 b2)
(* -1 a2)
(* b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(* -1 (/ a1 (* b1 b2)))
(/.f64 (/.f64 (neg.f64 a1) b2) b1)
(* -1 (/ a1 b1))
(/.f64 (neg.f64 a1) b1)
(* -1 a1)
(neg.f64 a1)
(/ (* a1 a2) b2)
(/.f64 (*.f64 a1 a2) b2)
(/ a2 (* b1 b2))
(/.f64 a2 (*.f64 b2 b1))
(/ a2 b2)
(/.f64 a2 b2)
(* -1 a2)
(neg.f64 a2)
(* b1 b2)
(*.f64 b2 b1)

rewrite13.0ms (0.7%)

Memory
-23.9MiB live, 23.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01553
02651
15451
217151
342151
443951
043951
Stop Event
iter limit
saturated
iter limit
Counts
11 → 107
Calls
Call 1
Inputs
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(/.f64 a2 (*.f64 b1 b2))
(*.f64 b1 b2)
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) b1)
(neg.f64 a1)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(*.f64 (/.f64 a2 b2) a1)
(/.f64 a2 b2)
(neg.f64 a2)
Outputs
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(/.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 (neg.f64 b2) (neg.f64 b1))
(*.f64 (neg.f64 b1) (neg.f64 b2))
(*.f64 b2 b1)
(*.f64 b1 b2)
(neg.f64 (*.f64 (neg.f64 b1) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(/.f64 (/.f64 (neg.f64 a1) b2) b1)
(/.f64 (/.f64 a1 b2) (neg.f64 b1))
(/.f64 (/.f64 a1 b1) (neg.f64 b2))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (neg.f64 a1) (*.f64 b2 b1))
(/.f64 a1 (*.f64 (neg.f64 b1) b2))
(neg.f64 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (neg.f64 a1) b1)
(/.f64 a1 (neg.f64 b1))
(neg.f64 (/.f64 a1 b1))
(neg.f64 a1)
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 (/.f64 a1 b2) b1) a2)
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b1) b2) (neg.f64 a1))
(*.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 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (neg.f64 a2) (/.f64 (/.f64 (neg.f64 a1) b1) b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b1) b2))
(*.f64 a1 (/.f64 (/.f64 a2 b1) b2))
(*.f64 (/.f64 (/.f64 a2 b1) b2) a1)
(*.f64 a2 (/.f64 (/.f64 a1 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2) (neg.f64 b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b1) a1) (neg.f64 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b1) b2))
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 a1 a2) (*.f64 b2 b1))
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
(neg.f64 (*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) a2))
(*.f64 (/.f64 (neg.f64 a1) b2) (neg.f64 a2))
(*.f64 (/.f64 (neg.f64 a2) b2) (neg.f64 a1))
(*.f64 (/.f64 a1 b2) a2)
(*.f64 (/.f64 a2 b2) a1)
(*.f64 (neg.f64 a2) (/.f64 (neg.f64 a1) b2))
(*.f64 (neg.f64 a1) (/.f64 (neg.f64 a2) b2))
(*.f64 a1 (/.f64 a2 b2))
(*.f64 a2 (/.f64 a1 b2))
(/.f64 (*.f64 (neg.f64 a2) a1) (neg.f64 b2))
(/.f64 (*.f64 a1 a2) b2)
(neg.f64 (*.f64 (/.f64 (neg.f64 a1) b2) a2))
(/.f64 (neg.f64 a2) (neg.f64 b2))
(/.f64 a2 b2)
(neg.f64 (/.f64 (neg.f64 a2) b2))
(neg.f64 a2)

eval7.0ms (0.3%)

Memory
17.6MiB live, 17.6MiB allocated
Compiler

Compiled 622 to 151 computations (75.7% saved)

prune4.0ms (0.2%)

Memory
11.8MiB live, 11.8MiB allocated
Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New69170
Fresh000
Picked033
Done145
Total70878
Accuracy
100.0%
Counts
78 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.9%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
92.4%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
82.7%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.4%
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
93.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
83.4%
(*.f64 (/.f64 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
86.4%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
97.8%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
Compiler

Compiled 60 to 60 computations (0% saved)

simplify8.0ms (0.4%)

Memory
-33.4MiB live, 14.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 b2 b1)
cost-diff0
(neg.f64 a1)
cost-diff0
(/.f64 (neg.f64 a1) (*.f64 b2 b1))
cost-diff2
(*.f64 (/.f64 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0926
01426
12426
26624
316424
435224
546624
046624
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
(/.f64 (neg.f64 a1) (*.f64 b2 b1))
(neg.f64 a1)
a1
(*.f64 b2 b1)
b2
b1
(neg.f64 a2)
a2
Outputs
(*.f64 (/.f64 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(/.f64 (neg.f64 a1) (*.f64 b2 b1))
(/.f64 (/.f64 a1 b1) (neg.f64 b2))
(neg.f64 a1)
a1
(*.f64 b2 b1)
(*.f64 b1 b2)
b2
b1
(neg.f64 a2)
a2

localize21.0ms (1.1%)

Memory
38.5MiB live, 38.5MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(neg.f64 a2)
accuracy0.0
(neg.f64 a1)
accuracy5.701785940042467
(/.f64 (neg.f64 a1) (*.f64 b2 b1))
accuracy6.690216171429381
(*.f64 (/.f64 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
Samples
16.0ms256×0valid
Compiler

Compiled 28 to 11 computations (60.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 3.0ms (40% of total)
ival-div: 2.0ms (26.6% of total)
ival-neg: 2.0ms (26.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.6%)

Memory
-19.1MiB live, 27.5MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
(*.f64 (/.f64 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
(/.f64 (neg.f64 a1) (*.f64 b2 b1))
(neg.f64 a1)
(*.f64 b2 b1)
(neg.f64 a2)
Outputs
(/ (* a1 a2) (* b1 b2))
(* -1 (/ a1 (* b1 b2)))
(* -1 a1)
(* -1 a2)
(* b1 b2)
Calls

12 calls:

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

simplify4.0ms (0.2%)

Memory
5.2MiB live, 5.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
12920
26920
310120
410220
010220
Stop Event
iter limit
saturated
Counts
5 → 5
Calls
Call 1
Inputs
(/ (* a1 a2) (* b1 b2))
(* -1 (/ a1 (* b1 b2)))
(* -1 a1)
(* -1 a2)
(* b1 b2)
Outputs
(/ (* a1 a2) (* b1 b2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(* -1 (/ a1 (* b1 b2)))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(* -1 a1)
(neg.f64 a1)
(* -1 a2)
(neg.f64 a2)
(* b1 b2)
(*.f64 b1 b2)

rewrite12.0ms (0.6%)

Memory
12.2MiB live, 12.2MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0922
01422
12722
29220
324720
444820
545820
045820
Stop Event
iter limit
saturated
iter limit
Counts
5 → 37
Calls
Call 1
Inputs
(*.f64 (/.f64 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
(/.f64 (neg.f64 a1) (*.f64 b2 b1))
(neg.f64 a1)
(*.f64 b2 b1)
(neg.f64 a2)
Outputs
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 (/.f64 (neg.f64 a2) b2) b1) (neg.f64 a1))
(*.f64 (/.f64 a1 b1) (/.f64 a2 b2))
(*.f64 (/.f64 a1 b2) (/.f64 a2 b1))
(*.f64 (/.f64 (neg.f64 a2) b2) (/.f64 (neg.f64 a1) b1))
(*.f64 (/.f64 (neg.f64 a1) b1) (/.f64 (neg.f64 a2) b2))
(*.f64 (/.f64 (neg.f64 a2) b1) (/.f64 (neg.f64 a1) b2))
(*.f64 (/.f64 (neg.f64 a1) b2) (/.f64 (neg.f64 a2) b1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (neg.f64 a2) (/.f64 (/.f64 a1 b1) (neg.f64 b2)))
(*.f64 a2 (/.f64 a1 (*.f64 b1 b2)))
(*.f64 (/.f64 (/.f64 a1 b1) (neg.f64 b2)) (neg.f64 a2))
(*.f64 (neg.f64 a1) (/.f64 (/.f64 (neg.f64 a2) b2) b1))
(*.f64 a1 (/.f64 (/.f64 a2 b2) b1))
(/.f64 (*.f64 (/.f64 (neg.f64 a1) b1) a2) (neg.f64 b2))
(/.f64 (*.f64 (/.f64 (neg.f64 a2) b2) a1) (neg.f64 b1))
(/.f64 (/.f64 (*.f64 a2 a1) b1) b2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
(/.f64 (*.f64 (neg.f64 a2) a1) (*.f64 (neg.f64 b2) b1))
(/.f64 (*.f64 a2 a1) (*.f64 b1 b2))
(neg.f64 (*.f64 (/.f64 (/.f64 a2 b2) b1) (neg.f64 a1)))
(/.f64 (/.f64 a1 b1) (neg.f64 b2))
(/.f64 (/.f64 a1 b2) (neg.f64 b1))
(/.f64 (/.f64 (neg.f64 a1) b1) b2)
(/.f64 (/.f64 (neg.f64 a1) b2) b1)
(/.f64 (neg.f64 a1) (*.f64 b1 b2))
(/.f64 a1 (*.f64 (neg.f64 b2) b1))
(neg.f64 (/.f64 a1 (*.f64 b1 b2)))
(neg.f64 a1)
(*.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 b2) b1))
(neg.f64 a2)

eval4.0ms (0.2%)

Memory
6.5MiB live, 6.5MiB allocated
Compiler

Compiled 387 to 92 computations (76.2% saved)

prune41.0ms (2.1%)

Memory
-50.2MiB live, 11.5MiB allocated
Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New41142
Fresh000
Picked101
Done077
Total42850
Accuracy
100.0%
Counts
50 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
90.9%
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
92.4%
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
82.7%
(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.4%
(*.f64 (/.f64 (/.f64 (neg.f64 a1) b1) b2) (neg.f64 a2))
93.1%
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
86.4%
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
97.8%
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
83.4%
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Compiler

Compiled 139 to 91 computations (34.5% saved)

regimes27.0ms (1.4%)

Memory
-5.5MiB live, 43.9MiB allocated
Counts
11 → 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 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.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 (neg.f64 a1) b1) b2) (neg.f64 a2))
Outputs
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a2 b2) a1) b1)
Calls

7 calls:

7.0ms
(*.f64 b1 b2)
3.0ms
a2
3.0ms
b2
3.0ms
a1
3.0ms
b1
Results
AccuracySegmentsBranch
97.8%1(*.f64 b1 b2)
99.7%2(*.f64 a1 a2)
97.8%1(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
97.8%1a1
97.8%1a2
97.8%1b1
97.8%1b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes20.0ms (1%)

Memory
41.6MiB live, 41.6MiB allocated
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 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(*.f64 (/.f64 (/.f64 a2 b2) b1) a1)
(/.f64 (*.f64 (/.f64 a1 b1) a2) b2)
(/.f64 (*.f64 (/.f64 a1 b2) a2) b1)
Outputs
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
Calls

7 calls:

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

Compiled 17 to 33 computations (-94.1% saved)

regimes15.0ms (0.7%)

Memory
-23.9MiB live, 22.8MiB allocated
Counts
5 → 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 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Outputs
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
(*.f64 (/.f64 a2 b1) (/.f64 a1 b2))
Calls

7 calls:

3.0ms
b2
2.0ms
a2
2.0ms
b1
2.0ms
a1
2.0ms
(*.f64 a1 a2)
Results
AccuracySegmentsBranch
96.4%3(*.f64 b1 b2)
90.9%3(*.f64 a1 a2)
95.5%3(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
86.4%1a1
88.7%2a2
91.0%2b1
91.8%2b2
Compiler

Compiled 17 to 33 computations (-94.1% saved)

regimes10.0ms (0.5%)

Memory
23.2MiB live, 23.2MiB allocated
Counts
4 → 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 (neg.f64 a1) (*.f64 b2 b1)) (neg.f64 a2))
Outputs
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
(*.f64 (/.f64 a2 (*.f64 b1 b2)) a1)
Calls

6 calls:

2.0ms
a2
2.0ms
b1
2.0ms
b2
2.0ms
(*.f64 a1 a2)
2.0ms
(*.f64 b1 b2)
Results
AccuracySegmentsBranch
86.4%1a2
86.4%1(*.f64 a1 a2)
86.4%1b1
86.4%1b2
88.5%2(/.f64 (*.f64 a1 a2) (*.f64 b1 b2))
88.5%2(*.f64 b1 b2)
Compiler

Compiled 16 to 29 computations (-81.3% saved)

regimes9.0ms (0.5%)

Memory
-23.9MiB live, 22.0MiB allocated
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:

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

Compiled 17 to 33 computations (-94.1% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.2384693387223662e-23
2.6623659603459134e-22
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.424560524834627e+284
6.398602507819129e+285
0.0ms
1.253889752359218e-234
4.739375634841684e-234
Compiler

Compiled 10 to 14 computations (-40% saved)

bsearch0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.698510095479993e+35
1.4946402464716304e+41
Compiler

Compiled 10 to 14 computations (-40% saved)

simplify9.0ms (0.5%)

Memory
12.9MiB live, 12.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03281
13581
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 a1 a2) #s(literal 6805647338418769/170141183460469231731687303715884105728 binary64)) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) (/.f64 (*.f64 (/.f64 a2 b2) a1) b1))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(if (<=.f64 (*.f64 b1 b2) #s(literal 1789931494904685/894965747452342537638086997927338702835054349130332891545045303197220750167278254979540133307019636732167484663093741252324901898658543021888907063798893113141027322124350378195837539421218086757657500257242038983622829800210549487979962097077321728 binary64)) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 (*.f64 b1 b2) #s(literal 400000000000000031685753003383070616502727676679884373633559736933774303590068411090178138228823058119008651333177672249627352852460208395355127829283505427414172483285967527011578668282082328903098837876871188522020228736277526594181499092977494229868905243002968168865846614770581504 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))
(if (<=.f64 (*.f64 b1 b2) #s(literal 199999999999999993726732215835951104 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)
Outputs
(if (<=.f64 (*.f64 a1 a2) #s(literal 6805647338418769/170141183460469231731687303715884105728 binary64)) (/.f64 (*.f64 (/.f64 a1 b1) a2) b2) (/.f64 (*.f64 (/.f64 a2 b2) a1) b1))
(*.f64 (/.f64 a2 b2) (/.f64 a1 b1))
(if (<=.f64 (*.f64 b1 b2) #s(literal 1789931494904685/894965747452342537638086997927338702835054349130332891545045303197220750167278254979540133307019636732167484663093741252324901898658543021888907063798893113141027322124350378195837539421218086757657500257242038983622829800210549487979962097077321728 binary64)) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (if (<=.f64 (*.f64 b1 b2) #s(literal 400000000000000031685753003383070616502727676679884373633559736933774303590068411090178138228823058119008651333177672249627352852460208395355127829283505427414172483285967527011578668282082328903098837876871188522020228736277526594181499092977494229868905243002968168865846614770581504 binary64)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2))))
(if (or (<=.f64 (*.f64 b1 b2) #s(literal 1789931494904685/894965747452342537638086997927338702835054349130332891545045303197220750167278254979540133307019636732167484663093741252324901898658543021888907063798893113141027322124350378195837539421218086757657500257242038983622829800210549487979962097077321728 binary64)) (not (<=.f64 (*.f64 b1 b2) #s(literal 400000000000000031685753003383070616502727676679884373633559736933774303590068411090178138228823058119008651333177672249627352852460208395355127829283505427414172483285967527011578668282082328903098837876871188522020228736277526594181499092977494229868905243002968168865846614770581504 binary64)))) (*.f64 (/.f64 a2 b1) (/.f64 a1 b2)) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1))
(if (<=.f64 (*.f64 b1 b2) #s(literal 199999999999999993726732215835951104 binary64)) (*.f64 (/.f64 a1 (*.f64 b1 b2)) a2) (*.f64 (/.f64 a2 (*.f64 b1 b2)) a1))
(*.f64 (/.f64 a1 (*.f64 b1 b2)) a2)

derivations70.0ms (3.5%)

Memory
-0.8MiB live, 96.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0922
01422
12722
29220
324720
444820
545820
045820
01662
02862
16262
219462
353462
458162
058162
0713
01013
12213
26513
320913
454813
555713
055713
01553
02651
15451
217151
342151
443951
043951
Stop Event
fuel
iter limit
saturated
iter limit
iter limit
saturated
iter limit
iter limit
saturated
iter limit
iter limit
saturated
iter limit
Compiler

Compiled 81 to 33 computations (59.3% saved)

preprocess391.0ms (19.9%)

Memory
-12.9MiB live, 511.5MiB allocated
Compiler

Compiled 430 to 262 computations (39.1% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...