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

Time bar (total: 1.8s)

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)

sample701.0ms (38.2%)

Memory
-13.0MiB live, 1 163.4MiB allocated; 272ms collecting garbage
Samples
474.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 283.0ms
ival-sub: 120.0ms (42.4% of total)
ival-div: 74.0ms (26.2% of total)
ival-mult: 69.0ms (24.4% of total)
exact: 8.0ms (2.8% of total)
ival-true: 6.0ms (2.1% of total)
ival-assert: 3.0ms (1.1% of total)
adjust: 2.0ms (0.7% of total)
Bogosity

explain66.0ms (3.6%)

Memory
16.6MiB live, 107.7MiB allocated; 10ms 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
25.0ms512×0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 4.0ms (35.8% of total)
ival-div: 3.0ms (26.8% of total)
ival-sub: 2.0ms (17.9% 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)

preprocess17.0ms (0.9%)

Memory
24.4MiB live, 24.4MiB allocated; 0ms 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)

series2.0ms (0.1%)

Memory
3.9MiB live, 3.9MiB allocated; 0ms collecting garbage
Counts
6 → 9
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
-1/2
(- (* 1/6 (pow x 2)) 1/2)
-3
(- (pow x 2) 3)
(pow x 2)
x
(* 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) x 3 6)
1.0ms
x
@-inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x) x 3 6)
1.0ms
x
@0
((/ (- (* x x) 3) 6) (- (* x x) 3) (* x x) x 3 6)

simplify110.0ms (6%)

Memory
-33.8MiB live, 104.2MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01935
13835
210935
345835
4381135
0839931
Stop Event
iter limit
node limit
Counts
9 → 8
Calls
Call 1
Inputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
-3
(- (pow x 2) 3)
(pow x 2)
x
(* 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)
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))

rewrite47.0ms (2.5%)

Memory
9.1MiB live, 53.3MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
0918
13718
024418
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
6 → 35
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 (/.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)))
x
#s(literal 3 binary64)
#s(literal 6 binary64)

eval5.0ms (0.2%)

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

Compiled 472 to 141 computations (70.1% saved)

prune4.0ms (0.2%)

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

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New35742
Fresh000
Picked101
Done000
Total36743
Accuracy
100.0%
Counts
43 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
60.6%
(/.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)))
64.7%
(/.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.8%
(/.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.8%
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 binary64)))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
50.3%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 172 to 136 computations (20.9% saved)

series5.0ms (0.3%)

Memory
11.4MiB live, 11.4MiB allocated; 0ms collecting garbage
Counts
19 → 13
Calls
Call 1
Inputs
(/.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)
#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)
#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)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 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))
#s(literal 18 binary64)
#s(literal 36 binary64)
Outputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
-3
(- (pow x 2) 3)
x
(* 1/6 (pow x 2))
(pow x 2)
-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
2.0ms
x
@inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) x -3 6 (/ (- (* x x) 3) 6) -1/2 (/ (- (* x x) 3) 6) (* (* x x) 1/6) (* x x) 1/6 (/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (/ (- (* (* x x) 6) 18) 36) (- (* (* x x) 6) 18) (* (* x x) 6) 18 36)
1.0ms
x
@-inf
((/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) x -3 6 (/ (- (* x x) 3) 6) -1/2 (/ (- (* x x) 3) 6) (* (* x x) 1/6) (* x x) 1/6 (/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (/ (- (* (* x x) 6) 18) 36) (- (* (* x x) 6) 18) (* (* x x) 6) 18 36)
1.0ms
x
@0
((/ (- (* x x) 3) 6) (- (* x x) 3) (+ (* x x) -3) x -3 6 (/ (- (* x x) 3) 6) -1/2 (/ (- (* x x) 3) 6) (* (* x x) 1/6) (* x x) 1/6 (/ (- (* x x) 3) 6) (+ (* (* x x) 1/6) -1/2) (/ (- (* (* x x) 6) 18) 36) (- (* (* x x) 6) 18) (* (* x x) 6) 18 36)

simplify130.0ms (7.1%)

Memory
-36.5MiB live, 162.5MiB allocated; 54ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02755
15455
215355
363255
4367355
0814049
Stop Event
iter limit
node limit
Counts
13 → 12
Calls
Call 1
Inputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
-3
(- (pow x 2) 3)
x
(* 1/6 (pow x 2))
(pow x 2)
-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))
-3
#s(literal -3 binary64)
(- (pow x 2) 3)
(fma.f64 x x #s(literal -3 binary64))
x
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(pow x 2)
(*.f64 x x)
-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))

