Diagrams.Tangent:$catParam from diagrams-lib-1.3.0.3, D

Time bar (total: 1.5s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
1.3MiB live, 1.3MiB 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 15 to 12 computations (20% saved)

sample864.0ms (59.2%)

Memory
18.2MiB live, 1 004.5MiB allocated; 169ms collecting garbage
Samples
502.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 311.0ms
ival-mult!: 262.0ms (84.1% of total)
ival-add!: 25.0ms (8% of total)
ival-sub!: 23.0ms (7.4% of total)
adjust: 1.0ms (0.3% of total)
Bogosity

preprocess41.0ms (2.8%)

Memory
-4.3MiB live, 40.6MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01843
17235
228433
3119133
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
Compiler

Compiled 22 to 20 computations (9.1% saved)

series6.0ms (0.4%)

Memory
18.0MiB live, 18.0MiB allocated; 0ms collecting garbage
Counts
10 → 19
Calls
Call 1
Inputs
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
#s(literal 3 binary64)
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
x
(*.f64 x #s(literal 4 binary64))
#s(literal 4 binary64)
#s(literal 1 binary64)
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 3))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* -12 x))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* x (- (* 9 x) 12)))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 1))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (+ 1 (* -4 x))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (+ 1 (* x (- (* 3 x) 4)))))
#s(approx (- (* (* x 3) x) (* x 4)) #s(hole binary64 (* -4 x)))
#s(approx (- (* (* x 3) x) (* x 4)) #s(hole binary64 (* x (- (* 3 x) 4))))
#s(approx (* (* x 3) x) #s(hole binary64 (* 3 (pow x 2))))
#s(approx (* x 3) #s(hole binary64 (* 3 x)))
#s(approx x #s(hole binary64 x))
#s(approx (* x 4) #s(hole binary64 (* 4 x)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* 9 (pow x 2))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- 9 (* 12 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (* (pow x 2) (- 3 (* 4 (/ 1 x))))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))))
Calls

3 calls:

TimeVariablePointExpression
2.0ms
x
@-inf
((* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) 3 (+ (- (* (* x 3) x) (* x 4)) 1) (- (* (* x 3) x) (* x 4)) (* (* x 3) x) (* x 3) x (* x 4) 4 1)
2.0ms
x
@inf
((* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) 3 (+ (- (* (* x 3) x) (* x 4)) 1) (- (* (* x 3) x) (* x 4)) (* (* x 3) x) (* x 3) x (* x 4) 4 1)
1.0ms
x
@0
((* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) 3 (+ (- (* (* x 3) x) (* x 4)) 1) (- (* (* x 3) x) (* x 4)) (* (* x 3) x) (* x 3) x (* x 4) 4 1)

rewrite187.0ms (12.8%)

