Graphics.Rasterific.Svg.PathConverter:arcToSegments from rasterific-svg-0.2.3.1

Time bar (total: 1.7s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze141.0ms (8.4%)

Memory
12.7MiB live, 247.5MiB 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
37.5%37.4%62.4%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
65.6%65.5%34.3%0.2%0%0%0%11
65.6%65.5%34.3%0.2%0%0%0%12
Compiler

Compiled 17 to 13 computations (23.5% saved)

sample964.0ms (57.2%)

Memory
-23.5MiB live, 1 425.1MiB allocated
Samples
626.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 393.0ms
ival-mult: 240.0ms (61.1% of total)
ival-div: 102.0ms (26% of total)
ival-add: 39.0ms (9.9% of total)
ival-true: 7.0ms (1.8% of total)
ival-assert: 4.0ms (1% of total)
Bogosity

explain116.0ms (6.9%)

Memory
19.1MiB live, 259.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
780-0-(/.f64 (*.f64 x x) (*.f64 y y))
630-1(-4.0397835717673415e+282 3.3754932401288996e+298 -6.698010051049408e-131 3.306940422962261e-160)(/.f64 (*.f64 z z) (*.f64 t t))
00-0-t
00-0-(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
00-0-z
00-0-(*.f64 x x)
00-0-(*.f64 t t)
00-0-(*.f64 z z)
00-0-y
00-0-(*.f64 y y)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 x x) (*.f64 y y))u/u180
(*.f64 x x)underflow66
(*.f64 y y)underflow54
/.f64(/.f64 (*.f64 x x) (*.f64 y y))o/o170
(*.f64 x x)overflow68
(*.f64 y y)overflow73
/.f64(/.f64 (*.f64 z z) (*.f64 t t))o/o130
(*.f64 z z)overflow59
(*.f64 t t)overflow64
/.f64(/.f64 (*.f64 x x) (*.f64 y y))n/o100
(*.f64 y y)overflow73
/.f64(/.f64 (*.f64 z z) (*.f64 t t))u/u100
(*.f64 z z)underflow55
(*.f64 t t)underflow68
/.f64(/.f64 (*.f64 x x) (*.f64 y y))o/n100
(*.f64 x x)overflow68
/.f64(/.f64 (*.f64 z z) (*.f64 t t))n/u90
(*.f64 t t)underflow68
/.f64(/.f64 (*.f64 z z) (*.f64 t t))n/o60
(*.f64 t t)overflow64
/.f64(/.f64 (*.f64 z z) (*.f64 t t))u/n60
(*.f64 z z)underflow55
/.f64(/.f64 (*.f64 x x) (*.f64 y y))u/n60
(*.f64 x x)underflow66
/.f64(/.f64 (*.f64 x x) (*.f64 y y))n/u50
(*.f64 y y)underflow54
/.f64(/.f64 (*.f64 z z) (*.f64 t t))o/n50
(*.f64 z z)overflow59
Confusion
Predicted +Predicted -
+915
-18142
Precision
0.8348623853211009
Recall
0.9479166666666666
Confusion?
Predicted +Predicted MaybePredicted -
+9105
-180142
Precision?
0.8348623853211009
Recall?
0.9479166666666666
Freqs
test
numberfreq
0147
1103
26
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
46.0ms512×0valid
Compiler

Compiled 154 to 48 computations (68.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-mult: 15.0ms (64.8% of total)
ival-div: 6.0ms (25.9% of total)
ival-add: 2.0ms (8.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.2%)

Memory
8.0MiB live, 8.0MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Outputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.8%
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify2.0ms (0.1%)

Memory
-38.0MiB live, 0.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y y)
cost-diff0
(*.f64 x x)
cost-diff0
(/.f64 (*.f64 x x) (*.f64 y y))
cost-diff0
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Calls
Call 1
Inputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
x
(*.f64 y y)
y
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t
Outputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
x
(*.f64 y y)
y
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t

localize28.0ms (1.6%)

Memory
18.6MiB live, 57.6MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 t t)
accuracy0.0078125
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
accuracy14.632088040649466
(/.f64 (*.f64 z z) (*.f64 t t))
accuracy18.498287979070483
(/.f64 (*.f64 x x) (*.f64 y y))
Samples
21.0ms256×0valid
Compiler

