Linear.Matrix:fromQuaternion from linear-1.19.1.3, A

Time bar (total: 5.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 11 to 9 computations (18.2% saved)

sample922.0ms (18.1%)

Memory
48.4MiB live, 1 221.7MiB allocated
Samples
665.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 336.0ms
ival-mult: 269.0ms (80.1% of total)
ival-sub: 54.0ms (16.1% of total)
ival-true: 6.0ms (1.8% of total)
exact: 5.0ms (1.5% of total)
ival-assert: 3.0ms (0.9% of total)
Bogosity

explain225.0ms (4.4%)

Memory
18.0MiB live, 106.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
120-0-(-.f64 (*.f64 x x) (*.f64 x y))
00-0-#s(literal 2 binary64)
00-0-y
00-0-(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
00-0-(*.f64 x x)
00-0-(*.f64 x y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (*.f64 x x) (*.f64 x y))nan-rescue120
(*.f64 x x)overflow51
(*.f64 x y)overflow22
Confusion
Predicted +Predicted -
+120
-0244
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+1200
-00244
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0244
112
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
26.0ms512×0valid
Compiler

Compiled 63 to 25 computations (60.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-mult: 9.0ms (71.9% of total)
ival-sub: 2.0ms (16% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess311.0ms (6.1%)

Memory
-29.1MiB live, 175.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01939
16735
222235
374335
4204535
5371435
6464535
7521335
8565935
9601935
10628535
11729635
079
0117
1247
2737
32547
46727
513667
626837
742067
853297
957257
1058067
1159237
1259267
1359267
1462127
1564927
1666927
066927
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
Outputs
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
(*.f64 (*.f64 (-.f64 y x) #s(literal -2 binary64)) x)
Compiler

Compiled 9 to 7 computations (22.2% saved)

eval0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.3%
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify163.0ms (3.2%)

Memory
-31.7MiB live, 73.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
cost-diff2
(-.f64 (*.f64 x x) (*.f64 x y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0725
01121
12421
27321
325421
467221
5136621
6268321
7420621
8532921
9572521
10580621
11592321
12592621
13592621
14621221
15649221
16669221
0669221
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
#s(literal 2 binary64)
(-.f64 (*.f64 x x) (*.f64 x y))
(*.f64 x x)
x
(*.f64 x y)
y
Outputs
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
(*.f64 (*.f64 (-.f64 y x) #s(literal -2 binary64)) x)
#s(literal 2 binary64)
(-.f64 (*.f64 x x) (*.f64 x y))
(*.f64 (-.f64 x y) x)
(*.f64 x x)
x
(*.f64 x y)
(*.f64 y x)
y

localize19.0ms (0.4%)

Memory
-6.2MiB live, 38.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy0.0
(*.f64 x x)
accuracy0.00390625
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
accuracy2.542962557490618
(-.f64 (*.f64 x x) (*.f64 x y))
Samples
12.0ms256×0valid
Compiler

Compiled 27 to 9 computations (66.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 5.0ms (81.8% of total)
ival-sub: 1.0ms (16.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.1%)

Memory
14.0MiB live, 14.0MiB allocated
Counts
4 → 15
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) (*.f64 x y))
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
(*.f64 x x)
(*.f64 x y)
Outputs
(* -1 (* x y))
(* x (- x y))
(* -2 (* x y))
(* x (+ (* -2 y) (* 2 x)))
(pow x 2)
(* x y)
(* (pow x 2) (+ 1 (* -1 (/ y x))))
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(+ (* -1 (* x y)) (pow x 2))
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(* y (- (/ (pow x 2) y) x))
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) (* -1 x))))
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((- (* x x) (* x y)) (* 2 (- (* x x) (* x y))) (* x x) (* x y))
1.0ms
y
@inf
((- (* x x) (* x y)) (* 2 (- (* x x) (* x y))) (* x x) (* x y))
1.0ms
x
@0
((- (* x x) (* x y)) (* 2 (- (* x x) (* x y))) (* x x) (* x y))
1.0ms
x
@-inf
((- (* x x) (* x y)) (* 2 (- (* x x) (* x y))) (* x x) (* x y))
1.0ms
y
@-inf
((- (* x x) (* x y)) (* 2 (- (* x x) (* x y))) (* x x) (* x y))

simplify124.0ms (2.4%)

Memory
21.7MiB live, 165.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04290
114080
244680
3153380
4424280
5679880
0807880
Stop Event
iter limit
node limit
Counts
15 → 15
Calls
Call 1
Inputs
(* -1 (* x y))
(* x (- x y))
(* -2 (* x y))
(* x (+ (* -2 y) (* 2 x)))
(pow x 2)
(* x y)
(* (pow x 2) (+ 1 (* -1 (/ y x))))
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(+ (* -1 (* x y)) (pow x 2))
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(* y (- (/ (pow x 2) y) x))
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) (* -1 x))))
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
Outputs
(* -1 (* x y))
(*.f64 (neg.f64 y) x)
(* x (- x y))
(*.f64 (-.f64 x y) x)
(* -2 (* x y))
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(* x (+ (* -2 y) (* 2 x)))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(pow x 2)
(*.f64 x x)
(* x y)
(*.f64 y x)
(* (pow x 2) (+ 1 (* -1 (/ y x))))
(*.f64 (-.f64 x y) x)
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(+ (* -1 (* x y)) (pow x 2))
(*.f64 (-.f64 x y) x)
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(* y (- (/ (pow x 2) y) x))
(*.f64 (-.f64 x y) x)
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(* -1 (* y (- (* -1 (/ (pow x 2) y)) (* -1 x))))
(*.f64 (-.f64 x y) x)
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))

rewrite215.0ms (4.2%)

Memory
-24.8MiB live, 164.1MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0722
01118
13818
231012
3459212
0821912
Stop Event
iter limit
node limit
iter limit
Counts
4 → 100
Calls
Call 1
Inputs
(-.f64 (*.f64 x x) (*.f64 x y))
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
(*.f64 x x)
(*.f64 x y)
Outputs
(*.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 2 binary64)) (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y (+.f64 y x)) #s(literal 3 binary64)) (pow.f64 x #s(literal 12 binary64)))) (fma.f64 (*.f64 (*.f64 (*.f64 y x) x) (-.f64 y x)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (pow.f64 x #s(literal 8 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 y x) x) (-.f64 x y)) (/.f64 (*.f64 (+.f64 y x) x) x))
(*.f64 (/.f64 (*.f64 (+.f64 y x) x) x) (/.f64 (*.f64 (+.f64 y x) x) (-.f64 x y)))
(*.f64 (/.f64 (*.f64 (+.f64 y x) x) x) (/.f64 (*.f64 (+.f64 y x) x) (+.f64 y x)))
(*.f64 (+.f64 y x) x)
(*.f64 #s(literal 1 binary64) (*.f64 (+.f64 y x) x))
(*.f64 (-.f64 x y) x)
(*.f64 (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (/.f64 (*.f64 (+.f64 y x) x) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(*.f64 (*.f64 (+.f64 y x) x) (/.f64 (*.f64 (+.f64 y x) x) (*.f64 (+.f64 y x) x)))
(*.f64 x (-.f64 x (neg.f64 y)))
(*.f64 x (+.f64 x (neg.f64 y)))
(*.f64 x (neg.f64 (+.f64 y x)))
(*.f64 x (+.f64 y x))
(*.f64 x (-.f64 x y))
(/.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 2 binary64)) (-.f64 x y)) x)
(/.f64 (*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) x) (+.f64 y x))
(/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 y (+.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 x (*.f64 (+.f64 y x) (-.f64 x y))) (+.f64 y x))
(/.f64 (*.f64 x (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 y (+.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) #s(literal 2 binary64)) (pow.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))) #s(literal 2 binary64))) (*.f64 (+.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64))) (*.f64 (+.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 x #s(literal 4 binary64))) (*.f64 (+.f64 y x) x))
(/.f64 (-.f64 (/.f64 (pow.f64 x #s(literal 9 binary64)) (pow.f64 (+.f64 y x) #s(literal 3 binary64))) (pow.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))))))
(/.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 2 binary64)) x) (+.f64 y x))
(/.f64 (/.f64 (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 2 binary64)) x) (-.f64 x y))
(/.f64 (-.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (+.f64 y x) x)) (*.f64 (*.f64 (+.f64 y x) x) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (*.f64 (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (pow.f64 (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 12 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (*.f64 (pow.f64 (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64)) (*.f64 (+.f64 y x) x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 12 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 y (+.f64 y x)) #s(literal 2 binary64)) (pow.f64 x #s(literal 8 binary64))) (*.f64 (+.f64 y x) x)))
(/.f64 (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 3 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 18 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) (*.f64 (+.f64 (fma.f64 (pow.f64 x #s(literal 9 binary64)) (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (pow.f64 x #s(literal 12 binary64))) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) y))))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))
(/.f64 (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 2 binary64)) (*.f64 (+.f64 y x) x))
(neg.f64 (*.f64 (+.f64 y x) x))
(fma.f64 (exp.f64 (log.f64 y)) x (*.f64 x x))
(fma.f64 (pow.f64 y #s(literal 1 binary64)) x (*.f64 x x))
(fma.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y (+.f64 y x)) #s(literal 3 binary64)) (pow.f64 x #s(literal 12 binary64)))) (fma.f64 (*.f64 (*.f64 (*.f64 y x) x) (-.f64 y x)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (pow.f64 x #s(literal 8 binary64))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 y x) x) #s(literal 2 binary64))) (*.f64 (+.f64 y x) x) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 (neg.f64 y) x (*.f64 x x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (/.f64 x (*.f64 (+.f64 y x) x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 #s(literal 1 binary64) (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) (/.f64 (*.f64 x x) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 y x (*.f64 x x))
(fma.f64 (*.f64 x x) (/.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (*.f64 x x) (/.f64 (*.f64 x x) (*.f64 (+.f64 y x) x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 (*.f64 x x) (/.f64 x (+.f64 y x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 x (exp.f64 (log.f64 y)) (*.f64 x x))
(fma.f64 x (pow.f64 y #s(literal 1 binary64)) (*.f64 x x))
(fma.f64 x (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 (+.f64 y x) x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 x (/.f64 (*.f64 x x) (+.f64 y x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(fma.f64 x (neg.f64 y) (*.f64 x x))
(fma.f64 x y (*.f64 x x))
(fma.f64 x x (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 x x (*.f64 y x))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(-.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(-.f64 (*.f64 y x) (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (neg.f64 (neg.f64 y)) x))
(-.f64 (*.f64 x x) (*.f64 y x))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) (*.f64 x (/.f64 (*.f64 y y) (+.f64 y x))))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 y x) x) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(+.f64 (*.f64 y x) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 (neg.f64 (neg.f64 y)) x))
(+.f64 (*.f64 x x) (*.f64 y x))
#s(literal 0 binary64)
(*.f64 x x)
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 x))
(pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 (pow.f64 x #s(literal 3 binary64)) x)
(neg.f64 (*.f64 x x))
(sqrt.f64 (pow.f64 x #s(literal 4 binary64)))
(fabs.f64 (*.f64 x x))
(exp.f64 (-.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 3/2 binary64)) (log.f64 x)))
(exp.f64 (-.f64 (*.f64 (log.f64 x) #s(literal 3 binary64)) (log.f64 x)))
(exp.f64 (/.f64 (*.f64 #s(literal 4 binary64) (log.f64 x)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))))
(*.f64 (exp.f64 (log.f64 y)) x)
(*.f64 (pow.f64 y #s(literal 1 binary64)) x)
(*.f64 (neg.f64 y) x)
(*.f64 y x)
(*.f64 x (exp.f64 (log.f64 y)))
(*.f64 x (pow.f64 y #s(literal 1 binary64)))
(*.f64 x (neg.f64 y))
(*.f64 x y)
(pow.f64 (*.f64 y x) #s(literal 1 binary64))
(neg.f64 (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (*.f64 y x)) #s(literal 1 binary64)))
(exp.f64 (log.f64 (*.f64 y x)))
(+.f64 (cosh.f64 (log.f64 (*.f64 y x))) (sinh.f64 (log.f64 (*.f64 y x))))

eval11.0ms (0.2%)

Memory
26.0MiB live, 26.0MiB allocated
Compiler

Compiled 2 073 to 383 computations (81.5% saved)

prune3.0ms (0.1%)

Memory
7.6MiB live, 7.6MiB allocated
Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1034107
Fresh000
Picked101
Done000
Total1044108
Accuracy
100.0%
Counts
108 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
56.9%
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
60.7%
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
15.2%
#s(literal 0 binary64)
Compiler

Compiled 38 to 31 computations (18.4% saved)

simplify152.0ms (3%)

Memory
-29.8MiB live, 61.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 x y)
cost-diff0
(*.f64 (-.f64 x y) x)
cost-diff0
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 2 binary64))
cost-diff0
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
cost-diff0
(*.f64 y x)
cost-diff0
(*.f64 #s(literal -2 binary64) (*.f64 y x))
cost-diff0
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01870
02566
14666
211566
331266
476866
5152866
6296466
7462066
8561566
9603366
10608666
11612166
12613866
13613866
14641066
15668066
16688066
0688066
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
(*.f64 #s(literal -2 binary64) (*.f64 y x))
#s(literal -2 binary64)
(*.f64 y x)
y
x
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 x x)
x
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
#s(literal 2 binary64)
(*.f64 (-.f64 x y) x)
(-.f64 x y)
x
y
Outputs
#s(literal 0 binary64)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) y) x))
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(*.f64 (*.f64 #s(literal -2 binary64) y) x)
#s(literal -2 binary64)
(*.f64 y x)
y
x
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 x x)
x
#s(literal 2 binary64)
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
(*.f64 (*.f64 (-.f64 y x) #s(literal -2 binary64)) x)
#s(literal 2 binary64)
(*.f64 (-.f64 x y) x)
(-.f64 x y)
x
y

localize31.0ms (0.6%)

Memory
30.8MiB live, 30.8MiB allocated
Localize:

Found 9 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 x y)
accuracy0.0
(*.f64 (-.f64 x y) x)
accuracy0.00390625
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
accuracy0.0
(*.f64 x x)
accuracy0.00390625
(*.f64 (*.f64 x x) #s(literal 2 binary64))
accuracy27.596662263756485
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
accuracy0.0
(*.f64 y x)
accuracy0.00390625
(*.f64 #s(literal -2 binary64) (*.f64 y x))
accuracy25.153565732176155
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
Samples
23.0ms256×0valid
Compiler

Compiled 60 to 17 computations (71.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 11.0ms (79.3% of total)
ival-sub: 2.0ms (14.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series9.0ms (0.2%)

Memory
4.4MiB live, 4.4MiB allocated
Counts
9 → 23
Calls
Call 1
Inputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(*.f64 y x)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 x x)
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
(*.f64 (-.f64 x y) x)
(-.f64 x y)
Outputs
(* -2 (* x y))
(* x (+ (* -2 y) (* 2 x)))
(* x y)
(* 2 (pow x 2))
(pow x 2)
(* -1 (* x y))
(* x (+ x (* -1 y)))
(* -1 y)
(- x y)
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(* (pow x 2) (+ 1 (* -1 (/ y x))))
x
(* x (+ 1 (* -1 (/ y x))))
(* -1 (* x (- (/ y x) 1)))
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(+ (* -1 (* x y)) (pow x 2))
(+ x (* -1 y))
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(* y (+ (* -1 x) (/ (pow x 2) y)))
(* y (- (/ x y) 1))
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
(* -1 (* y (+ x (* -1 (/ (pow x 2) y)))))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
Calls

6 calls:

TimeVariablePointExpression
2.0ms
y
@0
((* 2 (- (* x x) (* x y))) (* -2 (* y x)) (* y x) (* 2 (- (* x x) (* x y))) (* (* x x) 2) (* x x) (* 2 (* (- x y) x)) (* (- x y) x) (- x y))
2.0ms
x
@inf
((* 2 (- (* x x) (* x y))) (* -2 (* y x)) (* y x) (* 2 (- (* x x) (* x y))) (* (* x x) 2) (* x x) (* 2 (* (- x y) x)) (* (- x y) x) (- x y))
2.0ms
x
@-inf
((* 2 (- (* x x) (* x y))) (* -2 (* y x)) (* y x) (* 2 (- (* x x) (* x y))) (* (* x x) 2) (* x x) (* 2 (* (- x y) x)) (* (- x y) x) (- x y))
1.0ms
x
@0
((* 2 (- (* x x) (* x y))) (* -2 (* y x)) (* y x) (* 2 (- (* x x) (* x y))) (* (* x x) 2) (* x x) (* 2 (* (- x y) x)) (* (- x y) x) (- x y))
1.0ms
y
@-inf
((* 2 (- (* x x) (* x y))) (* -2 (* y x)) (* y x) (* 2 (- (* x x) (* x y))) (* (* x x) 2) (* x x) (* 2 (* (- x y) x)) (* (- x y) x) (- x y))

simplify288.0ms (5.6%)

Memory
-16.9MiB live, 99.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055122
1200101
2614101
32008101
44965101
57148101
08042101
Stop Event
iter limit
node limit
Counts
23 → 22
Calls
Call 1
Inputs
(* -2 (* x y))
(* x (+ (* -2 y) (* 2 x)))
(* x y)
(* 2 (pow x 2))
(pow x 2)
(* -1 (* x y))
(* x (+ x (* -1 y)))
(* -1 y)
(- x y)
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(* (pow x 2) (+ 1 (* -1 (/ y x))))
x
(* x (+ 1 (* -1 (/ y x))))
(* -1 (* x (- (/ y x) 1)))
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(+ (* -1 (* x y)) (pow x 2))
(+ x (* -1 y))
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(* y (+ (* -1 x) (/ (pow x 2) y)))
(* y (- (/ x y) 1))
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
(* -1 (* y (+ x (* -1 (/ (pow x 2) y)))))
(* -1 (* y (+ 1 (* -1 (/ x y)))))
Outputs
(* -2 (* x y))
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(* x (+ (* -2 y) (* 2 x)))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(* x y)
(*.f64 y x)
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(pow x 2)
(*.f64 x x)
(* -1 (* x y))
(*.f64 (neg.f64 x) y)
(* x (+ x (* -1 y)))
(*.f64 (-.f64 x y) x)
(* -1 y)
(neg.f64 y)
(- x y)
(-.f64 x y)
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(* (pow x 2) (+ 1 (* -1 (/ y x))))
(*.f64 (-.f64 x y) x)
x
(* x (+ 1 (* -1 (/ y x))))
(-.f64 x y)
(* -1 (* x (- (/ y x) 1)))
(-.f64 x y)
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(+ (* -1 (* x y)) (pow x 2))
(*.f64 (-.f64 x y) x)
(+ x (* -1 y))
(-.f64 x y)
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(* y (+ (* -1 x) (/ (pow x 2) y)))
(*.f64 (-.f64 x y) x)
(* y (- (/ x y) 1))
(-.f64 x y)
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
(*.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))
(* -1 (* y (+ x (* -1 (/ (pow x 2) y)))))
(*.f64 (-.f64 x y) x)
(* -1 (* y (+ 1 (* -1 (/ x y)))))
(-.f64 x y)

rewrite743.0ms (14.6%)

Memory
-16.7MiB live, 217.0MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01761
02457
17057
245039
3640139
0825439
Stop Event
iter limit
node limit
iter limit
Counts
9 → 213
Calls
Call 1
Inputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(*.f64 y x)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 x x)
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
(*.f64 (-.f64 x y) x)
(-.f64 x y)
Outputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
(*.f64 (*.f64 #s(literal -2 binary64) y) x)
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(*.f64 (*.f64 y x) #s(literal -2 binary64))
(*.f64 y (*.f64 #s(literal -2 binary64) x))
(*.f64 x (*.f64 #s(literal -2 binary64) y))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 x) y))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
(*.f64 (*.f64 (neg.f64 x) #s(literal 2 binary64)) (neg.f64 x))
(*.f64 (*.f64 x #s(literal 2 binary64)) x)
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 2 binary64)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(*.f64 x (*.f64 x #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 x x) (*.f64 x x)))
(/.f64 (+.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 x #s(literal 6 binary64))) (+.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 x #s(literal 4 binary64)))))
(neg.f64 (fma.f64 (neg.f64 x) x (*.f64 (neg.f64 x) x)))
(neg.f64 (*.f64 (*.f64 (neg.f64 x) #s(literal 2 binary64)) x))
(neg.f64 (*.f64 #s(literal 2 binary64) (*.f64 (neg.f64 x) x)))
(neg.f64 (*.f64 x (*.f64 (neg.f64 x) #s(literal 2 binary64))))
(neg.f64 (*.f64 (*.f64 (neg.f64 x) x) #s(literal 2 binary64)))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (*.f64 x x))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 x x))
(fma.f64 x x (*.f64 x x))
(-.f64 (*.f64 x x) (*.f64 (neg.f64 x) x))
(+.f64 (*.f64 x x) (*.f64 x x))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 x x)
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 2 binary64))
(pow.f64 (*.f64 (neg.f64 x) x) #s(literal 1 binary64))
(pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(sqrt.f64 (pow.f64 x #s(literal 4 binary64)))
(fabs.f64 (*.f64 (neg.f64 x) x))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (*.f64 (log.f64 (neg.f64 x)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (/.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 1 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 x))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (neg.f64 x)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (neg.f64 x)) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 (neg.f64 x)) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))))
#s(literal 0 binary64)
(*.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x)) (fma.f64 (-.f64 x y) x (*.f64 y y)))
(*.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) (*.f64 (+.f64 y x) (*.f64 (-.f64 x y) x))) (+.f64 y x))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 (-.f64 x y) x) (*.f64 y y)))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x) (+.f64 (pow.f64 (*.f64 (+.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 y x) y) (-.f64 (*.f64 (+.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (*.f64 (-.f64 x y) x)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (*.f64 (-.f64 x y) x)) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(*.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))
(*.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))) (*.f64 (-.f64 x y) x))
(*.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 (+.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 12 binary64)))) (fma.f64 (*.f64 (*.f64 (*.f64 x x) y) (-.f64 y x)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (pow.f64 x #s(literal 8 binary64))))
(*.f64 (/.f64 (*.f64 (-.f64 x y) x) (neg.f64 x)) (/.f64 (*.f64 (-.f64 x y) x) (+.f64 y x)))
(*.f64 (/.f64 (*.f64 (-.f64 x y) x) (-.f64 x y)) (/.f64 (*.f64 (-.f64 x y) x) x))
(*.f64 (/.f64 (*.f64 (-.f64 x y) x) x) (/.f64 (*.f64 (-.f64 x y) x) (-.f64 x y)))
(*.f64 (/.f64 (*.f64 (-.f64 x y) x) x) (/.f64 (*.f64 (-.f64 x y) x) (+.f64 y x)))
(*.f64 (neg.f64 (-.f64 x y)) x)
(*.f64 (+.f64 y x) (neg.f64 x))
(*.f64 (+.f64 y x) x)
(*.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (/.f64 x (+.f64 y x)))
(*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (/.f64 x (fma.f64 (-.f64 x y) x (*.f64 y y))))
(*.f64 (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (/.f64 (*.f64 (-.f64 x y) x) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(*.f64 (neg.f64 x) (+.f64 y x))
(*.f64 (neg.f64 x) (-.f64 x y))
(*.f64 (*.f64 (-.f64 x y) x) (/.f64 (*.f64 (-.f64 x y) x) (*.f64 (-.f64 x y) x)))
(*.f64 (-.f64 x y) (neg.f64 x))
(*.f64 (-.f64 x y) x)
(*.f64 x (-.f64 x (neg.f64 y)))
(*.f64 x (+.f64 x (neg.f64 y)))
(*.f64 x (neg.f64 (-.f64 x y)))
(*.f64 x (neg.f64 (+.f64 y x)))
(*.f64 x (+.f64 y x))
(*.f64 x (-.f64 x y))
(/.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) (neg.f64 x)) (+.f64 y x))
(/.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) (-.f64 x y)) x)
(/.f64 (*.f64 (fma.f64 (neg.f64 x) x (*.f64 y y)) x) (neg.f64 (+.f64 y x)))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) x) (neg.f64 (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (*.f64 x (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (*.f64 x (fma.f64 (neg.f64 x) x (*.f64 y y))) (neg.f64 (+.f64 y x)))
(/.f64 (*.f64 x (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))))) (neg.f64 (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (*.f64 (neg.f64 x) (fma.f64 (neg.f64 x) x (*.f64 y y))) (neg.f64 (+.f64 y x)))
(/.f64 (*.f64 (neg.f64 x) (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))))) (neg.f64 (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (*.f64 (neg.f64 x) (*.f64 (+.f64 y x) (-.f64 x y))) (+.f64 y x))
(/.f64 (*.f64 (neg.f64 x) (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (fma.f64 (-.f64 x y) x (*.f64 y y)))
(/.f64 (-.f64 (pow.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) x) (+.f64 y x)) #s(literal 2 binary64)) (pow.f64 (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)) #s(literal 2 binary64))) (*.f64 (-.f64 x y) x))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64))) (*.f64 (-.f64 x y) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 (neg.f64 x) y) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) x) (+.f64 y x)) #s(literal 3 binary64)) (pow.f64 (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) x) (+.f64 y x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)) #s(literal 2 binary64)) (*.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) x) (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))))))
(/.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) x) (+.f64 y x))
(/.f64 (/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) x) (-.f64 x y))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x)) (neg.f64 (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (neg.f64 (*.f64 (+.f64 y x) (*.f64 (-.f64 x y) x))) (neg.f64 (+.f64 y x)))
(/.f64 (-.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (-.f64 x y) x)) (*.f64 (*.f64 (-.f64 x y) x) (pow.f64 (*.f64 y x) #s(literal 2 binary64)))) (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (*.f64 (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (pow.f64 (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64)))
(/.f64 (*.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) x) (fma.f64 (-.f64 x y) x (*.f64 y y)))
(/.f64 (*.f64 (+.f64 y x) (*.f64 (-.f64 x y) x)) (+.f64 y x))
(/.f64 (*.f64 (+.f64 y x) (*.f64 (-.f64 x y) x)) (-.f64 x y))
(/.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 3 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 12 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 y x) y) #s(literal 2 binary64)) (pow.f64 x #s(literal 8 binary64))) (*.f64 (-.f64 x y) x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 12 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64))) (*.f64 (pow.f64 (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64)) (*.f64 (-.f64 x y) x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 18 binary64)) (pow.f64 (*.f64 y x) #s(literal 9 binary64))) (*.f64 (+.f64 (pow.f64 x #s(literal 12 binary64)) (fma.f64 (pow.f64 x #s(literal 9 binary64)) (pow.f64 y #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 6 binary64)))) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64)) (*.f64 (-.f64 x y) x))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (pow.f64 x #s(literal 3 binary64)) y))))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))))
(neg.f64 (fma.f64 y x (*.f64 (neg.f64 x) x)))
(neg.f64 (fma.f64 (neg.f64 x) x (*.f64 y x)))
(neg.f64 (*.f64 (-.f64 x y) x))
(fma.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 (+.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 12 binary64)))) (fma.f64 (*.f64 (*.f64 (*.f64 x x) y) (-.f64 y x)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (pow.f64 x #s(literal 8 binary64))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64))) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 x y) x) #s(literal 2 binary64))) (*.f64 (-.f64 x y) x) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (/.f64 (*.f64 (neg.f64 x) x) x) (/.f64 (*.f64 (neg.f64 x) x) (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) x) (/.f64 (neg.f64 x) (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) x) (/.f64 x (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (/.f64 (neg.f64 x) x) (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (/.f64 (*.f64 x x) x) (*.f64 x (/.f64 x (+.f64 y x))) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (/.f64 x x) (/.f64 (pow.f64 x #s(literal 3 binary64)) (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (*.f64 (neg.f64 y) (neg.f64 x)))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (*.f64 (neg.f64 x) y))
(fma.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)) (*.f64 y x))
(fma.f64 (*.f64 (neg.f64 x) x) (/.f64 (*.f64 (neg.f64 x) x) (*.f64 (-.f64 x y) x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (neg.f64 y) x (*.f64 (neg.f64 x) x))
(fma.f64 (neg.f64 y) x (*.f64 x x))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (/.f64 (neg.f64 x) (*.f64 (-.f64 x y) x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (/.f64 x (*.f64 (-.f64 x y) x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) (/.f64 (*.f64 x x) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (neg.f64 x) (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 (-.f64 x y) x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 (neg.f64 y) (neg.f64 x)))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 (neg.f64 x) y))
(fma.f64 (neg.f64 x) (neg.f64 x) (*.f64 y x))
(fma.f64 (neg.f64 x) y (*.f64 (neg.f64 x) x))
(fma.f64 (neg.f64 x) y (*.f64 x x))
(fma.f64 (neg.f64 x) x (*.f64 (neg.f64 x) y))
(fma.f64 (*.f64 x x) (/.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(fma.f64 (*.f64 x x) (/.f64 (*.f64 x x) (*.f64 (-.f64 x y) x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 y (neg.f64 x) (*.f64 (neg.f64 x) x))
(fma.f64 y (neg.f64 x) (*.f64 x x))
(fma.f64 y x (*.f64 x x))
(fma.f64 x (/.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 (-.f64 x y) x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(fma.f64 x (neg.f64 y) (*.f64 (neg.f64 x) x))
(fma.f64 x (neg.f64 y) (*.f64 x x))
(fma.f64 x (neg.f64 x) (*.f64 (neg.f64 x) y))
(fma.f64 x y (*.f64 x x))
(fma.f64 x x (*.f64 (neg.f64 (neg.f64 y)) x))
(fma.f64 x x (*.f64 (neg.f64 y) (neg.f64 x)))
(fma.f64 x x (*.f64 (neg.f64 x) y))
(fma.f64 x x (*.f64 y x))
(-.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) x) (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(-.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(-.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) x))
(-.f64 (*.f64 x x) (*.f64 (neg.f64 (neg.f64 y)) x))
(-.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 x)))
(-.f64 (*.f64 x x) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 x x) (*.f64 y x))
(-.f64 (*.f64 y x) (*.f64 (neg.f64 x) x))
(+.f64 (*.f64 (neg.f64 x) x) (*.f64 (neg.f64 x) y))
(+.f64 (/.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) x) (+.f64 y x)) (/.f64 (/.f64 (pow.f64 (*.f64 y x) #s(literal 2 binary64)) x) (+.f64 y x)))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))) (/.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 x x) y) (-.f64 y x) (pow.f64 x #s(literal 4 binary64)))))
(+.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) x))
(+.f64 (*.f64 (neg.f64 x) y) (*.f64 x x))
(+.f64 (*.f64 x x) (*.f64 (neg.f64 (neg.f64 y)) x))
(+.f64 (*.f64 x x) (*.f64 (neg.f64 y) (neg.f64 x)))
(+.f64 (*.f64 x x) (*.f64 (neg.f64 x) y))
(+.f64 (*.f64 x x) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 x x))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(*.f64 (/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y))
(*.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 y x) y) #s(literal 2 binary64)))) (-.f64 (*.f64 (-.f64 x y) x) (*.f64 y y)))
(*.f64 (/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (+.f64 y x) y) #s(literal 3 binary64)) (pow.f64 x #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 y x) y) (-.f64 (*.f64 (+.f64 y x) y) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(*.f64 (+.f64 y x) (/.f64 (-.f64 x y) (+.f64 y x)))
(*.f64 (fma.f64 (-.f64 x y) x (*.f64 y y)) (/.f64 (-.f64 x y) (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (/.f64 x (+.f64 y x))) #s(literal 2 binary64)) (pow.f64 (*.f64 y (/.f64 y (+.f64 y x))) #s(literal 2 binary64))) (fma.f64 x (/.f64 x (+.f64 y x)) (*.f64 y (/.f64 y (+.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (/.f64 x (+.f64 y x))) #s(literal 3 binary64)) (pow.f64 (*.f64 y (/.f64 y (+.f64 y x))) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 x (/.f64 x (+.f64 y x))) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 y (/.f64 y (+.f64 y x))) #s(literal 2 binary64)) (*.f64 (*.f64 x (/.f64 x (+.f64 y x))) (*.f64 y (/.f64 y (+.f64 y x)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y)))))))
(/.f64 (neg.f64 (fma.f64 (neg.f64 x) x (*.f64 y y))) (neg.f64 (neg.f64 (+.f64 y x))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (-.f64 x y) x (*.f64 y y)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (+.f64 y x)) (*.f64 (+.f64 y x) (*.f64 y y))) (pow.f64 (+.f64 y x) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) (*.f64 (fma.f64 (-.f64 x y) x (*.f64 y y)) (pow.f64 y #s(literal 3 binary64)))) (pow.f64 (fma.f64 (-.f64 x y) x (*.f64 y y)) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) (pow.f64 y #s(literal 4 binary64))) (*.f64 (fma.f64 y y (*.f64 x x)) (+.f64 y x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 9 binary64)) (pow.f64 y #s(literal 9 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 y #s(literal 6 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (pow.f64 x #s(literal 6 binary64))) (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (*.f64 (fma.f64 (*.f64 y y) (fma.f64 y y (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))) (+.f64 y x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) (pow.f64 y #s(literal 6 binary64))) (*.f64 (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (fma.f64 (neg.f64 x) x (*.f64 y y)) (neg.f64 (+.f64 y x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64)))) (neg.f64 (fma.f64 (-.f64 x y) x (*.f64 y y))))
(/.f64 (*.f64 (+.f64 y x) (-.f64 x y)) (+.f64 y x))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 y (-.f64 y x) (*.f64 x x)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 3 binary64))) (fma.f64 (-.f64 x y) x (*.f64 y y)))
(neg.f64 (neg.f64 (-.f64 x y)))
(fma.f64 (/.f64 (*.f64 x x) (+.f64 (pow.f64 y #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (fma.f64 y (-.f64 y x) (*.f64 x x)) (/.f64 (*.f64 (neg.f64 y) y) (+.f64 y x)))
(fma.f64 (/.f64 (*.f64 x x) (*.f64 (+.f64 y x) (-.f64 x y))) (-.f64 x y) (/.f64 (*.f64 (neg.f64 y) y) (+.f64 y x)))
(fma.f64 (neg.f64 x) (/.f64 (neg.f64 x) (+.f64 y x)) (/.f64 (*.f64 (neg.f64 y) y) (+.f64 y x)))
(fma.f64 x (/.f64 x (+.f64 y x)) (/.f64 (*.f64 (neg.f64 y) y) (+.f64 y x)))
(-.f64 (*.f64 x (/.f64 x (+.f64 y x))) (*.f64 y (/.f64 y (+.f64 y x))))
(-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))) (/.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (-.f64 x y) x (*.f64 y y))))
(-.f64 (neg.f64 x) y)
(-.f64 x y)
(+.f64 (*.f64 x (/.f64 x (+.f64 y x))) (/.f64 (*.f64 (neg.f64 y) y) (+.f64 y x)))

eval314.0ms (6.2%)

Memory
-3.8MiB live, 42.9MiB allocated
Compiler

Compiled 4 568 to 758 computations (83.4% saved)

prune6.0ms (0.1%)

Memory
12.1MiB live, 12.1MiB allocated
Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2201221
Fresh000
Picked134
Done000
Total2214225
Accuracy
100.0%
Counts
225 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
56.9%
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
60.7%
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
15.2%
#s(literal 0 binary64)
Compiler

Compiled 38 to 31 computations (18.4% saved)

simplify158.0ms (3.1%)

Memory
-13.7MiB live, 45.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal -2 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
cost-diff0
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
01324
12924
28424
326324
468024
5136924
6268424
7420024
8532524
9572124
10580224
11591924
12592224
13592224
14620824
15648824
16668824
0668824
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
(*.f64 #s(literal -2 binary64) x)
#s(literal -2 binary64)
x
y
Outputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(*.f64 #s(literal -2 binary64) x)
#s(literal -2 binary64)
x
y

localize21.0ms (0.4%)

Memory
19.4MiB live, 19.4MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
accuracy0.0
(*.f64 #s(literal -2 binary64) x)
accuracy25.153565732176155
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
Samples
15.0ms256×0valid
Compiler

Compiled 22 to 12 computations (45.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 8.0ms (88.2% of total)
ival-sub: 1.0ms (11% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series31.0ms (0.6%)

Memory
-43.9MiB live, 2.8MiB allocated
Counts
3 → 8
Calls
Call 1
Inputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
(*.f64 #s(literal -2 binary64) x)
Outputs
(* -2 (* x y))
(* x (+ (* -2 y) (* 2 x)))
(* -2 x)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
Calls

6 calls:

TimeVariablePointExpression
28.0ms
x
@-inf
((* 2 (- (* x x) (* x y))) (* (* -2 x) y) (* -2 x))
1.0ms
x
@inf
((* 2 (- (* x x) (* x y))) (* (* -2 x) y) (* -2 x))
1.0ms
x
@0
((* 2 (- (* x x) (* x y))) (* (* -2 x) y) (* -2 x))
1.0ms
y
@-inf
((* 2 (- (* x x) (* x y))) (* (* -2 x) y) (* -2 x))
0.0ms
y
@0
((* 2 (- (* x x) (* x y))) (* (* -2 x) y) (* -2 x))

simplify175.0ms (3.4%)

Memory
19.8MiB live, 65.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02758
19148
229648
398548
4381648
5777648
0913048
Stop Event
iter limit
node limit
Counts
8 → 8
Calls
Call 1
Inputs
(* -2 (* x y))
(* x (+ (* -2 y) (* 2 x)))
(* -2 x)
(* 2 (pow x 2))
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
Outputs
(* -2 (* x y))
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(* x (+ (* -2 y) (* 2 x)))
(*.f64 (*.f64 (-.f64 y x) x) #s(literal -2 binary64))
(* -2 x)
(*.f64 #s(literal -2 binary64) x)
(* 2 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
(* (pow x 2) (+ 2 (* -2 (/ y x))))
(*.f64 (*.f64 (-.f64 y x) x) #s(literal -2 binary64))
(+ (* -2 (* x y)) (* 2 (pow x 2)))
(*.f64 (*.f64 (-.f64 y x) x) #s(literal -2 binary64))
(* y (+ (* -2 x) (* 2 (/ (pow x 2) y))))
(*.f64 (*.f64 (-.f64 y x) x) #s(literal -2 binary64))
(* -1 (* y (+ (* -2 (/ (pow x 2) y)) (* 2 x))))
(*.f64 (*.f64 (-.f64 y x) x) #s(literal -2 binary64))

rewrite153.0ms (3%)

Memory
6.2MiB live, 51.8MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01123
01321
14321
232115
3459015
0822315
Stop Event
iter limit
node limit
iter limit
Counts
3 → 9
Calls
Call 1
Inputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
(*.f64 #s(literal -2 binary64) x)
Outputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
(*.f64 (*.f64 #s(literal -2 binary64) y) x)
(*.f64 (*.f64 #s(literal -2 binary64) x) y)
(*.f64 #s(literal -2 binary64) (*.f64 y x))
(*.f64 (*.f64 y x) #s(literal -2 binary64))
(*.f64 y (*.f64 #s(literal -2 binary64) x))
(*.f64 x (*.f64 #s(literal -2 binary64) y))
(*.f64 #s(literal -2 binary64) x)
(*.f64 x #s(literal -2 binary64))

eval1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Compiler

Compiled 201 to 39 computations (80.6% saved)

prune4.0ms (0.1%)

Memory
6.0MiB live, 6.0MiB allocated
Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New13013
Fresh000
Picked011
Done033
Total13417
Accuracy
100.0%
Counts
17 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
56.9%
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
60.7%
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
15.2%
#s(literal 0 binary64)
Compiler

Compiled 100 to 56 computations (44% saved)

regimes9.0ms (0.2%)

Memory
15.2MiB live, 15.2MiB allocated
Counts
6 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
Outputs
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
Calls

4 calls:

2.0ms
y
2.0ms
x
2.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
2.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
100.0%1(-.f64 (*.f64 x x) (*.f64 x y))
100.0%1(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
100.0%1x
100.0%1y
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes53.0ms (1%)

Memory
-40.4MiB live, 10.7MiB allocated
Counts
4 → 3
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
Outputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64)))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
Calls

4 calls:

47.0ms
y
2.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
2.0ms
x
2.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
78.7%2(-.f64 (*.f64 x x) (*.f64 x y))
78.7%2(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
84.2%3x
87.8%3y
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes7.0ms (0.1%)

Memory
10.6MiB live, 10.6MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
Outputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
Calls

4 calls:

2.0ms
y
2.0ms
x
2.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
2.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
60.7%1(-.f64 (*.f64 x x) (*.f64 x y))
60.7%1(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
60.7%1x
60.7%1y
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes6.0ms (0.1%)

Memory
11.8MiB live, 11.8MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
Outputs
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
Calls

4 calls:

2.0ms
y
1.0ms
x
1.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
1.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
60.7%1x
60.7%1y
60.7%1(-.f64 (*.f64 x x) (*.f64 x y))
60.7%1(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
Compiler

Compiled 18 to 16 computations (11.1% saved)

regimes4.0ms (0.1%)

Memory
11.2MiB live, 11.2MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
Outputs
#s(literal 0 binary64)
Calls

4 calls:

1.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
1.0ms
y
1.0ms
x
1.0ms
(-.f64 (*.f64 x x) (*.f64 x y))
Results
AccuracySegmentsBranch
15.2%1x
15.2%1y
15.2%1(-.f64 (*.f64 x x) (*.f64 x y))
15.2%1(*.f64 #s(literal 2 binary64) (-.f64 (*.f64 x x) (*.f64 x y)))
Compiler

Compiled 18 to 16 computations (11.1% saved)

bsearch109.0ms (2.1%)

Memory
-5.2MiB live, 40.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
13.0ms
7.486741643645615e+39
7.4602502465821e+56
93.0ms
-2.465924166479843e-54
-1.8341258742717786e-62
Samples
13.0ms304×0valid
Compiler

Compiled 582 to 468 computations (19.6% saved)

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

simplify56.0ms (1.1%)

Memory
-16.0MiB live, 28.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02769
14569
29669
327869
470369
5142269
6290069
7598969
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
(if (<=.f64 y #s(literal -795081179150273/110427941548649020598956093796432407239217743554726184882600387580788736 binary64)) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x))) (if (<=.f64 y #s(literal 84999999999999999559866692592958231805952 binary64)) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64))) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
#s(literal 0 binary64)
Outputs
(*.f64 #s(literal 2 binary64) (*.f64 (-.f64 x y) x))
(if (<=.f64 y #s(literal -795081179150273/110427941548649020598956093796432407239217743554726184882600387580788736 binary64)) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x))) (if (<=.f64 y #s(literal 84999999999999999559866692592958231805952 binary64)) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64))) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))))
(if (or (<=.f64 y #s(literal -795081179150273/110427941548649020598956093796432407239217743554726184882600387580788736 binary64)) (not (<=.f64 y #s(literal 84999999999999999559866692592958231805952 binary64)))) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x))) #s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 x x) #s(literal 2 binary64))))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 (*.f64 #s(literal -2 binary64) x) y))
#s(approx (* 2 (- (* x x) (* x y))) (*.f64 #s(literal -2 binary64) (*.f64 y x)))
#s(literal 0 binary64)

soundness713.0ms (14%)

Memory
-0.4MiB live, 424.2MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0722
01118
13818
231012
3459212
0821912
04290
114080
244680
3153380
4424280
5679880
0807880
01761
02457
17057
245039
3640139
0825439
Stop Event
done
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 137 to 77 computations (43.8% saved)

preprocess54.0ms (1.1%)

Memory
0.1MiB live, 91.5MiB allocated
Compiler

Compiled 186 to 84 computations (54.8% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...