Skip to content

ForwardDiff with Interval partials - #769

Open
timholy wants to merge 1 commit into
JuliaIntervals:masterfrom
timholy:teh/fd
Open

ForwardDiff with Interval partials#769
timholy wants to merge 1 commit into
JuliaIntervals:masterfrom
timholy:teh/fd

Conversation

@timholy

@timholy timholy commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

This change supports differentiation of functions with interval-valued partials, like

x, w = 2.0, interval(-0.5, 0.5)
ForwardDiff.derivative(t -> (x + t*w)^4, 0.0)

Previously, those failed due to a short-circuit in ForwardDiff, triggering

ERROR: InconclusiveBooleanOperation: The operation
`[0.0, 0.0]_com == [-0.5, 0.5]_com_NG` cannot be determined
unambiguously.

This short-circuits the short-circuit, by specializing Base.iszero on Interval-containing ForwardDiff.Dual and ForwardDiff.Partials. No behavior change in IntervalArithmetic itself is needed.

@codecov-commenter

codecov-commenter commented Jul 23, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 75.35%. Comparing base (63f84ee) to head (b2d8a2b).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
ext/IntervalArithmeticForwardDiffExt.jl 80.00% 1 Missing ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #769      +/-   ##
==========================================
- Coverage   75.48%   75.35%   -0.14%     
==========================================
  Files          32       32              
  Lines        3100     3112      +12     
==========================================
+ Hits         2340     2345       +5     
- Misses        760      767       +7     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@OlivierHnt

Copy link
Copy Markdown
Member

I am not sure in what context ForwardDiff.Dual and ForwardDiff.Partials show up. Ideally we probably want the dual and the number to have the same behavior.
Anyways, it's maybe unlikely that someone uses these types in a very different context so this PR can be a quick temporary "hot fix" and paired up with JuliaDiff/ForwardDiff.jl#667 so that _iszero (the helper function that checks exact thin equality with zero) lives inside ForwardDiff.

@Kolaru

Kolaru commented Aug 20, 2026

Copy link
Copy Markdown
Member