Compiled 92 to 24 computations (73.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 7.0ms (60.2% of total)
ival-div: 3.0ms (25.8% of total)
ival-add: 1.0ms (8.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series16.0ms (1%)

Memory
-15.1MiB live, 26.1MiB allocated
Counts
6 → 10
Calls
Call 1
Inputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
(*.f64 y y)
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 t t)
Outputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/ (pow x 2) (pow y 2))
(pow x 2)
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Calls

12 calls:

TimeVariablePointExpression
3.0ms
t
@0
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (/ (* z z) (* t t)) (* t t))
2.0ms
z
@0
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (/ (* z z) (* t t)) (* t t))
2.0ms
x
@0
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (/ (* z z) (* t t)) (* t t))
2.0ms
x
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (/ (* z z) (* t t)) (* t t))
1.0ms
t
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (/ (* z z) (* t t)) (* t t))

simplify0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
egg-herbie
Counts
10 → 6
Calls
Call 1
Inputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/ (pow x 2) (pow y 2))
(pow x 2)
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Outputs
(/ (pow z 2) (pow t 2))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/.f64 (*.f64 x x) (*.f64 y y))
(/ (pow x 2) (pow y 2))
(*.f64 x x)
(pow x 2)
(*.f64 y y)
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/.f64 (*.f64 z z) (*.f64 t t))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(*.f64 t t)

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
(*.f64 y y)
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 t t)
Outputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
(*.f64 y y)
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 t t)

eval1.0ms (0.1%)

Memory
2.1MiB live, 2.1MiB allocated
Compiler

Compiled 224 to 27 computations (87.9% saved)

prune2.0ms (0.1%)

Memory
3.4MiB live, 3.4MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New8412
Fresh000
Picked011
Done000
Total8513
Accuracy
75.1%
Counts
13 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.8%
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
21.8%
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
48.6%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
43.9%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
7.7%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
Compiler

Compiled 99 to 66 computations (33.3% saved)

simplify1.0ms (0%)

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

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y y)
cost-diff0
#s(approx (* x x) (*.f64 y y))
cost-diff0
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
cost-diff0
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
cost-diff0
(*.f64 t t)
cost-diff0
(*.f64 z z)
cost-diff0
(/.f64 (*.f64 z z) (*.f64 t t))
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
cost-diff0
(*.f64 y y)
cost-diff0
(*.f64 x x)
cost-diff0
(/.f64 (*.f64 x x) (*.f64 y y))
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
cost-diff0
(*.f64 t t)
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
(*.f64 t t)
t
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
x
(*.f64 y y)
y
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
(*.f64 y y)
y
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
(*.f64 t t)
t
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
x
(*.f64 y y)
y
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
(*.f64 y y)
y
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t

localize39.0ms (2.3%)

Memory
-5.5MiB live, 69.9MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy0.0078125
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
accuracy14.632088040649466
(/.f64 (*.f64 z z) (*.f64 t t))
accuracy18.498287979070483
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
accuracy51.560380585680264
#s(approx (* x x) (*.f64 y y))
accuracy0.0
(*.f64 z z)
accuracy0.0
(*.f64 t t)
accuracy14.632088040649466
(/.f64 (*.f64 z z) (*.f64 t t))
accuracy26.24590966486509
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
accuracy0.0
(*.f64 y y)
accuracy0.0
(*.f64 x x)
accuracy18.498287979070483
(/.f64 (*.f64 x x) (*.f64 y y))
accuracy27.475301922081886
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
accuracy0.0
(*.f64 t t)
accuracy59.08669489597513
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
Samples
26.0ms256×0valid
Compiler