Memory
22.5MiB live, 169.9MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
083399
092385
1510345
23379345
Stop Event
iter-limit
unsound
node-limit
iter-limit
Counts
29 → 18
Calls
Call 1
Inputs
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
#s(literal 3 binary64)
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
x
(*.f64 x #s(literal 4 binary64))
#s(literal 4 binary64)
#s(literal 1 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 3))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* -12 x))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* x (- (* 9 x) 12)))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 1))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (+ 1 (* -4 x))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (+ 1 (* x (- (* 3 x) 4)))))
#s(approx (- (* (* x 3) x) (* x 4)) #s(hole binary64 (* -4 x)))
#s(approx (- (* (* x 3) x) (* x 4)) #s(hole binary64 (* x (- (* 3 x) 4))))
#s(approx (* (* x 3) x) #s(hole binary64 (* 3 (pow x 2))))
#s(approx (* x 3) #s(hole binary64 (* 3 x)))
#s(approx x #s(hole binary64 x))
#s(approx (* x 4) #s(hole binary64 (* 4 x)))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* 9 (pow x 2))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- 9 (* 12 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (* (pow x 2) (- 3 (* 4 (/ 1 x))))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (* (pow x 2) (- (+ 3 (/ 1 (pow x 2))) (* 4 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(hole binary64 (* (pow x 2) (+ 3 (* -1 (/ (- 4 (/ 1 x)) x))))))
Outputs
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
#s(literal 3 binary64)
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
(*.f64 (*.f64 x #s(literal 3 binary64)) x)
(*.f64 x #s(literal 3 binary64))
x
(*.f64 x #s(literal 4 binary64))
#s(literal 4 binary64)
#s(literal 1 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) #s(literal 1 binary64))
#s(approx (+ (- (* (* x 3) x) (* x 4)) 1) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
#s(approx (- (* (* x 3) x) (* x 4)) (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))))
#s(approx (* (* x 3) x) (*.f64 (*.f64 x #s(literal 3 binary64)) x))
#s(approx (* x 3) (*.f64 x #s(literal 3 binary64)))
#s(approx x x)
#s(approx (* x 4) (*.f64 x #s(literal 4 binary64)))

eval1.0ms (0.1%)

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

Compiled 78 to 46 computations (41% saved)

prune24.0ms (1.7%)

Memory
-43.4MiB live, 2.0MiB allocated; 5ms collecting garbage
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New718
Fresh000
Picked011
Done000
Total729
Accuracy
99.8%
Counts
9 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
49.9%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Compiler

Compiled 23 to 22 computations (4.3% saved)

series1.0ms (0.1%)

Memory
1.3MiB live, 1.3MiB allocated; 0ms collecting garbage
Counts
2 → 7
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(literal 3 binary64)
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 3))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* -12 x))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* x (- (* 9 x) 12)))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* 9 (pow x 2))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- 9 (* 12 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))))
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@inf
((* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) 3)
0.0ms
x
@-inf
((* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) 3)
0.0ms
x
@0
((* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) 3)

rewrite246.0ms (16.9%)

Memory
17.3MiB live, 206.8MiB allocated; 45ms collecting garbage
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
044179
044173
1296153
21998153
Stop Event
iter-limit
unsound
node-limit
saturated
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 3))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* -12 x))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (+ 3 (* x (- (* 9 x) 12)))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* 9 (pow x 2))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- 9 (* 12 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (- (+ 9 (/ 3 (pow x 2))) (* 12 (/ 1 x))))))
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(hole binary64 (* (pow x 2) (+ 9 (* -1 (/ (- 12 (* 3 (/ 1 x))) x))))))
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
#s(literal 3 binary64)
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))

eval0.0ms (0%)

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

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0.1%)

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

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done011
Total022
Accuracy
99.8%
Counts
2 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
49.9%
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Compiler

Compiled 44 to 42 computations (4.5% saved)

regimes5.0ms (0.3%)

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

4 calls:

1.0ms
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
1.0ms
x
1.0ms
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
1.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
99.8%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
99.8%1(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
99.8%1(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
99.8%1x
Compiler

Compiled 28 to 27 computations (3.6% saved)

regimes4.0ms (0.3%)

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

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Outputs
#s(approx (* 3 (+ (- (* (* x 3) x) (* x 4)) 1)) #s(literal 3 binary64))
Calls

4 calls:

1.0ms
(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
1.0ms
x
1.0ms
(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
1.0ms
(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
49.9%1(-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64)))
49.9%1(+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))
49.9%1(*.f64 #s(literal 3 binary64) (+.f64 (-.f64 (*.f64 (*.f64 x #s(literal 3 binary64)) x) (*.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)))
49.9%1x
Compiler

Compiled 28 to 27 computations (3.6% saved)

derivations50.0ms (3.4%)

Memory
-15.7MiB live, 33.3MiB allocated; 13ms collecting garbage
Stop Event
done
Compiler

Compiled 21 to 20 computations (4.8% saved)

preprocess30.0ms (2.1%)

Memory
-8.4MiB live, 37.0MiB allocated; 6ms collecting garbage
Compiler

Compiled 32 to 30 computations (6.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...