Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, H

Time bar (total: 3.3s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
100%100%0%0%0%0%0%1
Compiler

Compiled 9 to 8 computations (11.1% saved)

sample1.9s (57.5%)

Memory
-81.7MiB live, 1 398.3MiB allocated; 1.6s collecting garbage
Samples
399.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 244.0ms
ival-mult: 85.0ms (34.9% of total)
ival-sub: 81.0ms (33.2% of total)
ival-div: 59.0ms (24.2% of total)
exact: 8.0ms (3.3% of total)
ival-true: 5.0ms (2.1% of total)
ival-assert: 3.0ms (1.2% of total)
adjust: 2.0ms (0.8% of total)
Bogosity

explain89.0ms (2.7%)

Memory
17.7MiB live, 107.7MiB allocated; 29ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-#s(literal 6 binary64)
00-0-#s(literal 3 binary64)
00-0-(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
00-0-(*.f64 x x)
00-0-(-.f64 (*.f64 x x) #s(literal 3 binary64))
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
22.0ms512×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-div: 4.0ms (36.2% of total)
ival-mult: 4.0ms (36.2% of total)
ival-sub: 2.0ms (18.1% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess29.0ms (0.9%)

Memory
-33.5MiB live, 23.6MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0814
12614
25514
38714
413214
514214
614614
714914
067
097
1177
2367
3657
4947
51097
61177
71257
81317
91357
01357
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Outputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Symmetry

(abs x)

Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

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

Compiled 0 to 1 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify6.0ms (0.2%)

Memory
6.8MiB live, 6.8MiB allocated; 0ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(-.f64 (*.f64 x x) #s(literal 3 binary64))
cost-diff0
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
11718
23618
36518
49418
510918
611718
712518
813118
913518
013518
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
x
#s(literal 3 binary64)
#s(literal 6 binary64)
Outputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
x
#s(literal 3 binary64)
#s(literal 6 binary64)

localize16.0ms (0.5%)

Memory
26.1MiB live, 26.1MiB allocated; 0ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 (*.f64 x x) #s(literal 3 binary64))
accuracy0.0
(*.f64 x x)
accuracy0.05859375
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Samples
11.0ms256×0valid
Compiler

Compiled 20 to 8 computations (60% saved)

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

series2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated; 0ms collecting garbage
Counts
3 → 8
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
Outputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
-3
(- (pow x 2) 3)
(pow x 2)
(* 1/6 (pow x 2))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x))
1.0ms
x
@0
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x))
0.0ms
x
@-inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x))

simplify143.0ms (4.3%)

Memory
3.2MiB live, 281.0MiB allocated; 44ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01934
13834
210934
345834
4381134
0839930
Stop Event
iter limit
node limit
Counts
8 → 8
Calls
Call 1
Inputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
-3
(- (pow x 2) 3)
(pow x 2)
(* 1/6 (pow x 2))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))
Outputs
-1/2
#s(literal -1/2 binary64)
(- (* 1/6 (pow x 2)) 1/2)
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
-3
#s(literal -3 binary64)
(- (pow x 2) 3)
(fma.f64 x x #s(literal -3 binary64))
(pow x 2)
(*.f64 x x)
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -3 binary64))

rewrite65.0ms (2%)