Compiled 280 to 36 computations (87.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 14.0ms
ival-mult: 9.0ms (65.8% of total)
ival-div: 3.0ms (21.9% of total)
ival-add: 1.0ms (7.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series12.0ms (0.7%)

Memory
23.2MiB live, 23.2MiB allocated
Counts
12 → 11
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
(*.f64 t t)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
(*.f64 y y)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
Outputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/ (pow x 2) (pow y 2))
(pow x 2)
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(pow z 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x))
1.0ms
x
@-inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x))
1.0ms
z
@-inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x))
1.0ms
z
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x))
1.0ms
x
@0
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* x x) (* y y)) (* x x))

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Counts
11 → 11
Calls
Call 1
Inputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/ (pow x 2) (pow y 2))
(pow x 2)
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(pow z 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Outputs
(/ (pow z 2) (pow t 2))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(*.f64 t t)
(/ (pow x 2) (pow y 2))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
(pow x 2)
(/.f64 (*.f64 x x) (*.f64 y y))
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(*.f64 x x)
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(*.f64 y y)
(pow y 2)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
(pow z 2)
(/.f64 (*.f64 z z) (*.f64 t t))
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(*.f64 z z)
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(pow t 2)
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))

rewrite1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Counts
12 → 12
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
(*.f64 t t)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
(*.f64 y y)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
(*.f64 t t)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
(/.f64 (*.f64 x x) (*.f64 y y))
(*.f64 x x)
(*.f64 y y)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))

eval2.0ms (0.1%)

Memory
6.5MiB live, 6.5MiB allocated
Compiler

Compiled 867 to 50 computations (94.2% saved)

prune7.0ms (0.4%)

Memory
-28.3MiB live, 9.9MiB allocated
Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New28533
Fresh000
Picked134
Done011
Total29938
Accuracy
75.5%
Counts
38 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.8%
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
48.6%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
43.9%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
41.2%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
23.7%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
11.4%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
24.9%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
7.7%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
2.1%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
Compiler

Compiled 318 to 198 computations (37.7% saved)

simplify1.0ms (0.1%)

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

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (* x x) (*.f64 y y))
cost-diff0
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
cost-diff0
#s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)))
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
cost-diff0
(*.f64 z z)
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
cost-diff0
(*.f64 y y)
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
cost-diff0
(*.f64 x x)
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
cost-diff0
(/.f64 (*.f64 z z) (*.f64 t t))
cost-diff0
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
cost-diff0
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
(*.f64 x x)
x
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
(*.f64 y y)
y
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
(*.f64 z z)
z
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
(*.f64 y y)
y
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
(*.f64 z z)
z
(*.f64 t t)
t
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
(*.f64 x x)
x
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
(*.f64 y y)
y
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
(*.f64 z z)
z
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
(*.f64 y y)
y

localize39.0ms (2.3%)

Memory
13.2MiB live, 58.9MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy18.498287979070483
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
accuracy51.560380585680264
#s(approx (* x x) (*.f64 y y))
accuracy53.37722735875918
#s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)))
accuracy59.08669489597513
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
accuracy0.0
(*.f64 z z)
accuracy48.83345482754447
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
accuracy0.0
(*.f64 y y)
accuracy56.67786607059367
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
accuracy0.0
(*.f64 x x)
accuracy48.094155947663054
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
accuracy14.632088040649466
(/.f64 (*.f64 z z) (*.f64 t t))
accuracy14.632088040649466
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
accuracy26.24590966486509
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
accuracy43.56501335298399
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
Samples
29.0ms256×0valid
Compiler

Compiled 340 to 39 computations (88.5% saved)

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

series16.0ms (0.9%)

Memory
-16.6MiB live, 20.9MiB allocated
Counts
14 → 11
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
(*.f64 x x)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
(*.f64 y y)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
(*.f64 z z)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
Outputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(pow x 2)
(/ (pow x 2) (pow y 2))
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(pow z 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Calls

12 calls:

TimeVariablePointExpression
5.0ms
z
@-inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (/ (* z z) (* t t)) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* x x) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (/ (* x x) (* y y)) (* x x))
1.0ms
z
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (/ (* z z) (* t t)) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* x x) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (/ (* x x) (* y y)) (* x x))
1.0ms
x
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (/ (* z z) (* t t)) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* x x) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (/ (* x x) (* y y)) (* x x))
1.0ms
x
@-inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (/ (* z z) (* t t)) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* x x) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (/ (* x x) (* y y)) (* x x))
1.0ms
x
@0
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (/ (* z z) (* t t)) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* x x) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* y y) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* z z) (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (* t t) (/ (* x x) (* y y)) (* x x))

simplify0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
egg-herbie
Counts
11 → 11
Calls
Call 1
Inputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(pow x 2)
(/ (pow x 2) (pow y 2))
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(pow z 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Outputs
(/ (pow z 2) (pow t 2))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
(pow x 2)
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
(/ (pow x 2) (pow y 2))
(/.f64 (*.f64 z z) (*.f64 t t))
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(*.f64 x x)
(pow y 2)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
(pow z 2)
(*.f64 y y)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(*.f64 z z)
(pow t 2)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))

rewrite1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Counts
14 → 14
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
(*.f64 x x)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
(*.f64 y y)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
(*.f64 z z)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t))
#s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t)))
(/.f64 (*.f64 z z) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
(*.f64 x x)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
(*.f64 y y)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
(*.f64 z z)
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)))
(/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))
#s(approx (* x x) (*.f64 y y))

eval2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Compiler

Compiled 857 to 48 computations (94.4% saved)

prune4.0ms (0.2%)

Memory
7.0MiB live, 7.0MiB allocated
Pruning

10 alts after pruning (1 fresh and 9 done)

PrunedKeptTotal
New26127
Fresh000
Picked055
Done044
Total261036
Accuracy
75.5%
Counts
36 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.8%
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
48.6%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
43.9%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
41.2%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
25.4%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
23.7%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
11.4%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
24.9%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
7.7%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
2.1%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
Compiler

Compiled 226 to 142 computations (37.2% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y y)
cost-diff0
#s(approx (* z z) (*.f64 y y))
cost-diff0
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
cost-diff0
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
#s(approx (* z z) (*.f64 y y))
(*.f64 y y)
y
(*.f64 t t)
t
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
#s(approx (* z z) (*.f64 y y))
(*.f64 y y)
y
(*.f64 t t)
t

localize31.0ms (1.8%)

Memory
-1.4MiB live, 34.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 t t)
accuracy14.632088040649466
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
accuracy26.24590966486509
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
accuracy52.919844722474785
#s(approx (* z z) (*.f64 y y))
Samples
25.0ms256×0valid
Compiler

Compiled 88 to 29 computations (67% saved)

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

series9.0ms (0.5%)

Memory
13.8MiB live, 13.8MiB allocated
Counts
5 → 10
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
#s(approx (* z z) (*.f64 y y))
(*.f64 y y)
(*.f64 t t)
Outputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/ (pow x 2) (pow y 2))
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(pow z 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Calls

12 calls:

TimeVariablePointExpression
1.0ms
z
@-inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (* y y) (* t t))
1.0ms
z
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (* y y) (* t t))
1.0ms
t
@-inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (* y y) (* t t))
1.0ms
t
@inf
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (* y y) (* t t))
1.0ms
z
@0
((+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/ (* z z) (* t t)) (* z z) (* y y) (* t t))

simplify0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated
Algorithm
egg-herbie
Counts
10 → 5
Calls
Call 1
Inputs
(/ (pow z 2) (pow t 2))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/ (pow x 2) (pow y 2))
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(pow y 2)
(pow z 2)
(* (pow z 2) (+ (/ 1 (pow t 2)) (/ (pow x 2) (* (pow y 2) (pow z 2)))))
(/ (+ (/ (* (pow t 2) (pow x 2)) (pow y 2)) (pow z 2)) (pow t 2))
(pow t 2)
Outputs
(/ (pow z 2) (pow t 2))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
(+ (/ (pow x 2) (pow y 2)) (/ (pow z 2) (pow t 2)))
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
(/ (pow x 2) (pow y 2))
#s(approx (* z z) (*.f64 y y))
(* (pow x 2) (+ (/ 1 (pow y 2)) (/ (pow z 2) (* (pow t 2) (pow x 2)))))
(*.f64 y y)
(/ (+ (/ (* (pow y 2) (pow z 2)) (pow t 2)) (pow x 2)) (pow y 2))
(*.f64 t t)

rewrite0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Counts
5 → 5
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
#s(approx (* z z) (*.f64 y y))
(*.f64 y y)
(*.f64 t t)
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
(/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t))
#s(approx (* z z) (*.f64 y y))
(*.f64 y y)
(*.f64 t t)

eval1.0ms (0.1%)

Memory
1.5MiB live, 1.5MiB allocated
Compiler

Compiled 239 to 20 computations (91.6% saved)

prune4.0ms (0.3%)

Memory
7.3MiB live, 7.3MiB allocated
Pruning

10 alts after pruning (0 fresh and 10 done)

PrunedKeptTotal
New909
Fresh000
Picked011
Done099
Total91019
Accuracy
75.5%
Counts
19 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.8%
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
48.6%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
43.9%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
41.2%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
25.4%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
23.7%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
11.4%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
24.9%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
7.7%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
2.1%
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
Compiler

Compiled 471 to 177 computations (62.4% saved)

regimes49.0ms (2.9%)

Memory
-6.3MiB live, 74.9MiB allocated
Counts
11 → 3
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Outputs
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
Calls

11 calls:

9.0ms
t
8.0ms
(*.f64 t t)
4.0ms
x
4.0ms
z
4.0ms
y
Results
AccuracySegmentsBranch
68.6%3x
67.9%3y
66.2%2z
67.1%3t
70.8%2(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
74.0%3(/.f64 (*.f64 x x) (*.f64 y y))
71.5%3(*.f64 x x)
70.3%3(*.f64 y y)
73.8%3(/.f64 (*.f64 z z) (*.f64 t t))
69.9%3(*.f64 z z)
68.7%3(*.f64 t t)
Compiler

Compiled 45 to 61 computations (-35.6% saved)

regimes13.0ms (0.8%)

Memory
-15.0MiB live, 22.7MiB allocated
Counts
10 → 3
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (/.f64 (*.f64 z z) (*.f64 t t))) (*.f64 t t)))
(+.f64 (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 z z) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
Calls

3 calls:

6.0ms
(/.f64 (*.f64 z z) (*.f64 t t))
3.0ms
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
3.0ms
(/.f64 (*.f64 x x) (*.f64 y y))
Results
AccuracySegmentsBranch
48.6%1(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
71.7%3(/.f64 (*.f64 z z) (*.f64 t t))
68.7%3(/.f64 (*.f64 x x) (*.f64 y y))
Compiler

Compiled 29 to 25 computations (13.8% saved)

regimes34.0ms (2%)

Memory
-5.8MiB live, 70.9MiB allocated
Counts
7 → 2
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 (*.f64 x x) (*.f64 y y)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
Calls

10 calls:

6.0ms
t
3.0ms
x
3.0ms
z
3.0ms
y
2.0ms
(*.f64 z z)
Results
AccuracySegmentsBranch
50.7%3t
56.0%3z
50.1%3y
53.4%4x
54.3%3(/.f64 (*.f64 x x) (*.f64 y y))
50.7%2(*.f64 t t)
55.9%2(*.f64 z z)
49.3%2(*.f64 y y)
54.7%3(*.f64 x x)
55.5%3(/.f64 (*.f64 z z) (*.f64 t t))
Compiler

Compiled 30 to 50 computations (-66.7% saved)

regimes29.0ms (1.7%)

Memory
10.8MiB live, 57.3MiB allocated
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (/.f64 #s(approx (* z z) (*.f64 y y)) (*.f64 t t)))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
Calls

11 calls:

6.0ms
x
2.0ms
z
2.0ms
t
2.0ms
y
2.0ms
(*.f64 z z)
Results
AccuracySegmentsBranch
32.8%3y
35.3%3t
32.0%2(*.f64 y y)
27.2%2(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
40.6%4x
35.2%2(*.f64 t t)
36.8%2(/.f64 (*.f64 x x) (*.f64 y y))
41.3%3(*.f64 x x)
35.0%2(/.f64 (*.f64 z z) (*.f64 t t))
40.1%4z
40.0%3(*.f64 z z)
Compiler

Compiled 45 to 61 computations (-35.6% saved)

regimes2.0ms (0.1%)

Memory
4.7MiB live, 4.7MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) #s(approx (* t t) (/.f64 #s(approx (* x x) (*.f64 y y)) (*.f64 y y))))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 z z))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
Calls

1 calls:

2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
38.5%2(*.f64 x x)
Compiler

Compiled 3 to 5 computations (-66.7% saved)

regimes18.0ms (1.1%)

Memory
-5.2MiB live, 33.4MiB allocated
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 y y))
Calls

10 calls:

4.0ms
z
2.0ms
y
2.0ms
x
2.0ms
t
2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
27.1%2y
28.5%2(*.f64 y y)
24.9%1t
24.9%1(/.f64 (*.f64 z z) (*.f64 t t))
24.9%1(*.f64 t t)
26.9%2(/.f64 (*.f64 x x) (*.f64 y y))
24.9%1z
24.9%1x
24.9%1(*.f64 z z)
24.9%1(*.f64 x x)
Compiler

Compiled 30 to 50 computations (-66.7% saved)

regimes7.0ms (0.4%)

Memory
15.3MiB live, 15.3MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 x x))
Calls

5 calls:

1.0ms
y
1.0ms
(*.f64 y y)
1.0ms
(*.f64 t t)
1.0ms
(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
1.0ms
(/.f64 (*.f64 x x) (*.f64 y y))
Results
AccuracySegmentsBranch
24.9%1(*.f64 t t)
24.9%1(/.f64 (*.f64 x x) (*.f64 y y))
24.9%1y
24.9%1(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
24.9%1(*.f64 y y)
Compiler

Compiled 29 to 32 computations (-10.3% saved)

regimes15.0ms (0.9%)

Memory
-9.8MiB live, 28.7MiB allocated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
Outputs
#s(approx (+ (/ (* x x) (* y y)) (/ (* z z) (* t t))) (*.f64 t t))
Calls

11 calls:

4.0ms
x
1.0ms
t
1.0ms
z
1.0ms
y
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
7.7%1(/.f64 (*.f64 z z) (*.f64 t t))
7.7%1(*.f64 z z)
7.7%1z
7.7%1(+.f64 (/.f64 (*.f64 x x) (*.f64 y y)) (/.f64 (*.f64 z z) (*.f64 t t)))
7.7%1(*.f64 y y)
7.7%1(/.f64 (*.f64 x x) (*.f64 y y))
7.7%1y
7.7%1t
7.7%1(*.f64 x x)
7.7%1x
7.7%1(*.f64 t t)
Compiler

Compiled 45 to 61 computations (-35.6% saved)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
0.0ms
9.622862547216901e+298
1.716953814390643e+302
Compiler

Compiled 18 to 18 computations (0% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
+inf
NaN
0.0ms
2.478022891840717e-64
2.853062140703592e-52
Compiler

Compiled 18 to 18 computations (0% saved)

bsearch17.0ms (1%)

Memory
-17.4MiB live, 20.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
15.0ms
2.4842243778036415e+302
9.553575643916084e+306
Samples
8.0ms128×0valid
Compiler

Compiled 338 to 250 computations (26% saved)

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

bsearch35.0ms (2.1%)

Memory
-7.2MiB live, 73.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
14.0ms
3.3743981170165783e+301
+inf
17.0ms
1.0283627209284653e-299
2.190580630774907e-293
Samples
20.0ms288×0valid
Compiler

Compiled 756 to 540 computations (28.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult: 6.0ms (57.6% of total)
ival-div: 3.0ms (28.8% of total)
ival-add: 1.0ms (9.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
3.3743981170165783e+301
+inf
Compiler

Compiled 342 to 261 computations (23.7% saved)

bsearch15.0ms (0.9%)

Memory
1.3MiB live, 40.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
13.0ms
5.81611319839048e+250
2.723207087737613e+254
Samples
9.0ms128×0valid
Compiler

Compiled 306 to 234 computations (23.5% saved)

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

simplify4.0ms (0.3%)

Memory
14.8MiB live, 14.8MiB allocated

end0.0ms (0%)

Memory
0.1MiB live, 0.0MiB allocated

Profiling

Loading profile data...