rewrite44.0ms (2.4%)

Memory
18.8MiB live, 65.1MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023104
031104
1114102
0750102
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
19 → 124
Calls
Call 1
Inputs
(/.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)
#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)
#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)))
(fma.f64 (*.f64 x x) #s(literal 1/6 binary64) #s(literal -1/2 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))
#s(literal 18 binary64)
#s(literal 36 binary64)
Outputs
(/.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 (*.f64 x x) #s(literal -3 binary64)))))
(/.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 (*.f64 x x) #s(literal -3 binary64))
(+.f64 #s(literal -3 binary64) (*.f64 x x))
x
#s(literal -3 binary64)
#s(literal 6 binary64)
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
#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 (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(literal 1/6 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) (*.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 (-.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 (-.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 (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 x x) #s(literal 36 binary64)) #s(literal 108 binary64)) #s(literal 216 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 (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))
#s(literal 18 binary64)
#s(literal 36 binary64)

eval20.0ms (1.1%)

Memory
-9.3MiB live, 42.7MiB allocated; 5ms collecting garbage
Compiler

Compiled 2 553 to 488 computations (80.9% saved)

prune6.0ms (0.3%)

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

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1674171
Fresh202
Picked235
Done000
Total1717178
Accuracy
100.0%
Counts
178 → 7
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 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64))))
50.3%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 91 to 72 computations (20.9% saved)

series7.0ms (0.4%)

Memory
-31.6MiB live, 15.1MiB allocated; 3ms collecting garbage
Counts
18 → 9
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64))))
(*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64)))
#s(literal 6 binary64)
(/.f64 (*.f64 x x) #s(literal 36 binary64))
(*.f64 x x)
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 (*.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(literal 1/6 binary64)
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
Outputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(* 1/6 (pow x 2))
(* 1/36 (pow x 2))
(pow x 2)
x
(* 1/6 x)
(* 6 x)
(* (pow x 2) (- 1/6 (* 1/2 (/ 1 (pow x 2)))))
Calls

3 calls:

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

simplify130.0ms (7.1%)

Memory
30.0MiB live, 264.1MiB allocated; 20ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01835
13335
28035
328135
4172635
0965033
Stop Event
iter limit
node limit
Counts
9 → 8
Calls
Call 1
Inputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(* 1/6 (pow x 2))
(* 1/36 (pow x 2))
(pow x 2)
x
(* 1/6 x)
(* 6 x)
(* (pow x 2) (- 1/6 (* 1/2 (/ 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))
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* 1/36 (pow x 2))
(*.f64 (*.f64 #s(literal 1/36 binary64) x) x)
(pow x 2)
(*.f64 x x)
x
(* 1/6 x)
(*.f64 #s(literal 1/6 binary64) 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))

rewrite53.0ms (2.9%)

Memory
-34.3MiB live, 65.8MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
022106
031112
19396
049396
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
18 → 117
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64))))
(*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64)))
#s(literal 6 binary64)
(/.f64 (*.f64 x x) #s(literal 36 binary64))
(*.f64 x x)
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 (*.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(literal 1/6 binary64)
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
Outputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) 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 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 #s(literal 6 binary64) x) (/.f64 x #s(literal 36 binary64)))
(*.f64 (/.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal 6 binary64))
(*.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 #s(literal 1/6 binary64) x))
(/.f64 (*.f64 (*.f64 (neg.f64 x) x) #s(literal 6 binary64)) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(/.f64 (*.f64 #s(literal 6 binary64) (*.f64 (neg.f64 x) x)) #s(literal -36 binary64))
(/.f64 (*.f64 x (*.f64 #s(literal -6 binary64) x)) #s(literal -36 binary64))
(/.f64 (neg.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))
#s(literal 6 binary64)
(*.f64 (/.f64 x #s(literal 36 binary64)) x)
(*.f64 (neg.f64 x) (/.f64 (neg.f64 x) #s(literal 36 binary64)))
(*.f64 (fabs.f64 x) (/.f64 (fabs.f64 x) #s(literal 36 binary64)))
(*.f64 x (/.f64 x #s(literal 36 binary64)))
(/.f64 (*.f64 (neg.f64 x) x) #s(literal -36 binary64))
(/.f64 (*.f64 x x) #s(literal 36 binary64))
(neg.f64 (/.f64 (*.f64 (neg.f64 x) x) #s(literal 36 binary64)))
(neg.f64 (/.f64 (*.f64 x x) #s(literal -36 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))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
x
#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) (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 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 #s(literal 6 binary64) x) (/.f64 x #s(literal 36 binary64)))
(*.f64 (/.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal 6 binary64))
(*.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 #s(literal 1/6 binary64) x))
(/.f64 (*.f64 (*.f64 (neg.f64 x) x) #s(literal 6 binary64)) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(/.f64 (*.f64 #s(literal 6 binary64) (*.f64 (neg.f64 x) x)) #s(literal -36 binary64))
(/.f64 (*.f64 x (*.f64 #s(literal -6 binary64) x)) #s(literal -36 binary64))
(/.f64 (neg.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 x #s(literal 36 binary64)) #s(literal 6 binary64))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 #s(literal 6 binary64) (/.f64 x #s(literal 36 binary64)))
(*.f64 x #s(literal 1/6 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 #s(literal 6 binary64) x) #s(literal 36 binary64))
(neg.f64 (/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal 36 binary64)))
(neg.f64 (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal -36 binary64)))
(*.f64 #s(literal 6 binary64) x)
(*.f64 x #s(literal 6 binary64))
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) 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 #s(literal 1/6 binary64) (*.f64 x x))
(*.f64 (*.f64 #s(literal 6 binary64) x) (/.f64 x #s(literal 36 binary64)))
(*.f64 (/.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal 6 binary64))
(*.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 #s(literal 1/6 binary64) x))
(/.f64 (*.f64 (*.f64 (neg.f64 x) x) #s(literal 6 binary64)) #s(literal -36 binary64))
(/.f64 (*.f64 (*.f64 #s(literal -6 binary64) x) x) #s(literal -36 binary64))
(/.f64 (*.f64 #s(literal 6 binary64) (*.f64 (neg.f64 x) x)) #s(literal -36 binary64))
(/.f64 (*.f64 x (*.f64 #s(literal -6 binary64) x)) #s(literal -36 binary64))
(/.f64 (neg.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 x #s(literal 36 binary64)) #s(literal 6 binary64))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 #s(literal 6 binary64) (/.f64 x #s(literal 36 binary64)))
(*.f64 x #s(literal 1/6 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 #s(literal 6 binary64) x) #s(literal 36 binary64))
(neg.f64 (/.f64 (*.f64 #s(literal -6 binary64) x) #s(literal 36 binary64)))
(neg.f64 (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal -36 binary64)))
#s(literal 1/6 binary64)
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) 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 (*.f64 #s(literal 1/6 binary64) 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 (*.f64 #s(literal 1/6 binary64) 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 #s(literal -1/2 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))))))
(/.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) #s(literal -1/4 binary64)) (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) 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 #s(literal -1/2 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x)))))
(/.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 #s(literal -1/2 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x)))))
(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 #s(literal 1/6 binary64) (*.f64 x x) #s(literal -1/2 binary64))
(fma.f64 (*.f64 #s(literal 6 binary64) x) (/.f64 x #s(literal 36 binary64)) #s(literal -1/2 binary64))
(fma.f64 (/.f64 (*.f64 x x) #s(literal 36 binary64)) #s(literal 6 binary64) #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 #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 (*.f64 #s(literal 1/6 binary64) x) x) #s(literal -1/2 binary64))) (/.f64 #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) 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 #s(literal -1/6 binary64) (*.f64 x x)))
(-.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 #s(literal -1/2 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))))) (/.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 #s(literal -1/2 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))))))
(+.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
(+.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) x) x) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)

eval9.0ms (0.5%)

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

Compiled 1 546 to 272 computations (82.4% saved)

prune6.0ms (0.3%)

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

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New92193
Fresh000
Picked044
Done033
Total928100
Accuracy
100.0%
Counts
100 → 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 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64))))
49.2%
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x))))
50.3%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 112 to 87 computations (22.3% saved)

series3.0ms (0.2%)

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

3 calls:

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

simplify83.0ms (4.5%)

Memory
0.0MiB live, 92.5MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01629
13029
27729
328029
4173329
0968127
Stop Event
iter limit
node limit
Counts
7 → 6
Calls
Call 1
Inputs
-1/2
(- (* 1/6 (pow x 2)) 1/2)
(* 1/6 (pow x 2))
(* 1/36 (pow x 2))
(* 1/36 x)
x
(* (pow x 2) (- 1/6 (* 1/2 (/ 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))
(* 1/6 (pow x 2))
(*.f64 (*.f64 x x) #s(literal 1/6 binary64))
(* 1/36 (pow x 2))
(*.f64 (*.f64 #s(literal 1/36 binary64) x) x)
(* 1/36 x)
(*.f64 #s(literal 1/36 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))

rewrite31.0ms (1.7%)

Memory
-13.2MiB live, 33.3MiB allocated; 2ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01456
01756
15556
028056
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
8 → 15
Calls
Call 1
Inputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x))))
(*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x)))
#s(literal 6 binary64)
#s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/36 binary64) x) x)
(*.f64 #s(literal 1/36 binary64) x)
#s(literal 1/36 binary64)
x
Outputs
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x)) #s(literal 6 binary64)))
(*.f64 #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x)) #s(literal 6 binary64))
(*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x)))
#s(literal 6 binary64)
#s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x))
(*.f64 (*.f64 #s(literal 1/36 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/36 binary64) (fabs.f64 x)) (fabs.f64 x))
(*.f64 (*.f64 #s(literal 1/36 binary64) x) x)
(*.f64 #s(literal 1/36 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1/36 binary64))
(*.f64 x (*.f64 #s(literal 1/36 binary64) x))
(*.f64 #s(literal 1/36 binary64) x)
(*.f64 x #s(literal 1/36 binary64))
#s(literal 1/36 binary64)
x

eval2.0ms (0.1%)

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

Compiled 409 to 63 computations (84.6% saved)

prune5.0ms (0.3%)

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

9 alts after pruning (1 fresh and 8 done)

PrunedKeptTotal
New19120
Fresh000
Picked011
Done077
Total19928
Accuracy
100.0%
Counts
28 → 9
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 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 x x) #s(literal 1/6 binary64)))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 (*.f64 #s(literal 1/6 binary64) x) x))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 x (/.f64 (*.f64 #s(literal 6 binary64) x) #s(literal 36 binary64))))
49.3%
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) (/.f64 (*.f64 x x) #s(literal 36 binary64))))
49.2%
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 x x) #s(literal 1/36 binary64)))))
49.2%
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x))))
50.3%
#s(approx (/ (- (* x x) 3) 6) #s(literal -1/2 binary64))
Compiler

Compiled 325 to 166 computations (48.9% saved)

regimes114.0ms (6.2%)

Memory
-21.6MiB live, 38.6MiB allocated; 103ms 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 #s(literal 1/6 binary64) x) x #s(literal -1/2 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 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 x x) #s(literal 1/36 binary64)))))
(/.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 #s(literal 6 binary64) (/.f64 (*.f64 x 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 (-.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)))
Outputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
Calls

4 calls:

103.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)

regimes21.0ms (1.1%)

Memory
-33.5MiB live, 18.7MiB allocated; 11ms collecting garbage
Counts
7 → 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 #s(literal 1/6 binary64) x) x #s(literal -1/2 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 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 #s(literal 1/36 binary64) x) x))))
#s(approx (/ (- (* x x) 3) 6) (*.f64 #s(literal 6 binary64) #s(approx (/ (* x x) 36) (*.f64 (*.f64 x x) #s(literal 1/36 binary64)))))
Outputs
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
Calls

4 calls:

14.0ms
(*.f64 x x)
3.0ms
x
2.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
2.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.3%)

Memory
10.3MiB live, 10.3MiB 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 x x) #s(literal 3 binary64))
1.0ms
(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
Results
AccuracySegmentsBranch
97.9%2(*.f64 x x)
97.9%2(-.f64 (*.f64 x x) #s(literal 3 binary64))
97.9%2(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
97.9%2x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes5.0ms (0.3%)

Memory
10.3MiB live, 10.3MiB allocated; 0ms 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:

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
97.9%2(*.f64 x x)
97.9%2(-.f64 (*.f64 x x) #s(literal 3 binary64))
97.9%2(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
97.9%2x
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes4.0ms (0.2%)

Memory
9.3MiB live, 9.3MiB 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
50.3%1(*.f64 x x)
50.3%1(-.f64 (*.f64 x x) #s(literal 3 binary64))
50.3%1(/.f64 (-.f64 (*.f64 x x) #s(literal 3 binary64)) #s(literal 6 binary64))
50.3%1x
Compiler

Compiled 16 to 13 computations (18.8% saved)

bsearch10.0ms (0.5%)

Memory
14.2MiB live, 14.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
0.7062043373524043
20.04293246132413
Samples
4.0ms112×0valid
Compiler

Compiled 164 to 150 computations (8.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-div: 1.0ms (44.5% of total)
ival-mult: 1.0ms (44.5% of total)
ival-sub: 0.0ms (0% 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.1%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.7062043373524043
20.04293246132413
Compiler

Compiled 164 to 150 computations (8.5% saved)

simplify16.0ms (0.8%)

Memory
-25.6MiB live, 21.4MiB allocated; 1ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02587
13287
25187
38087
410887
512587
613687
714087
814787
915587
1016387
Stop Event
saturated
Calls
Call 1
Inputs
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
(if (<=.f64 x #s(literal 7656119366529843/4503599627370496 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 7656119366529843/4503599627370496 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
(/.f64 #s(approx (- (* x x) 3) (fma.f64 x x #s(literal -3 binary64))) #s(literal 6 binary64))
#s(approx (/ (- (* x x) 3) 6) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1/2 binary64)))
(if (<=.f64 x #s(literal 7656119366529843/4503599627370496 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 7656119366529843/4503599627370496 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))

derivations144.0ms (7.8%)

Memory
-10.1MiB live, 126.8MiB allocated; 22ms collecting garbage
Stop Event
fuel
Compiler

Compiled 87 to 26 computations (70.1% saved)

preprocess27.0ms (1.5%)

Memory
10.0MiB live, 54.7MiB allocated; 6ms collecting garbage
Remove

(abs x)

Compiler

Compiled 212 to 82 computations (61.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...