Memory
-28.7MiB live, 100.9MiB allocated; 38ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
0915
13715
024415
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 32
Calls
Call 1
Inputs
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 x x)
Outputs
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal 1/4 binary64)) (fma.f64 x (/.f64 x #s(literal 6 binary64)) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64)) (+.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)))) #s(literal 6 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64)) (*.f64 (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))) #s(literal 6 binary64)))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal -6 binary64))
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal 6 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal -6 binary64)))
(-.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (neg.f64 (fma.f64 x x #s(literal 3 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64))) (neg.f64 (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (fma.f64 x x #s(literal 3 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64)) (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (fma.f64 x x #s(literal 3 binary64))) (/.f64 #s(literal 9 binary64) (fma.f64 x x #s(literal 3 binary64))))
(-.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal 27 binary64) (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64)))))
(-.f64 (*.f64 x x) #s(literal 3 binary64))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))

eval8.0ms (0.2%)

Memory
-33.6MiB live, 15.3MiB allocated; 6ms collecting garbage
Compiler

Compiled 444 to 141 computations (68.2% saved)

prune3.0ms (0.1%)

Memory
11.4MiB live, 11.3MiB allocated; 0ms collecting garbage
Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New32638
Fresh000
Picked101
Done000
Total33639
Accuracy
100.0%
Counts
39 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
63.9%
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
99.9%
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
99.9%
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
54.7%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 138 to 112 computations (18.8% saved)

simplify18.0ms (0.6%)

Memory
-9.2MiB live, 38.2MiB allocated; 2ms collecting garbage
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 6 binary64))
cost-diff0
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
cost-diff2
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
cost-diff0
(fma.f64 x x #s(literal -3 binary64))
cost-diff0
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
cost-diff0
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
cost-diff0
(*.f64 x x)
cost-diff0
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023116
031116
150114
2112114
3247114
4432114
5548114
6606114
7635114
8661114
9662114
0662114
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(*.f64 x x)
x
#s(literal 1/6 binary64)
#s(literal -1/2 binary64)
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 x x)
x
#s(literal 1/6 binary64)
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
x
#s(literal -3 binary64)
#s(literal 6 binary64)
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
(*.f64 (*.f64 x x) #s(literal 6 binary64))
(*.f64 x x)
x
#s(literal 6 binary64)
#s(literal 18 binary64)
#s(literal 36 binary64)
Outputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(*.f64 x x)
x
#s(literal 1/6 binary64)
#s(literal -1/2 binary64)
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 x x)
x
#s(literal 1/6 binary64)
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
x
#s(literal -3 binary64)
#s(literal 6 binary64)
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
(*.f64 (*.f64 x x) #s(literal 6 binary64))
(*.f64 x x)
x
#s(literal 6 binary64)
#s(literal 18 binary64)
#s(literal 36 binary64)

localize45.0ms (1.4%)

Memory
14.6MiB live, 109.6MiB allocated; 7ms collecting garbage
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x x)
accuracy0.00390625
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
accuracy0.05078125
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
accuracy0.139003759768442
(*.f64 (*.f64 x x) #s(literal 6 binary64))
accuracy0.0
(fma.f64 x x #s(literal -3 binary64))
accuracy0.0
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
accuracy0.05859375
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
accuracy0.0
(*.f64 x x)
accuracy0.19140625
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
accuracy34.17748591321744
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
accuracy29.009671255001763
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
accuracy0.0
(*.f64 x x)
accuracy0.0
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
accuracy0.05859375
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
Samples
34.0ms256×0valid
Compiler

Compiled 95 to 19 computations (80% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
ival-mult: 5.0ms (25% of total)
ival-add: 4.0ms (20% of total)
ival-sub: 4.0ms (20% of total)
ival-div: 3.0ms (15% of total)
const: 3.0ms (15% of total)
exact: 1.0ms (5% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series4.0ms (0.1%)

Memory
12.4MiB live, 12.4MiB allocated; 0ms collecting garbage
Counts
12 → 12
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(*.f64 x x)
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
(*.f64 (*.f64 x x) #s(literal 6 binary64))
Outputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(pow x 2)
(* 1/6 (pow x 2))
-3
(- (pow x 2) 3)
-18
(- (* 6 (pow x 2)) 18)
(* 6 (pow x 2))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 6 (* 18 (/ 1 (pow x 2)))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@0
((/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (* x x) (/ (- (* x x) 3) 6) (/ (- (* x x) 3) 6) (* (* x x) 1/6) (/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) (/ (- (* (* x x) 6) 18) 36) (- (* (* x x) 6) 18) (* (* x x) 6))
1.0ms
x
@inf
((/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (* x x) (/ (- (* x x) 3) 6) (/ (- (* x x) 3) 6) (* (* x x) 1/6) (/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) (/ (- (* (* x x) 6) 18) 36) (- (* (* x x) 6) 18) (* (* x x) 6))
1.0ms
x
@-inf
((/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (* x x) (/ (- (* x x) 3) 6) (/ (- (* x x) 3) 6) (* (* x x) 1/6) (/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) (/ (- (* (* x x) 6) 18) 36) (- (* (* x x) 6) 18) (* (* x x) 6))

simplify101.0ms (3.1%)

Memory
10.3MiB live, 148.4MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02754
15454
215354
363254
4367354
0814048
Stop Event
iter limit
node limit
Counts
12 → 12
Calls
Call 1
Inputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(pow x 2)
(* 1/6 (pow x 2))
-3
(- (pow x 2) 3)
-18
(- (* 6 (pow x 2)) 18)
(* 6 (pow x 2))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))
(* (pow x 2) (- 6 (* 18 (/ 1 (pow x 2)))))
Outputs
-1/2
#s(literal -1/2 binary64)
(- (* 1/6 (pow x 2)) 1/2)
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(pow x 2)
(*.f64 x x)
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
-3
#s(literal -3 binary64)
(- (pow x 2) 3)
(fma.f64 x x #s(literal -3 binary64))
-18
#s(literal -18 binary64)
(- (* 6 (pow x 2)) 18)
(fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal -18 binary64))
(* 6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 6 binary64))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(* (pow x 2) (- 1 (* 3 (/ 1 (pow x 2)))))
(fma.f64 x x #s(literal -3 binary64))
(* (pow x 2) (- 6 (* 18 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal -18 binary64))

rewrite46.0ms (1.4%)

Memory
-4.9MiB live, 46.0MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02397
03197
111495
075095
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
12 → 117
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(*.f64 x x)
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(fma.f64 x x #s(literal -3 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
(*.f64 (*.f64 x x) #s(literal 6 binary64))
Outputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)))) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64)) #s(literal -1/8 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64)) #s(literal -1/8 binary64)) (+.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64))) (*.f64 (*.f64 x x) #s(literal -1/12 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64)) #s(literal -1/8 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64)))))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64))
(fma.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))
(fma.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1/6 binary64)) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(fma.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
(fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
(fma.f64 x (*.f64 #s(literal 1/6 binary64) x) #s(literal -1/2 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 x x)))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (*.f64 x x)) #s(literal 1/6 binary64)))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 x) (*.f64 #s(literal 1/6 binary64) x)))
(+.f64 (/.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))) (/.f64 #s(literal -1/8 binary64) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 x x) #s(literal -1/12 binary64))))))
(+.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)))
(*.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)))
(*.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)))
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (fabs.f64 x) (fabs.f64 x))
(*.f64 x x)
(pow.f64 (neg.f64 x) #s(literal 2 binary64))
(pow.f64 (fabs.f64 x) #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 x) x))
(neg.f64 (*.f64 x (neg.f64 x)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/6 binary64)))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 1/6 binary64)))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64)))
(*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)))
(*.f64 x (*.f64 #s(literal 1/6 binary64) x))
(/.f64 (neg.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 36 binary64))
(/.f64 (neg.f64 (neg.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))))) #s(literal 6 binary64))
(/.f64 (neg.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))) #s(literal -6 binary64))
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))) #s(literal 6 binary64)))
(neg.f64 (/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal -6 binary64)))
#s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64)))
(/.f64 (-.f64 #s(literal 9 binary64) (pow.f64 x #s(literal 4 binary64))) (-.f64 #s(literal -3 binary64) (*.f64 x x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64))) (neg.f64 (-.f64 (*.f64 x x) #s(literal -3 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64)))) (neg.f64 (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (-.f64 (*.f64 x x) #s(literal -3 binary64)))
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64))) (+.f64 #s(literal 9 binary64) (-.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 #s(literal -3 binary64) (*.f64 x x)))))
(/.f64 (+.f64 #s(literal -27 binary64) (pow.f64 x #s(literal 6 binary64))) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64))))
(fma.f64 (pow.f64 x #s(literal 1 binary64)) (pow.f64 x #s(literal 1 binary64)) #s(literal -3 binary64))
(fma.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 x)) #s(literal -3 binary64))
(fma.f64 (neg.f64 (fabs.f64 x)) (neg.f64 (fabs.f64 x)) #s(literal -3 binary64))
(fma.f64 (fabs.f64 (fabs.f64 x)) (fabs.f64 (fabs.f64 x)) #s(literal -3 binary64))
(fma.f64 (neg.f64 x) (neg.f64 x) #s(literal -3 binary64))
(fma.f64 (fabs.f64 x) (fabs.f64 x) #s(literal -3 binary64))
(fma.f64 x x #s(literal -3 binary64))
(-.f64 (/.f64 (pow.f64 x #s(literal 4 binary64)) (-.f64 (*.f64 x x) #s(literal -3 binary64))) (/.f64 #s(literal 9 binary64) (-.f64 (*.f64 x x) #s(literal -3 binary64))))
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 (neg.f64 x)) (neg.f64 x)))
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 (fabs.f64 x)) (fabs.f64 x)))
(-.f64 #s(literal -3 binary64) (*.f64 (neg.f64 x) x))
(-.f64 #s(literal -3 binary64) (*.f64 x (neg.f64 x)))
(+.f64 (/.f64 (pow.f64 x #s(literal 6 binary64)) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))) (/.f64 #s(literal -27 binary64) (fma.f64 #s(literal -3 binary64) (-.f64 #s(literal -3 binary64) (*.f64 x x)) (pow.f64 x #s(literal 4 binary64)))))
(+.f64 #s(literal -3 binary64) (*.f64 x x))
(+.f64 (*.f64 x x) #s(literal -3 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal 1/4 binary64)) (fma.f64 x (/.f64 x #s(literal 6 binary64)) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 1/8 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (+.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64)) (+.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)))) #s(literal 36 binary64))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)))) #s(literal 6 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 36 binary64)) #s(literal 648 binary64)) #s(literal 1296 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 6 binary64)) #s(literal 108 binary64)) #s(literal 216 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal 108 binary64)) #s(literal 216 binary64))
(/.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) #s(literal -324 binary64)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)) #s(literal 36 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64)) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal 1/2 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64)) (*.f64 (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))) #s(literal 6 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 5832 binary64)) (*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) (fma.f64 (*.f64 x x) #s(literal 108 binary64) #s(literal 324 binary64))) #s(literal 36 binary64)))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))) #s(literal -36 binary64))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal -6 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))) #s(literal 36 binary64)))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal 6 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal -36 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal -6 binary64)))
(-.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) #s(literal -324 binary64))) (neg.f64 (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 5832 binary64))) (neg.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) (fma.f64 (*.f64 x x) #s(literal 108 binary64) #s(literal 324 binary64)))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) #s(literal -324 binary64)) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 5832 binary64)) (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) (fma.f64 (*.f64 x x) #s(literal 108 binary64) #s(literal 324 binary64))))
(-.f64 (/.f64 (*.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64)) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))) (/.f64 #s(literal 324 binary64) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))))
(-.f64 (/.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) (fma.f64 (*.f64 x x) #s(literal 108 binary64) #s(literal 324 binary64)))) (/.f64 #s(literal 5832 binary64) (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 36 binary64) (fma.f64 (*.f64 x x) #s(literal 108 binary64) #s(literal 324 binary64)))))
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
(*.f64 (*.f64 #s(literal 6 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 6 binary64)))
(*.f64 (fabs.f64 x) (*.f64 (fabs.f64 x) #s(literal 6 binary64)))
(*.f64 (*.f64 x x) #s(literal 6 binary64))
(*.f64 #s(literal 6 binary64) (*.f64 x x))
(*.f64 x (*.f64 #s(literal 6 binary64) x))

eval19.0ms (0.6%)

Memory
-5.2MiB live, 40.7MiB allocated; 4ms collecting garbage
Compiler

Compiled 2 356 to 488 computations (79.3% saved)

prune9.0ms (0.3%)

Memory
-27.9MiB live, 18.6MiB allocated; 3ms collecting garbage
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New1504154
Fresh101
Picked145
Done000
Total1528160
Accuracy
100.0%
Counts
160 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
99.9%
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
54.7%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 101 to 81 computations (19.8% saved)

simplify17.0ms (0.5%)

Memory
31.9MiB live, 31.9MiB allocated; 0ms collecting garbage
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 6 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
cost-diff0
(-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64))
cost-diff2
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
cost-diff0
(*.f64 #s(literal 6 binary64) x)
cost-diff0
(fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
cost-diff2
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
cost-diff0
(*.f64 #s(literal 1/6 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
cost-diff0
(*.f64 #s(literal 6 binary64) x)
cost-diff0
(*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
cost-diff2
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022120
031126
154106
296106
3225106
4407106
5527106
6587106
7608106
8628106
9629106
0629106
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
(*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)))
x
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
(*.f64 #s(literal 6 binary64) x)
#s(literal 6 binary64)
#s(literal 36 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
(fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
x
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
(*.f64 #s(literal 6 binary64) x)
#s(literal 6 binary64)
#s(literal 36 binary64)
#s(literal -1/2 binary64)
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64))
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
(*.f64 #s(literal 6 binary64) x)
#s(literal 6 binary64)
x
#s(literal 18 binary64)
#s(literal 36 binary64)
Outputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
x
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 #s(literal 6 binary64) x)
#s(literal 6 binary64)
#s(literal 36 binary64)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64))
x
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 #s(literal 6 binary64) x)
#s(literal 6 binary64)
#s(literal 36 binary64)
#s(literal -1/2 binary64)
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64))
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
(*.f64 #s(literal 6 binary64) x)
#s(literal 6 binary64)
x
#s(literal 18 binary64)
#s(literal 36 binary64)

localize55.0ms (1.7%)

Memory
7.2MiB live, 103.8MiB allocated; 10ms collecting garbage
Localize:

Found 15 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal 6 binary64) x)
accuracy0.00390625
(-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64))
accuracy0.05078125
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
accuracy0.13671875
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
accuracy0.0
(*.f64 #s(literal 6 binary64) x)
accuracy0.0
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
accuracy0.046875
(fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
accuracy0.23046875
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
accuracy0.11328125
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
accuracy0.39453125
(*.f64 #s(literal 1/6 binary64) x)
accuracy34.17748591321744
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
accuracy0.0
(*.f64 #s(literal 6 binary64) x)
accuracy0.11328125
(*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)))
accuracy0.23046875
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
accuracy34.17748591321744
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
Samples
42.0ms256×0valid
Compiler

Compiled 100 to 21 computations (79% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
ival-mult: 9.0ms (41% of total)
ival-div: 5.0ms (22.8% of total)
const: 3.0ms (13.7% of total)
ival-sub: 2.0ms (9.1% of total)
ival-add: 1.0ms (4.6% of total)
exact: 1.0ms (4.6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series9.0ms (0.3%)

Memory
-33.7MiB live, 12.4MiB allocated; 6ms collecting garbage
Counts
12 → 10
Calls
Call 1
Inputs
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
(*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)))
(*.f64 #s(literal 6 binary64) x)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) x)
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
(fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64))
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
Outputs
(* 1/6 x)
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(* 1/6 (pow x 2))
(* 6 x)
-18
(- (* 6 (pow x 2)) 18)
(* 6 (pow x 2))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (- 6 (* 18 (/ 1 (pow x 2)))))
Calls

3 calls:

TimeVariablePointExpression
5.0ms
x
@inf
((/ (* 6 x) 36) (/ (- (* x x) 3) 6) (* x (/ (* 6 x) 36)) (* 6 x) (/ (- (* x x) 3) 6) (* (* 1/6 x) x) (* 1/6 x) (/ (- (* x x) 3) 6) (+ (* x (/ (* 6 x) 36)) -1/2) (/ (- (* (* 6 x) x) 18) 36) (- (* (* 6 x) x) 18) (* (* 6 x) x))
2.0ms
x
@-inf
((/ (* 6 x) 36) (/ (- (* x x) 3) 6) (* x (/ (* 6 x) 36)) (* 6 x) (/ (- (* x x) 3) 6) (* (* 1/6 x) x) (* 1/6 x) (/ (- (* x x) 3) 6) (+ (* x (/ (* 6 x) 36)) -1/2) (/ (- (* (* 6 x) x) 18) 36) (- (* (* 6 x) x) 18) (* (* 6 x) x))
1.0ms
x
@0
((/ (* 6 x) 36) (/ (- (* x x) 3) 6) (* x (/ (* 6 x) 36)) (* 6 x) (/ (- (* x x) 3) 6) (* (* 1/6 x) x) (* 1/6 x) (/ (- (* x x) 3) 6) (+ (* x (/ (* 6 x) 36)) -1/2) (/ (- (* (* 6 x) x) 18) 36) (- (* (* 6 x) x) 18) (* (* 6 x) x))

simplify128.0ms (3.9%)

Memory
10.4MiB live, 242.5MiB allocated; 28ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02346
14546
211446
343346
4287546
0846742
Stop Event
iter limit
node limit
Counts
10 → 10
Calls
Call 1
Inputs
(* 1/6 x)
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(* 1/6 (pow x 2))
(* 6 x)
-18
(- (* 6 (pow x 2)) 18)
(* 6 (pow x 2))
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(* (pow x 2) (- 6 (* 18 (/ 1 (pow x 2)))))
Outputs
(* 1/6 x)
(*.f64 #s(literal 1/6 binary64) x)
-1/2
#s(literal -1/2 binary64)
(- (* 1/6 (pow x 2)) 1/2)
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* 6 x)
(*.f64 #s(literal 6 binary64) x)
-18
#s(literal -18 binary64)
(- (* 6 (pow x 2)) 18)
(fma.f64 (*.f64 #s(literal 6 binary64) x) x #s(literal -18 binary64))
(* 6 (pow x 2))
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(* (pow x 2) (- 6 (* 18 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 #s(literal 6 binary64) x) x #s(literal -18 binary64))

rewrite46.0ms (1.4%)

Memory
29.9MiB live, 74.5MiB allocated; 4ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02296
031102
110884
064984
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
12 → 106
Calls
Call 1
Inputs
(/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
(*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)))
(*.f64 #s(literal 6 binary64) x)
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 #s(literal 1/6 binary64) x)
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
(fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
(-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64))
(*.f64 (*.f64 #s(literal 6 binary64) x) x)
Outputs
(*.f64 (/.f64 x #s(literal 36 binary64)) #s(literal 6 binary64))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 x #s(literal 1/6 binary64))
(*.f64 #s(literal 6 binary64) (/.f64 x #s(literal 36 binary64)))
(/.f64 (neg.f64 (*.f64 #s(literal -6 binary64) x)) #s(literal 36 binary64))
(/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal -36 binary64))
(/.f64 (*.f64 x #s(literal 6 binary64)) #s(literal 36 binary64))
(neg.f64 (/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal 36 binary64)))
(neg.f64 (/.f64 (*.f64 x #s(literal 6 binary64)) #s(literal -36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
(*.f64 x (*.f64 #s(literal 1/6 binary64) x))
(*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64)))
(*.f64 #s(literal 6 binary64) (*.f64 (/.f64 x #s(literal 36 binary64)) x))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(/.f64 (*.f64 x (*.f64 #s(literal -6 binary64) x)) #s(literal -36 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 36 binary64))
(*.f64 x #s(literal 6 binary64))
(*.f64 #s(literal 6 binary64) x)
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(*.f64 (*.f64 #s(literal 1/6 binary64) x) x)
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
(*.f64 x (*.f64 #s(literal 1/6 binary64) x))
(*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64)))
(*.f64 #s(literal 6 binary64) (*.f64 (/.f64 x #s(literal 36 binary64)) x))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(/.f64 (*.f64 x (*.f64 #s(literal -6 binary64) x)) #s(literal -36 binary64))
(/.f64 (neg.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 36 binary64))
(*.f64 (/.f64 x #s(literal 36 binary64)) #s(literal 6 binary64))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 x #s(literal 1/6 binary64))
(*.f64 #s(literal 6 binary64) (/.f64 x #s(literal 36 binary64)))
(/.f64 (neg.f64 (*.f64 #s(literal -6 binary64) x)) #s(literal 36 binary64))
(/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal -36 binary64))
(/.f64 (*.f64 x #s(literal 6 binary64)) #s(literal 36 binary64))
(neg.f64 (/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal 36 binary64)))
(neg.f64 (/.f64 (*.f64 x #s(literal 6 binary64)) #s(literal -36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64)))
(/.f64 (-.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64))) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64)))
(/.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 3 binary64))) (+.f64 #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)) (*.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))))))
(/.f64 (+.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 3 binary64))) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 x)) (neg.f64 x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (fabs.f64 x)) (fabs.f64 x) #s(literal -1/2 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64))
(fma.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)) #s(literal -1/2 binary64))
(fma.f64 x (*.f64 #s(literal 1/6 binary64) x) #s(literal -1/2 binary64))
(fma.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal -1/2 binary64))
(fma.f64 #s(literal 6 binary64) (*.f64 (/.f64 x #s(literal 36 binary64)) x) #s(literal -1/2 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/6 binary64) x)) x))
(-.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 x) (*.f64 #s(literal 1/6 binary64) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 3 binary64)) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)))) (/.f64 #s(literal -1/8 binary64) (fma.f64 #s(literal -1/2 binary64) (-.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x))) (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)))))
(+.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(+.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal -1/2 binary64))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64))) #s(literal 1/4 binary64)) (fma.f64 x (/.f64 x #s(literal 6 binary64)) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (+.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)) (+.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 1/2 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 3 binary64)) #s(literal 1/8 binary64)) (fma.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) (/.f64 (*.f64 x x) #s(literal 6 binary64)) (+.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64)))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)))) #s(literal 36 binary64))
(/.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)))) #s(literal 6 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 36 binary64)) #s(literal 648 binary64)) #s(literal 1296 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 6 binary64)) #s(literal 108 binary64)) #s(literal 216 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal 108 binary64)) #s(literal 216 binary64))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
(/.f64 (fma.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -324 binary64)) (*.f64 (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)) #s(literal 36 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 x x) #s(literal 1/2 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 27 binary64)) (*.f64 (fma.f64 #s(literal 3 binary64) (fma.f64 x x #s(literal 3 binary64)) (pow.f64 x #s(literal 4 binary64))) #s(literal 6 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 5832 binary64)) (*.f64 (fma.f64 #s(literal 18 binary64) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)) (*.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64)))) #s(literal 36 binary64)))
(/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))) #s(literal -36 binary64))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal -6 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))) #s(literal 36 binary64)))
(neg.f64 (/.f64 (neg.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64))) #s(literal 6 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal -36 binary64)))
(neg.f64 (/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal -6 binary64)))
(-.f64 (/.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 1/2 binary64))
(-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (fma.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -324 binary64))) (neg.f64 (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 5832 binary64))) (neg.f64 (fma.f64 #s(literal 18 binary64) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)) (*.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64))))))
(/.f64 (fma.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -324 binary64)) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)))
(/.f64 (-.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) #s(literal 5832 binary64)) (fma.f64 #s(literal 18 binary64) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)) (*.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64)))))
(-.f64 (/.f64 (*.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64))) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))) (/.f64 #s(literal 324 binary64) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64))))
(-.f64 (/.f64 (*.f64 #s(literal 216 binary64) (pow.f64 x #s(literal 6 binary64))) (fma.f64 #s(literal 18 binary64) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)) (*.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64))))) (/.f64 #s(literal 5832 binary64) (fma.f64 #s(literal 18 binary64) (fma.f64 (*.f64 x x) #s(literal 6 binary64) #s(literal 18 binary64)) (*.f64 #s(literal 36 binary64) (pow.f64 x #s(literal 4 binary64))))))
(-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64))
(*.f64 (*.f64 #s(literal 6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 #s(literal -6 binary64) x) (neg.f64 x))
(*.f64 (*.f64 x x) #s(literal 6 binary64))
(*.f64 (*.f64 x #s(literal 6 binary64)) x)
(*.f64 x (*.f64 x #s(literal 6 binary64)))
(*.f64 #s(literal 6 binary64) (*.f64 x x))

eval61.0ms (1.8%)

Memory
-19.4MiB live, 29.7MiB allocated; 21ms collecting garbage
Compiler

Compiled 1 716 to 325 computations (81.1% saved)

prune6.0ms (0.2%)

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

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New1052107
Fresh000
Picked224
Done044
Total1078115
Accuracy
100.0%
Counts
115 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
54.7%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 107 to 85 computations (20.6% saved)

simplify26.0ms (0.8%)

Memory
2.0MiB live, 42.8MiB allocated; 15ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal -6 binary64) x)
cost-diff0
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
cost-diff2
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
cost-diff0
(/.f64 x #s(literal 36 binary64))
cost-diff0
(*.f64 x #s(literal 6 binary64))
cost-diff0
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
cost-diff2
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01764
02364
14264
28556
316556
430656
551056
653956
754556
854956
054956
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
(*.f64 x #s(literal 6 binary64))
x
#s(literal 6 binary64)
(/.f64 x #s(literal 36 binary64))
#s(literal 36 binary64)
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
(*.f64 #s(literal -6 binary64) x)
#s(literal -6 binary64)
x
#s(literal -36 binary64)
Outputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 x #s(literal 6 binary64))
(*.f64 #s(literal 6 binary64) x)
x
#s(literal 6 binary64)
(/.f64 x #s(literal 36 binary64))
#s(literal 36 binary64)
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 1/6 binary64) (*.f64 x x)))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(*.f64 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
(*.f64 #s(literal -6 binary64) x)
#s(literal -6 binary64)
x
#s(literal -36 binary64)

localize78.0ms (2.4%)

Memory
-34.2MiB live, 113.8MiB allocated; 53ms collecting garbage
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 #s(literal -6 binary64) x)
accuracy0.13671875
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
accuracy0.14453125
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
accuracy34.17748591321744
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
accuracy0.0
(/.f64 x #s(literal 36 binary64))
accuracy0.0
(*.f64 x #s(literal 6 binary64))
accuracy0.17253876953688402
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
accuracy34.17748591321744
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
Samples
42.0ms256×0valid
Compiler

Compiled 50 to 17 computations (66% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 20.0ms (71.3% of total)
ival-div: 6.0ms (21.4% of total)
ival-sub: 1.0ms (3.6% of total)
exact: 1.0ms (3.6% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series4.0ms (0.1%)

Memory
19.2MiB live, 19.2MiB allocated; 0ms collecting garbage
Counts
8 → 8
Calls
Call 1
Inputs
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
(*.f64 x #s(literal 6 binary64))
(/.f64 x #s(literal 36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
(*.f64 #s(literal -6 binary64) x)
Outputs
(* 1/6 (pow x 2))
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(* 6 x)
(* 1/36 x)
(* -6 (pow x 2))
(* -6 x)
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((* (* x 6) (/ x 36)) (/ (- (* x x) 3) 6) (* x 6) (/ x 36) (/ (* (* -6 x) x) -36) (/ (- (* x x) 3) 6) (* (* -6 x) x) (* -6 x))
1.0ms
x
@inf
((* (* x 6) (/ x 36)) (/ (- (* x x) 3) 6) (* x 6) (/ x 36) (/ (* (* -6 x) x) -36) (/ (- (* x x) 3) 6) (* (* -6 x) x) (* -6 x))
1.0ms
x
@0
((* (* x 6) (/ x 36)) (/ (- (* x x) 3) 6) (* x 6) (/ x 36) (/ (* (* -6 x) x) -36) (/ (- (* x x) 3) 6) (* (* -6 x) x) (* -6 x))

simplify112.0ms (3.4%)

Memory
-12.4MiB live, 126.8MiB allocated; 16ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02034
13634
28334
328534
4173234
0965832
Stop Event
iter limit
node limit
Counts
8 → 8
Calls
Call 1
Inputs
(* 1/6 (pow x 2))
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(* 6 x)
(* 1/36 x)
(* -6 (pow x 2))
(* -6 x)
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
Outputs
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
-1/2
#s(literal -1/2 binary64)
(- (* 1/6 (pow x 2)) 1/2)
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))
(* 6 x)
(*.f64 #s(literal 6 binary64) x)
(* 1/36 x)
(*.f64 #s(literal 1/36 binary64) x)
(* -6 (pow x 2))
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
(* -6 x)
(*.f64 #s(literal -6 binary64) x)
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64))

rewrite42.0ms (1.3%)

Memory
3.2MiB live, 55.9MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01758
02358
16658
032358
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
8 → 54
Calls
Call 1
Inputs
(*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
(*.f64 x #s(literal 6 binary64))
(/.f64 x #s(literal 36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
(*.f64 #s(literal -6 binary64) x)
Outputs
(*.f64 (*.f64 (/.f64 x #s(literal 36 binary64)) x) #s(literal 6 binary64))
(*.f64 (/.f64 x #s(literal -36 binary64)) (*.f64 #s(literal -6 binary64) x))
(*.f64 (*.f64 (/.f64 x #s(literal 36 binary64)) #s(literal 6 binary64)) x)
(*.f64 (*.f64 #s(literal -6 binary64) x) (/.f64 x #s(literal -36 binary64)))
(*.f64 #s(literal -6 binary64) (/.f64 (*.f64 x x) #s(literal -36 binary64)))
(*.f64 #s(literal -6 binary64) (*.f64 x (/.f64 x #s(literal -36 binary64))))
(*.f64 (/.f64 x #s(literal 36 binary64)) (*.f64 #s(literal 6 binary64) x))
(*.f64 (*.f64 #s(literal 6 binary64) x) (/.f64 x #s(literal 36 binary64)))
(*.f64 #s(literal 6 binary64) (*.f64 x (/.f64 x #s(literal 36 binary64))))
(*.f64 x (/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal -36 binary64)))
(*.f64 x (*.f64 #s(literal -6 binary64) (/.f64 x #s(literal -36 binary64))))
(*.f64 x (*.f64 (/.f64 x #s(literal 36 binary64)) #s(literal 6 binary64)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 #s(literal 6 binary64) x)) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) (neg.f64 x)) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(neg.f64 (/.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal -36 binary64)))
(neg.f64 (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal 36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 (/.f64 x #s(literal 36 binary64)) x) #s(literal 6 binary64)))
(*.f64 #s(literal 6 binary64) x)
(*.f64 x #s(literal 6 binary64))
(/.f64 (neg.f64 (neg.f64 x)) #s(literal 36 binary64))
(/.f64 (neg.f64 x) #s(literal -36 binary64))
(/.f64 x #s(literal 36 binary64))
(neg.f64 (/.f64 x #s(literal -36 binary64)))
(*.f64 (*.f64 (/.f64 x #s(literal 36 binary64)) x) #s(literal 6 binary64))
(*.f64 (/.f64 x #s(literal -36 binary64)) (*.f64 #s(literal -6 binary64) x))
(*.f64 (*.f64 (/.f64 x #s(literal 36 binary64)) #s(literal 6 binary64)) x)
(*.f64 (*.f64 #s(literal -6 binary64) x) (/.f64 x #s(literal -36 binary64)))
(*.f64 #s(literal -6 binary64) (/.f64 (*.f64 x x) #s(literal -36 binary64)))
(*.f64 #s(literal -6 binary64) (*.f64 x (/.f64 x #s(literal -36 binary64))))
(*.f64 (/.f64 x #s(literal 36 binary64)) (*.f64 #s(literal 6 binary64) x))
(*.f64 (*.f64 #s(literal 6 binary64) x) (/.f64 x #s(literal 36 binary64)))
(*.f64 #s(literal 6 binary64) (*.f64 x (/.f64 x #s(literal 36 binary64))))
(*.f64 x (/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal -36 binary64)))
(*.f64 x (*.f64 #s(literal -6 binary64) (/.f64 x #s(literal -36 binary64))))
(*.f64 x (*.f64 (/.f64 x #s(literal 36 binary64)) #s(literal 6 binary64)))
(/.f64 (*.f64 (neg.f64 x) (*.f64 #s(literal 6 binary64) x)) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) (neg.f64 x)) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(neg.f64 (/.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal -36 binary64)))
(neg.f64 (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal 36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 (/.f64 x #s(literal 36 binary64)) x) #s(literal 6 binary64)))
(*.f64 (*.f64 #s(literal -6 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal -6 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 #s(literal -6 binary64) x) x)
(*.f64 #s(literal -6 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal -6 binary64))
(*.f64 x (*.f64 #s(literal -6 binary64) x))
(neg.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x))
(*.f64 #s(literal -6 binary64) x)
(*.f64 x #s(literal -6 binary64))
(neg.f64 (*.f64 #s(literal 6 binary64) x))

eval4.0ms (0.1%)

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

Compiled 661 to 137 computations (79.3% saved)

prune6.0ms (0.2%)

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

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New41142
Fresh000
Picked112
Done066
Total42850
Accuracy
100.0%
Counts
50 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
99.9%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) #s(approx (/ x 36) (*.f64 #s(literal 1/36 binary64) x))))
46.5%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
54.7%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 289 to 151 computations (47.8% saved)

regimes17.0ms (0.5%)

Memory
-11.5MiB live, 33.1MiB allocated; 4ms collecting garbage
Counts
14 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) #s(approx (/ x 36) (*.f64 #s(literal 1/36 binary64) x))))
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x #s(literal 6 binary64)) (/.f64 x #s(literal 36 binary64))))
#s(approx (/ (- (* x x) 3) 6) (/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64)))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64)) #s(literal -1/2 binary64)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 6 binary64) x) x) #s(literal 18 binary64)) #s(literal 36 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 6 binary64)) #s(literal 18 binary64)) #s(literal 36 binary64))
(/.f64 (-.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 9 binary64)) (*.f64 (fma.f64 x x #s(literal 3 binary64)) #s(literal 6 binary64)))
Outputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
Calls

4 calls:

6.0ms
x
3.0ms
(*.f64 x x)
3.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
3.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
Results
AccuracySegmentsBranch
99.9%1(*.f64 x x)
99.9%1(-.f64 (*.f64 x x) #s(literal 3 binary64))
99.9%1(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
99.9%1x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes6.0ms (0.2%)

Memory
13.2MiB live, 13.2MiB allocated; 0ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
Calls

4 calls:

2.0ms
x
1.0ms
(*.f64 x x)
1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
1.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
Results
AccuracySegmentsBranch
99.4%2(*.f64 x x)
99.4%2(-.f64 (*.f64 x x) #s(literal 3 binary64))
99.4%2(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
99.4%2x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes6.0ms (0.2%)

Memory
-34.2MiB live, 12.5MiB allocated; 2ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
Calls

4 calls:

2.0ms
(*.f64 x x)
1.0ms
x
1.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Results
AccuracySegmentsBranch
99.3%2(*.f64 x x)
99.3%2(-.f64 (*.f64 x x) #s(literal 3 binary64))
99.3%2(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
99.3%2x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes4.0ms (0.1%)

Memory
10.4MiB live, 10.4MiB allocated; 0ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Outputs
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Calls

4 calls:

1.0ms
x
1.0ms
(*.f64 x x)
1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
1.0ms
(-.f64 (*.f64 x x) #s(literal 3 binary64))
Results
AccuracySegmentsBranch
54.7%1(*.f64 x x)
54.7%1(-.f64 (*.f64 x x) #s(literal 3 binary64))
54.7%1(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
54.7%1x
Compiler

Compiled 16 to 13 computations (18.8% saved)

bsearch14.0ms (0.4%)

Memory
24.8MiB live, 24.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
12.0ms
2.3186427852705794e-10
117.53530214980604
Samples
6.0ms160×0valid
Compiler

Compiled 230 to 210 computations (8.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-sub: 1.0ms (30% of total)
ival-div: 1.0ms (30% of total)
ival-mult: 1.0ms (30% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
2.3186427852705794e-10
117.53530214980604
Compiler

Compiled 230 to 210 computations (8.7% saved)

simplify14.0ms (0.4%)

Memory
-24.7MiB live, 21.8MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02175
12875
24775
37675
410475
512175
613275
713675
814375
915175
1015975
Stop Event
saturated
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x)))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Outputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64))))
(if (<=.f64 x #s(literal 7/4 binary64)) #s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64)) #s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x)))
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))

derivations121.0ms (3.6%)

Memory
11.3MiB live, 62.3MiB allocated; 47ms collecting garbage
Stop Event
fuel
Compiler

Compiled 75 to 21 computations (72% saved)

preprocess24.0ms (0.7%)

Memory
-2.9MiB live, 44.4MiB allocated; 9ms collecting garbage
Remove

(abs x)

Compiler

Compiled 192 to 76 computations (60.4% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...