For the rest of the extension, the strategy has been to reimplement the short-circuiting behaviors, removing the short circuit altogether (that's why there is a version of ^ there).

This was a conscious choice: we unfortunately do not have a function testing if "this value can be discarded for the purpose of addition" (which is how ForwardDiff uses iszero and what the proposed _iszero means), so there is no way to have a guarantee that iszero is used only in this context.

Therefore, if it is a reasonable amount of work, I would keep de-short-circuiting ForwardDiff for now. Finding a more general solution would be great, but it probably requires a deep discussion with the ForwardDiff team.

Add power methods with decidable thin-zero checks for interval-valued
partials. Support real, interval, and exact exponents through four nested
Dual layers.

Assisted-by: Claude Fable 5 <noreply@anthropic.com>
@timholy

timholy commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

Sorry for the delay. The new version follows @Kolaru's recommended design.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmark Results (Julia v1)

Time benchmarks
master 483b23e... master / 483b23e...
BigFloat MPFI/basics/* 25.3 ± 3.5 μs 25.5 ± 3.7 μs 0.991 ± 0.2
BigFloat MPFI/basics/+ 12.5 ± 3.6 μs 12.5 ± 3.5 μs 1 ± 0.4
BigFloat MPFI/basics/- 18.7 ± 3.4 μs 17.4 ± 3.5 μs 1.07 ± 0.29
BigFloat MPFI/basics// 19.5 ± 3.7 μs 19.1 ± 3.6 μs 1.02 ± 0.27
BigFloat MPFI/basics/abs 10.3 ± 3.6 μs 10.3 ± 3.4 μs 1 ± 0.48
BigFloat MPFI/basics/acos 0.688 ± 0.0085 ms 0.677 ± 0.0093 ms 1.02 ± 0.019
BigFloat MPFI/basics/asin 0.662 ± 0.015 ms 0.678 ± 0.013 ms 0.976 ± 0.029
BigFloat MPFI/basics/atan 2.11 ± 0.0093 ms 2.1 ± 0.0087 ms 1.01 ± 0.0061
BigFloat MPFI/basics/cos 0.358 ± 0.01 ms 0.358 ± 0.0098 ms 1 ± 0.04
BigFloat MPFI/basics/cosh 0.43 ± 0.012 ms 0.431 ± 0.012 ms 1 ± 0.041
BigFloat MPFI/basics/exp 0.502 ± 0.01 ms 0.502 ± 0.011 ms 1 ± 0.03
BigFloat MPFI/basics/inv 18.9 ± 3.7 μs 18.9 ± 3.4 μs 0.999 ± 0.27
BigFloat MPFI/basics/log 0.469 ± 0.01 ms 0.47 ± 0.011 ms 0.999 ± 0.032
BigFloat MPFI/basics/sin 0.464 ± 0.012 ms 0.462 ± 0.011 ms 1 ± 0.034
BigFloat MPFI/basics/sinh 0.572 ± 0.01 ms 0.572 ± 0.01 ms 0.999 ± 0.026
BigFloat MPFI/basics/sqrt 27.1 ± 7.1 μs 27.3 ± 7.2 μs 0.993 ± 0.37
BigFloat MPFI/basics/tan 0.383 ± 0.01 ms 0.384 ± 0.01 ms 0.995 ± 0.037
BigFloat MPFI/basics/tanh 0.585 ± 0.01 ms 0.586 ± 0.01 ms 0.999 ± 0.025
BigFloat bareinterval/basics/* 0.0396 ± 0.0025 ms 0.0414 ± 0.0024 ms 0.956 ± 0.083
BigFloat bareinterval/basics/+ 22.3 ± 3.4 μs 22.1 ± 3.3 μs 1.01 ± 0.21
BigFloat bareinterval/basics/- 22.3 ± 3.3 μs 22.2 ± 3.4 μs 1 ± 0.22
BigFloat bareinterval/basics// 19.4 ± 5.1 μs 20.7 ± 5.2 μs 0.938 ± 0.34
BigFloat bareinterval/basics/abs 15.1 ± 3.2 μs 15.6 ± 3.3 μs 0.969 ± 0.29
BigFloat bareinterval/basics/acos 0.74 ± 0.024 ms 0.714 ± 0.023 ms 1.04 ± 0.047
BigFloat bareinterval/basics/asin 0.704 ± 0.022 ms 0.698 ± 0.024 ms 1.01 ± 0.046
BigFloat bareinterval/basics/atan 2.13 ± 0.0085 ms 2.13 ± 0.011 ms 1 ± 0.0063
BigFloat bareinterval/basics/cos 0.345 ± 0.087 ms 0.344 ± 0.087 ms 1 ± 0.36
BigFloat bareinterval/basics/cosh 0.474 ± 0.024 ms 0.476 ± 0.024 ms 0.996 ± 0.071
BigFloat bareinterval/basics/exp 0.512 ± 0.011 ms 0.513 ± 0.011 ms 0.998 ± 0.029
BigFloat bareinterval/basics/inv 26.6 ± 3.5 μs 26.5 ± 3.4 μs 1 ± 0.18
BigFloat bareinterval/basics/log 0.502 ± 0.012 ms 0.519 ± 0.014 ms 0.967 ± 0.036
BigFloat bareinterval/basics/sin 0.546 ± 0.092 ms 0.52 ± 0.093 ms 1.05 ± 0.26
BigFloat bareinterval/basics/sinh 0.583 ± 0.011 ms 0.584 ± 0.011 ms 0.999 ± 0.027
BigFloat bareinterval/basics/sqrt 31.6 ± 2.2 μs 0.0356 ± 0.003 ms 0.886 ± 0.097
BigFloat bareinterval/basics/tan 0.327 ± 0.057 ms 0.328 ± 0.057 ms 0.998 ± 0.25
BigFloat bareinterval/basics/tanh 0.596 ± 0.011 ms 0.596 ± 0.012 ms 0.999 ± 0.027
BigFloat interval/basics/* 0.043 ± 0.0019 ms 0.0445 ± 0.0021 ms 0.968 ± 0.062
BigFloat interval/basics/+ 24.5 ± 8.5 μs 26.2 ± 8.5 μs 0.936 ± 0.45
BigFloat interval/basics/- 24.2 ± 8.3 μs 25.5 ± 8.7 μs 0.95 ± 0.46
BigFloat interval/basics// 24.1 ± 5.1 μs 25.2 ± 5.2 μs 0.956 ± 0.28
BigFloat interval/basics/abs 14.1 ± 7.6 μs 14.6 ± 7.8 μs 0.968 ± 0.74
BigFloat interval/basics/acos 0.705 ± 0.043 ms 0.708 ± 0.048 ms 0.996 ± 0.091
BigFloat interval/basics/asin 0.688 ± 0.034 ms 0.695 ± 0.039 ms 0.99 ± 0.074
BigFloat interval/basics/atan 2.13 ± 0.0078 ms 2.13 ± 0.0085 ms 1 ± 0.0054
BigFloat interval/basics/cos 0.341 ± 0.017 ms 0.339 ± 0.014 ms 1 ± 0.065
BigFloat interval/basics/cosh 0.468 ± 0.023 ms 0.468 ± 0.023 ms 0.999 ± 0.069
BigFloat interval/basics/exp 0.52 ± 0.0099 ms 0.522 ± 0.0099 ms 0.998 ± 0.027
BigFloat interval/basics/inv 31 ± 7.4 μs 31.1 ± 5.1 μs 0.997 ± 0.29
BigFloat interval/basics/log 0.502 ± 0.038 ms 0.51 ± 0.044 ms 0.983 ± 0.11
BigFloat interval/basics/sin 0.487 ± 0.024 ms 0.488 ± 0.019 ms 0.998 ± 0.063
BigFloat interval/basics/sinh 0.591 ± 0.011 ms 0.59 ± 0.011 ms 1 ± 0.026
BigFloat interval/basics/sqrt 0.0403 ± 0.029 ms 0.0423 ± 0.031 ms 0.952 ± 0.98
BigFloat interval/basics/tan 0.281 ± 0.016 ms 0.284 ± 0.015 ms 0.99 ± 0.077
BigFloat interval/basics/tanh 0.604 ± 0.011 ms 0.604 ± 0.01 ms 1 ± 0.025
bareinterval/basics/* 1.76 ± 0.05 μs 1.97 ± 0.049 μs 0.893 ± 0.034
bareinterval/basics/+ 0.521 ± 0.03 μs 0.521 ± 0.03 μs 1 ± 0.081
bareinterval/basics/- 0.511 ± 0.02 μs 0.551 ± 0.011 μs 0.927 ± 0.041
bareinterval/basics// 1.21 ± 0.031 μs 1.19 ± 0.039 μs 1.02 ± 0.042
bareinterval/basics/abs 0.2 ± 0.031 μs 0.211 ± 0.059 μs 0.948 ± 0.3
bareinterval/basics/acos 2.73 ± 0.031 μs 2.89 ± 0.011 μs 0.945 ± 0.011
bareinterval/basics/asin 3 ± 0.02 μs 3.18 ± 0.02 μs 0.943 ± 0.0087
bareinterval/basics/atan 13 ± 0.17 μs 13 ± 0.2 μs 0.998 ± 0.02
bareinterval/basics/cos 0.0501 ± 0.00082 ms 0.0518 ± 0.0019 ms 0.967 ± 0.039
bareinterval/basics/cosh 7.18 ± 0.031 μs 7.24 ± 0.03 μs 0.992 ± 0.0059
bareinterval/basics/exp 4.26 ± 0.05 μs 4.24 ± 0.041 μs 1 ± 0.015
bareinterval/basics/inv 1.02 ± 0.02 μs 1.05 ± 0.02 μs 0.971 ± 0.026
bareinterval/basics/log 1.93 ± 0.02 μs 6.45 ± 0.03 μs 0.3 ± 0.0034
bareinterval/basics/sin 0.0492 ± 0.018 ms 0.0507 ± 0.019 ms 0.97 ± 0.51
bareinterval/basics/sinh 10 ± 0.059 μs 9.98 ± 0.07 μs 1.01 ± 0.0092
bareinterval/basics/sqrt 1.12 ± 0.03 μs 1.17 ± 0.03 μs 0.957 ± 0.035
bareinterval/basics/tan 28.7 ± 0.26 μs 29.3 ± 0.27 μs 0.98 ± 0.013
bareinterval/basics/tanh 0.295 ± 0.0092 ms 0.297 ± 0.009 ms 0.992 ± 0.043
interval/basics/* 2.86 ± 0.07 μs 3.1 ± 0.09 μs 0.92 ± 0.035
interval/basics/+ 1.34 ± 0.04 μs 1.52 ± 0.049 μs 0.881 ± 0.039
interval/basics/- 1.37 ± 0.05 μs 1.53 ± 0.04 μs 0.895 ± 0.04
interval/basics// 1.9 ± 0.06 μs 2.08 ± 0.07 μs 0.913 ± 0.042
interval/basics/abs 0.361 ± 0.061 μs 0.391 ± 0.04 μs 0.923 ± 0.18
interval/basics/acos 3.28 ± 0.061 μs 4.26 ± 0.04 μs 0.769 ± 0.016
interval/basics/asin 3.57 ± 0.04 μs 4.4 ± 0.06 μs 0.811 ± 0.014
interval/basics/atan 13.1 ± 0.26 μs 13.6 ± 0.23 μs 0.965 ± 0.025
interval/basics/cos 0.0679 ± 0.0034 ms 0.0695 ± 0.0035 ms 0.977 ± 0.069
interval/basics/cosh 8.98 ± 0.08 μs 9.05 ± 0.079 μs 0.992 ± 0.012
interval/basics/exp 4.89 ± 0.08 μs 6.26 ± 0.07 μs 0.781 ± 0.015
interval/basics/inv 1.53 ± 0.069 μs 1.62 ± 0.05 μs 0.945 ± 0.052
interval/basics/log 2.64 ± 0.04 μs 3.73 ± 0.08 μs 0.707 ± 0.019
interval/basics/sin 0.0672 ± 0.0036 ms 0.0681 ± 0.0035 ms 0.987 ± 0.073
interval/basics/sinh 10.7 ± 0.1 μs 11.6 ± 0.07 μs 0.921 ± 0.01
interval/basics/sqrt 1.57 ± 0.04 μs 1.66 ± 0.031 μs 0.946 ± 0.03
interval/basics/tan 0.0389 ± 0.0019 ms 0.0393 ± 0.0018 ms 0.989 ± 0.066
interval/basics/tanh 0.309 ± 0.0087 ms 0.309 ± 0.0098 ms 1 ± 0.042
time_to_load 0.116 ± 0.00052 s 0.112 ± 0.0018 s 1.04 ± 0.017
Memory benchmarks
master 483b23e... master / 483b23e...
BigFloat MPFI/basics/* 0.424 k allocs: 21.3 kB 0.424 k allocs: 21.3 kB 1
BigFloat MPFI/basics/+ 0.302 k allocs: 16.5 kB 0.302 k allocs: 16.5 kB 1
BigFloat MPFI/basics/- 0.402 k allocs: 20.4 kB 0.402 k allocs: 20.4 kB 1
BigFloat MPFI/basics// 0.345 k allocs: 18.2 kB 0.345 k allocs: 18.2 kB 1
BigFloat MPFI/basics/abs 0.324 k allocs: 17.4 kB 0.324 k allocs: 17.4 kB 1
BigFloat MPFI/basics/acos 1.24 k allocs: 0.0445 MB 1.24 k allocs: 0.0445 MB 1
BigFloat MPFI/basics/asin 1.08 k allocs: 0.0355 MB 1.08 k allocs: 0.0355 MB 1
BigFloat MPFI/basics/atan 2.14 k allocs: 0.0543 MB 2.14 k allocs: 0.0543 MB 1
BigFloat MPFI/basics/cos 2.9 k allocs: 0.0975 MB 2.9 k allocs: 0.0975 MB 1
BigFloat MPFI/basics/cosh 0.781 k allocs: 0.0322 MB 0.781 k allocs: 0.0322 MB 1
BigFloat MPFI/basics/exp 0.902 k allocs: 0.036 MB 0.902 k allocs: 0.036 MB 1
BigFloat MPFI/basics/inv 0.351 k allocs: 18.4 kB 0.351 k allocs: 18.4 kB 1
BigFloat MPFI/basics/log 0.407 k allocs: 20.6 kB 0.407 k allocs: 20.6 kB 1
BigFloat MPFI/basics/sin 3.18 k allocs: 0.106 MB 3.18 k allocs: 0.106 MB 1
BigFloat MPFI/basics/sinh 0.915 k allocs: 0.0369 MB 0.915 k allocs: 0.0369 MB 1
BigFloat MPFI/basics/sqrt 0.302 k allocs: 16.5 kB 0.302 k allocs: 16.5 kB 1
BigFloat MPFI/basics/tan 2.8 k allocs: 0.098 MB 2.8 k allocs: 0.098 MB 1
BigFloat MPFI/basics/tanh 0.908 k allocs: 0.0362 MB 0.908 k allocs: 0.0362 MB 1
BigFloat bareinterval/basics/* 0.262 k allocs: 26 kB 0.262 k allocs: 26 kB 1
BigFloat bareinterval/basics/+ 0.202 k allocs: 20.4 kB 0.202 k allocs: 20.4 kB 1
BigFloat bareinterval/basics/- 0.202 k allocs: 20.4 kB 0.202 k allocs: 20.4 kB 1
BigFloat bareinterval/basics// 0.1 k allocs: 10.8 kB 0.1 k allocs: 10.8 kB 1
BigFloat bareinterval/basics/abs 0.199 k allocs: 20.1 kB 0.199 k allocs: 20.1 kB 1
BigFloat bareinterval/basics/acos 1.27 k allocs: 0.0692 MB 1.33 k allocs: 0.0741 MB 0.933
BigFloat bareinterval/basics/asin 1.17 k allocs: 0.0597 MB 1.23 k allocs: 0.0647 MB 0.924
BigFloat bareinterval/basics/atan 2.04 k allocs: 0.08 MB 2.04 k allocs: 0.08 MB 1
BigFloat bareinterval/basics/cos 2.45 k allocs: 0.185 MB 2.45 k allocs: 0.185 MB 1
BigFloat bareinterval/basics/cosh 1.01 k allocs: 0.0671 MB 1.01 k allocs: 0.0671 MB 1
BigFloat bareinterval/basics/exp 0.802 k allocs: 0.0397 MB 0.802 k allocs: 0.0397 MB 1
BigFloat bareinterval/basics/inv 0.198 k allocs: 20 kB 0.198 k allocs: 20 kB 1
BigFloat bareinterval/basics/log 0.616 k allocs: 0.0522 MB 0.804 k allocs: 0.0694 MB 0.752
BigFloat bareinterval/basics/sin 2.9 k allocs: 0.197 MB 2.9 k allocs: 0.197 MB 1
BigFloat bareinterval/basics/sinh 0.815 k allocs: 0.0407 MB 0.815 k allocs: 0.0407 MB 1
BigFloat bareinterval/basics/sqrt 0.26 k allocs: 25.8 kB 0.304 k allocs: 29.9 kB 0.862
BigFloat bareinterval/basics/tan 1.67 k allocs: 0.124 MB 1.67 k allocs: 0.124 MB 1
BigFloat bareinterval/basics/tanh 0.808 k allocs: 0.0399 MB 0.808 k allocs: 0.0399 MB 1
BigFloat interval/basics/* 0.263 k allocs: 26.8 kB 0.263 k allocs: 26.8 kB 1
BigFloat interval/basics/+ 0.203 k allocs: 21.2 kB 0.203 k allocs: 21.2 kB 1
BigFloat interval/basics/- 0.203 k allocs: 21.2 kB 0.203 k allocs: 21.2 kB 1
BigFloat interval/basics// 0.101 k allocs: 11.6 kB 0.101 k allocs: 11.6 kB 1
BigFloat interval/basics/abs 0.2 k allocs: 20.9 kB 0.2 k allocs: 20.9 kB 1
BigFloat interval/basics/acos 1.71 k allocs: 0.11 MB 1.77 k allocs: 0.115 MB 0.956
BigFloat interval/basics/asin 1.47 k allocs: 0.0881 MB 1.53 k allocs: 0.0931 MB 0.946
BigFloat interval/basics/atan 2.04 k allocs: 0.0813 MB 2.04 k allocs: 0.0814 MB 0.999
BigFloat interval/basics/cos 2.45 k allocs: 0.186 MB 2.45 k allocs: 0.186 MB 1
BigFloat interval/basics/cosh 1.01 k allocs: 0.068 MB 1.01 k allocs: 0.0681 MB 0.998
BigFloat interval/basics/exp 0.803 k allocs: 0.0407 MB 0.803 k allocs: 0.0408 MB 0.999
BigFloat interval/basics/inv 0.199 k allocs: 20.8 kB 0.199 k allocs: 20.8 kB 1
BigFloat interval/basics/log 0.917 k allocs: 0.0805 MB 1.1 k allocs: 0.0977 MB 0.824
BigFloat interval/basics/sin 2.9 k allocs: 0.198 MB 2.9 k allocs: 0.198 MB 1
BigFloat interval/basics/sinh 0.816 k allocs: 0.0418 MB 0.816 k allocs: 0.0419 MB 0.999
BigFloat interval/basics/sqrt 0.714 k allocs: 0.0675 MB 0.758 k allocs: 0.0715 MB 0.944
BigFloat interval/basics/tan 1.67 k allocs: 0.125 MB 1.67 k allocs: 0.125 MB 1
BigFloat interval/basics/tanh 0.809 k allocs: 0.0411 MB 0.809 k allocs: 0.0411 MB 0.999
bareinterval/basics/* 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/+ 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/- 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics// 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/abs 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/acos 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/asin 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/atan 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/cos 0.56 k allocs: 0.0423 MB 0.56 k allocs: 0.0423 MB 1
bareinterval/basics/cosh 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/exp 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/inv 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/log 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/sin 0.56 k allocs: 0.0423 MB 0.56 k allocs: 0.0423 MB 1
bareinterval/basics/sinh 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/sqrt 2 allocs: 1.62 kB 2 allocs: 1.62 kB 1
bareinterval/basics/tan 0.29 k allocs: 23 kB 0.29 k allocs: 23 kB 1
bareinterval/basics/tanh 1.03 k allocs: 0.0359 MB 1.03 k allocs: 0.0359 MB 1
interval/basics/* 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/+ 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/- 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics// 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/abs 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/acos 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/asin 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/atan 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/cos 0.561 k allocs: 0.0431 MB 0.561 k allocs: 0.0431 MB 1
interval/basics/cosh 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/exp 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/inv 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/log 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/sin 0.561 k allocs: 0.0431 MB 0.561 k allocs: 0.0431 MB 1
interval/basics/sinh 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/sqrt 3 allocs: 2.45 kB 3 allocs: 2.45 kB 1
interval/basics/tan 0.291 k allocs: 24.4 kB 0.291 k allocs: 24.4 kB 1
interval/basics/tanh 1.03 k allocs: 0.0367 MB 1.03 k allocs: 0.0367 MB 1
time_to_load 0.149 k allocs: 11.2 kB 0.154 k allocs: 11.4 kB 0.979

@OlivierHnt
OlivierHnt requested a review from Kolaru August 30, 2026 05:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants